Queda do c-tree Server
Este documento contém informações sobre como identificar uma situação de queda do serviço/aplicação c-tree Server e as causas prováveis deste tipo de ocorrência.
Inicialmente, vamos conceituar o que se entende por "queda" do serviço e/ou aplicação: Quando uma aplicação em execução, tanto em modo "Serviço" do Windows, ou modo "daemon" em Linux, bem como em modo "console", simplesmente encerra a sua execução e sai da memória, sem receber uma instrução ou comando explícito para tal, entende-se que o serviço "caiu". Este comportamento também é conhecido como "abend" (redução de abnormal end).
Um comportamento desta natureza caracteriza uma ocorrência crítica, que pode estar relacionada a alguma condição de indisponibilidade ou mal-funcionamento do hardware, ou uma ocorrência crítica de sistema operacional, ou ainda o próprio serviço/aplicação encerrar por si mesmo a execução após detectar uma situação potencialmente perigosa, que represente um risco à integridade das informações processadas e resultado dos processos em andamento, como por exemplo uma falha de acesso/alocação de memória e/ou falha de acesso a disco.
Proteções e segurança do c-tree Server
A aplicação c-tree Server é um gerenciador de Banco de Dados, que preza pela segurança e integridade das informações registradas e recuperadas através dele. Para tal, a aplicação utiliza de caches e controles em memória, operações de I/O em disco nos arquivos/tabelas em uso, e ainda um registro de operações internas em arquivos de uso exclusivo do c-tree Server, com extensão ".FCS". Se uma operação de gravação na memória ou em um arquivo FCS for solicitada ao sistema operacional, e a operação não ser realizada com sucesso (falhar e/ou retornar condição de erro), o c-tree Server termina sua execução imediatamente, sob pena de haver perda de dados caso a aplicação/serviço continue em operação.
Se isto porventura acontecer, o c-tree Server vai tentar registrar as condições que levaram o serviço a ser finalizado desta forma, gravando uma ocorrência e os detalhes internos cabíveis no arquivo "CTSTATUS.FCS", que registra o log de atividades do c-tree Server, em formato texto /ASCII. Logo, o primeiro lugar onde devemos procurar por informações quando identificada uma queda do serviço do c-tree, é o arquivo CTSTATUS.FCS, abrindo o mesmo com um editor de textos (notepad e/ou wordpad em Windows, vi para Linux, por exemplo).
A ocorrência de queda do serviço do c-tree Server mais comum, é a finalização por falha de gravação em um arquivo de log (FCS) do próprio c-tree Server. Neste caso, é registrado no log CTSTATUS.FCS uma ocorrência como a exemplificada abaixo, no final do arquivo de log:
Tue Apr 27 01:10:59 2010 - User# 00155 WRITE_ERR: L0002411.FCS at 0:15d4000x sysiocod=33 bufsiz=8192 bytes written=0[0] ioLoc=0: 37 Tue Apr 27 01:10:59 2010- User# 00155 ctwrtlog: sysiocod: 33Tue Apr 27 01:10:59 2010- User# 00155 ctwrtlog: error: 37Tue Apr 27 01:11:15 2010- User# 00005 CHKPNT ctwrtlog error: 541Tue Apr 27 01:11:15 2010- User# 00005 CHKPNT error on exit: 541Tue Apr 27 01:11:15 2010- User# 00005 Checkpoint failure: 541Tue Apr 27 01:11:16 2010 - User# 00005 Dumped stack for server process 27776, log=1, loc=37, rc=0 Tue Apr 27 01:11:16 2010- User# 00005 O5 M0 L37 F541 P0x (recur #1) (uerr_cod=541)
A primeira linha destacada, em negrito, indica o tipo da operação de falha (WRITE_ERR), o arquivo envolvido (L0002411.FCS), e os códigos de erro de sistema relacionados (sysiocod e ioLoc). As demais linhas abaixo indicam detalhes adicionais, pertinentes às rotinas internas do c-tree.
Entre as possíveis causas para uma ocorrência desta natureza, as mais comuns são :
- Falta de espaço em disco.
Solução: Verifique quanto têm de espaço livre na unidade de disco onde é executado o c-tree Server.
- Anti-virus OU programa de Cópia de arquivos “a quente” instalado no equipamento, realizando uma operação de leitura em um bloco de dados em algum arquivo .FCS do c-tree Server, no exato momento que o c-tree Server realizava uma operação de gravação de dados.
Solução: Neste caso, deve-se colocar o diretório onde está o c-tree Server em uma configuração de excessão, para que o programa de cópia a quente e/ou o anti-vírus não acesse as tabelas .FCS enquanto o serviço está em operação. As tabelas FCS são de uso 100% exclusivo do c-tree Server.
Caso o arquivo CTSTATUS.FCS não apresente nenhuma informação adicional, o próximo ponto a ser verificado é o registro do próprio sistema operacional (Event Viewer, no windows, e/ou /var/log/messages, no Linux), para verificar se a queda do serviço não está relacionada a um evento de sistema, como um Boot disparado por uma rotina de atualização automática ligada indevidamente, ou ainda por um usuário/operador de sistema que inadvertidamente reiniciou o equipamento ).