20764 - Concentradora não inicializa, após incidente de disco cheio
Problema:
Solução:
Após um problema com espaço em disco no servidor da CSM Center, nota-se que o datamart não é mais carregado e a concentradora não fica on-line.
Nos logs (server.log) é encontrada a mensagem:
Internal Exception: java.sql.SQLException: Error in allocating a connection. Cause: Connection could not be allocated because: Falha ao iniciar o banco de dados 'C:\glassfish3\glassfish\domains\csmcenter/lib/databases/ejbtimer', consulte a próxima exceção para obter detalhes.
Error Code: 0
javax.persistence.PersistenceException: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.3.2.v20111125-r10461): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: java.sql.SQLException: Error in allocating a connection. Cause: Connection could not be allocated because: Falha ao iniciar o banco de dados 'C:\glassfish3\glassfish\domains\csmcenter/lib/databases/ejbtimer', consulte a próxima exceção para obter detalhes.
Error Code: 0
Caused by: com.sun.appserv.connectors.internal.api.PoolingException: Connection could not be allocated because: Falha ao iniciar o banco de dados 'C:\glassfish3\glassfish\domains\csmcenter/lib/databases/ejbtimer', consulte a próxima exceção para obter detalhes.
Caused by: javax.resource.spi.ResourceAllocationException: Connection could not be allocated because: Falha ao iniciar o banco de dados 'C:\glassfish3\glassfish\domains\csmcenter/lib/databases/ejbtimer', consulte a próxima exceção para obter detalhes.
Caused by: java.sql.SQLException: Falha ao iniciar o banco de dados 'C:\glassfish3\glassfish\domains\csmcenter/lib/databases/ejbtimer', consulte a próxima exceção para obter detalhes.
Caused by: java.sql.SQLException: Falha na recuperação devido a problema não esperado O registro de log NÃO é o primeiro, mas a transação não está na tabela de transação :
Caused by: ERROR XSLAO: Falha na recuperação devido a problema não esperado O registro de log NÃO é o primeiro, mas a transação não está na tabela de transação :
Rotina / Tela: Concentradora / CSM Center/ Getdatamart
Solução:
O banco de dados Derby da CSM Center foi corrompido pela ausência de espaço em disco.
Existem dois procedimentos que podem ser realizados para sanar o problema:
1 - Mais recomendado: Reinstalar a CSM Center
2 - Menos recomendado, depende de testes:
Fazer um backup da pasta "<GLASSFISH>/domains/csmcenter/lib/databases/ejbtimer" e substituir por uma pasta de um Glassfish saudável, que possua a instalação da CSM Center (mas que seja da mesma versão, no caso 3.1.2).