Escolar Documentos
Profissional Documentos
Cultura Documentos
Ctreesrv PDF
Ctreesrv PDF
Reviso: 24/05/2005
Abrangncia
A aplicao de uma chave de liberao de licenas de uso no Ctree Server deve ser feita
com o servio / aplicao CtreeServer parado. No possvel atualizar as licenas com o
Ctree Server em execuo
Para a aplicao das licenas , utilizamos a aplicao fcactvat, disponvel no path onde
encontra-se o executvel do Ctree Server. Ao executar o programa, solicitado ao usurio a
chave de liberao da Faircom (r) , e os 6 ltimos dgitos do nmero de srie
disponibilizado na licena
Importante
Por exemplo, ao instalar uma licena para 150 usurios, insira no arquivo ctsrvr.cfg a
linha abaixo :
USERS 150
Abrangncia
Quando utilizamos o Ctree Server como Base de Dados, e/ou para gerenciamento das
tabelas ISAM ( SXS ), existe a possibilidade de configurarmos uma rotina de backup
automtica, agendada no prprio servidor do Ctree, onde gerado um arquivo denominado
'Dynamic Dump', contendo o espelho das tabelas especificadas no momento da execuo
do mesmo; sem ter a necessidade de parar o Ctree Server.
O arquivo que contm o script para a gerao do dump dinmico consiste em um arquivo
ASCII / texto. Veja abaixo um exemplo de um script de dump dinmico completo, para um
ambiente ERP Microsiga, em ambiente Linux, onde o Ctree Server utilizado para
gerenciamento dos SXS
!TIME 01:00:00
!Dump /microsiga/ctreebkp/msdump.bak
!Delay 60
!FREQ 24
!PROTECT
!FILES
/microsiga/ap_data/sigaadv/sigamat.emp
/microsiga/ap_data/sigaadv/siga*.hl?
/microsiga/ap_data/sigaadv/sigapss.spf
/microsiga/ap_data/sigaadv/six*.dtc
/microsiga/ap_data/sigaadv/sx*.dtc
/microsiga/ap_data/profile/profile.usr
!END
Com estas configuraes, o dump dinmico est programado para execuo 01:00 , em
intervalos de 24 horas( !FREQ 24 ) , aguardando 60 segundos para encerramento de
transaes pendentes ( !Delay 60 ) ,e arquivando os arquivos ISAM ( Dicionrios SXS ) do
Erp, o cadastro de empresas, os arquivos
SuperFile de Help e senhas, o profile dos usurios do ERP, no arquivo
/microsiga/ctreebkp/msdump.bak .
a) Para habilitar a execuo agendada do dump dinmico, primeiro crie o arquivo contendo
o script de dump dinmico, e salve-o na pasta onde est o Servidor 'Ctree Server'. Por
exemplo, salve-o com o nome de dynamic.dmp
DUMP dynamic.dmp
Devemos arquivar, junto do dump, o script de dump utilizado para a montagem do mesmo
(no exemplo, dynamic.dmp), pois ele ser utilizado tambm na operao de restaurao dos
dados.
Abrangncia
Caso um CTreeServer, liberado apenas para uso nos dicionrios, venha a ser utilizado
como Banco de Dados principal da aplicao, a aplicao ERP abortada, com a
ocorrncia de erro fatal 'CTreeServer license limited to ISAM / SXS files only. Serial
Number [nnnnnnnn]' .
Abrangncia
A funo IndexKey() para chaves formadas por apenas um campo do tipo data retorna o
nome do campo com DTOS. O mesmo acontece para ndices de um campo tipo data que
foram criados sem o DTOS.
Ex: DTOS(E5_DATA)
No Ctree, no h informao se o ndice foi criado com DTOS ou no. Optou-se por retornar
sempre com DTOS pois este o padro de criao deste tipo de ndice.
Abrangncia
COMPATIBILITY LOG_WRITETHRU
Windows SUPPRESS_LOG_SYNC YES
COMPATIBILITY SYNC_LOG
Linux SUPPRESS_LOG_SYNC YES
No ambiente Linux, o CtreeServer Verso 8.xx aproximandamente 10% mais rpido que
o Ctreeserver Verso 7.xx em operaes de leitura/consulta a dados. Quando utilizadas as
configuraes acima no CtreeServer V8, as operaes de Insert e Update de dados so
executadas aproximadamente 6x ( seis vezes ) mais rpido.
Abrangncia
Essa verso distribuda em nosso produto no pode ser utilizada para manipulao do banco
de dados principal. Nesse caso, a verso deve ser adquirida como anteriormente. Para
instalaes com mais de 150 usurios, embora seja possvel a utilizao do cTree Server
Standard, recomendamos que seja ofertado o cTree Server Enterprise que possui
performance superior.
Deve ser aberto chamado no ACR (Help-Desk) na rea de Tecnologia Protheus com as
seguintes informaes:
Abrangncia
Quando utilizado um Ctree Server em um ambiente com mais de um servidor protheus, por
exemplo, um ambiente com Load Balance, devemos adicionar a chave CtreeRootPath, na
configurao do(s) ambientes(s) que utilizam o CtreeServer. Atravs desta configurao,
devemos especificar qual o caminho fsico correspondente ao compartilhamento acessado
pelos servidores de aplicao Protheus (RootPath) dos ambientes que utilizam Ctree Server.
[Environment]
RootPath=\\SERVER_A\Ap_data\
CTREERootPath=D:\Ap_data\
Utilizada desta maneira, esta configurao faz com que o Protheus Server faa as
requisies de abertura, leitura e gravao de dados ao CtreeServer, sempre informando ao
CtreeServer um caminho de acesso Local da tabela no servidor onde o CtreeServer est
instalado, e no um caminho de rede. Em consequncia, h um menor trfego de rede e
melhora na performance, contribuindo para uma maior estabilidade do sistema.
Abrangncia
A maioria dos cdigos de erro abaixo so usados apenas internamente pelo departamento
de tecnologia e portanto, no tero significado para outros departamentos. Nestes casos,
entre em contato com o departamento de Tecnologia. De qualquer maneira, todos os
cdigos esto listados abaixo. Alm disso, muitos desses 'cdigos de erro' no so
realmente erros e sim, indicadores de uma operao sem sucesso.
Valor Descrio
0 Successful operation.
2 Key value already exists in index.
3 Could not delete target key value since recbyt does not match associated data record
position in index.
4 Could not find target key value in index. No deletion performed. May indicate
improper use of buffers during ReWriteRecord or ReWriteVRecord.
5 Cannot call DeleteKeyBlind with an index that supports duplicate keys.
6 ctree() function jump table error.
7 Terminate user.
-8 sysiocod value when FNOP_ERR caused by conflicting open requests (Server).
-9 sysiocod value when FNOP_ERR, DCRAT_ERR, or KCRAT_ERR caused by device
access error
10 InitCTree parameters require too much space.
11 Bad InitCTree parameter(s): either bufs < 3, idxs <0, sect <1, or dats < 0.
12 Could not open file. Either file does not exist, filnam points to incorrect file name, or
file is locked by another process. Check sysiocod for the system-level error.For the
client/server model only, if a file open returns FNOP_ERR, check sysiocod. If sysiocod =
FCNF_COD, (-8), the file exists but there is file mode conflict preventing the file from
being opened. For example, requesting an EXCLUSIVE open when the file is already open
SHARED.
13 OpenIFile cannot determine type of file. Version 3.3 files must be rebuilt before using
OpenIFile.
14 'File appears corrupt at open. This occurs if a file is updated; and the disk protocol is
set at NOTFORCE; and CloseIFile is not executed. Rebuild file.'
15 Data file has been compacted, but not rebuilt. Rebuild data file, but do not force
rebuild.
16 Could not create index file. Either no space is available on disk or filnam points to
improper name.
17 Could not create data file. Either no space is available on disk or filnam points to
Abrangncia
Quando iniciamos a aplicao Protheus, o primeiro programa Advpl que estabelecer uma
conexo com o CtreeServer ir verificar se a carga foi realizada com sucesso. Se houve
alguma falha na carga do recurso, mosrtada a seguinte mensagem no console do servidor
Protheus :
Em ambiente Linux, esta ocorrncia de falha de resoluo de expresso de Filtro pode ter
outra causa, tambm relacionada falha na carga do CallBack. Mesmo setando a varivel
de ambiente LD_LIBRARY_PATH, deve-se tomar o cuidado de no instalar o CtreeServer
em um Path no Linux, que contenha qualquer letra maiscula no path de acesso o
CtreeServer. O Protheus possui esta caracterstica operacional, e o CallBack tambm possui
esta caracterstica.
Caso o Ctreeserver seja instalado em um path que contenha alguma letra maiscula no
caminho, o callback pe carregado com sucesso, porm no momento de sua utilizao no
CtreeServer, ocorre um erro de inicializao do CallBack. No console do CtreeServer,
exibida uma mensagem similar abaixo exemplificada :
jA no encontrado
DU6 W6 8UA\lD':A
Ctree CallBack Error - Session [envctree710] not found in ap.ini. Verify the 'Environment in the Server' in
file ./lib/config.cpp at line 58
Caso o Ctreeserver seja instalado em um path que contenha alguma letra maiscula no
caminho, o callback pe carregado com sucesso, porm no momento de sua utilizao no
CtreeServer, ocorre um erro de inicializao do CallBack. No console do CtreeServer,
exibida uma men
Abrangncia
O Servidor CTree pode ser utilizado para manipulao do banco de dados principal
e/ou arquivos locais.
Para manipulao de tabelas CTree o driver utilizado 'CTREECDX';
Para programar algo especfico para o ambiente de Banco de Dados CTREE (
RpoDb=CTREE ) , utiliza-se o teste '#ifdef CTREE';
A extenso padro das tabelas de dados CTree '.dtc'. Quando o LocalFile estiver
utilizando o banco CTree os SXs continuam tendo como padro a extenso '.dbf',
mas as tabelas criadas (SX1990.DBF, SX2990.DBF, etc) so CTree. Portanto
recomenda-se que se configure outra extenso padro para arquivos locais do tipo
CTree atravs da chave 'LocalDbExtension', que deve ser colocada junto das
configuraes do ambiente ( Environment ) no arquivo de configurao do
servidor Protheus, com o contedo '.dtc';
As manipulaes e visualizaes de dados de tabelas CTree devem ser feitas atravs
do 'APSdu', pois as antigas ferramentas so incompatveis com tabelas neste
formato.
O CTree Local no precisa ser instalado, pois sua biblioteca gerada e carregada
junto com o Protheus;
Os campos do tipo memo devem ser os ltimos da tabela. Por isso na hora da sua
criao o Protheus automaticamente desloca-os para o final e mostra uma
mensagem de aviso;
As tabelas geradas pelo Ctree so totalmente compatveis entre as plataformas
Windows e Linux, pode-se inclusive copiar uma tabela gerada no Linux e abri-la no
Windows e vice-e-versa.
Abrangncia
VERSO WINDOWS
\ctreeServers\ctreeISAMServer\ctsrvr.exe
Para parar:
\ctreeTools\ctreeAdmin\Client\ctstop -auto
ou
Na tela do Ctree Server, escolha Control\Shutdown. Entre com usurio e senha (ADMIN,
ADMIN).
\ctreeServers\ctreeISAMServer\fcactvat.exe
\ctreeServers\ctreeISAMServer\ctntinst.exe -install
VERSO LINUX
export LD_LIBRARY_PATH=/ctreeserver/server/
ulimit -n 65535
./server/ctsrvr
Para parar:
./client/ctstop -auto
./server/fcactvat
CONFIGURAO DO PROTHEUS
[GENERAL]
CtreeMode=Server
[CtreeServer]
CTUSERID=ADMIN
CTUSERPASS=ADMIN
CTSERVERNAME=FAIRCOMS@ip_do_servidor
Abrangncia
Foi implementada uma funo de limpeza dos diretrios 'ctreeint' que esto abaixo do
diretrio das tabelas do tipo Ctree, pois os mesmos estavam apresentando um grande
crescimento no nmero de arquivos. Sempre que o primeiro usurio se conectar ser
disparado um 'job' que ir percorrer todos os diretrios abaixo do 'root' e apagar os arquivos
desnecessrios. Esta operao pode levar alguns segundos dependendo da quantidade de
arquivos e/ou diretrios, especialmente na primeira execuo, pois a partir de ento, esses
diretrios no apresentaro o mesmo crescimento.
Dica: Para que esses arquivos sejam apagados junto com a tabela do tipo Ctree que os
utiliza, deve-se utilizar a funo ' MSErase' para apag-la.
Abrangncia
Uma tabela criada atravs do Rdd CTREE, possui caractersticas especiais quanto a sua
localizao ( path ) e quanto a manuteno de seus ndices. Devemos estar atentos a estas
caractersticas ao configurar ambientes e realizar manuteno em tabelas CTREE. As
principais caractersticas esto enumeradas abaixo :
Mesmo que uma tabela Ctree seja criada sem nenhum ndice permanente ( .CDX ),
toda tabela Ctree possui um ndice interno, criado para ordenar a tanela por nmero
de registro fsico (ordem do recno). Este ndice criado em outro arquivo, com
extenso '.int'. Uma pasta ('ctreeint') criada logo abaixo da pasta onde est a
tabela. Nesta pasta sero armazenados todos os ndices internos dos arquivos Ctree
daquele diretrio. Este ndice interno, e a pasta ctreeint, so criados
automaticamente pelo Protheus Server, no momento de criao da tabela, e caso no
existam, so re-criados automaticamente pelo Protheus no momento da abertura da
tabela.
Os arquivos de ndices permanentes so criados fora do arquivo da tabela com
extenso padro como nos outros RDDs ('.CDX'), mas suas informaes so
armazenadas no arquivo da tabela ('.dtc'). Portanto, para se criar ou excluir ndices
permanentes a tabela deve estar aberta em modo exclusivo. Na hora da abertura da
tabela, todos os arquivos de ndices permanentes relacionados em sua estrutura so
abertos tambm, por isso no se pode deletar o arquivo de ndice permanente com a
respectiva tabela aberta. Caso no exista um ou mais arquivos de ndices da tabela
na hora de sua abertura, o Protheus ir recri-los automaticamente de forma
semelhante ao ndice interno. O diretrio do arquivo de ndice tambm
armazenado na estrutura da tabela, mas quando a tabela aberta e constatado que
a tabela est em outro diretrio o Protheus automaticamente atualiza esta
informao. Para se deletar os ndices de uma tabela Ctree pode-se utilizar a funo
CTREEDELIDXS ou utilizar a opo 'Index/erase all' no APSdu. Portanto
aconselha-se utilizar o ndice do tipo permanente somente se o mesmo for utilizado
posteriormente (outras aberturas da tabela) caso contrrio, deve-se utilizar os
ndices temporrios;
O ndice temporrio criado dentro de um subdiretrio com o nome do arquivo
especificado na hora de sua criao, por exemplo 'ind1.idx'. Este tipo de ndice no
possui definio armazenada no arquivo da tabela, por ser temporrio.
Importante :
Abrangncia
Isto causa transtornos de acesso tabela, pois caso a tabela esteja atualmente em uso por
outro servidor, no possvel realizar o rebuild da mesma. Para este tipo de situao, foi
criada a configurao CTREEROOTPATH, explicada em tpico especfico na
documentao do DEM.