4190 - O CSM Center não está conectando ao banco ERRO ORA - 12505
Problema: O CSM Center não está conectando ao banco ERRO ORA - 12505.
Mensagem no log server.log:
[CSMCenter] Não foi possível carregar o arquivo da proprietária. A CSM Center será encerrada.
com.senior.dbc.DBCenterException: Listener refused the connection with the following error: ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
at com.senior.dbc.impl.DBCenterHelper.toDBCenterException(DBCenterHelper.java:265)
at com.senior.dbc.impl.SessionImpl.<init>(SessionImpl.java:56)
at com.senior.dbc.impl.DBCenterImpl.newSession(DBCenterImpl.java:144)
at com.senior.dbc.impl.DBCenterImpl.getDateTime(DBCenterImpl.java:183)
Na conexão remota realizada, identificamos que a conexão de banco cadastrada na csmcenter não conseguia fazer conexão com o banco, a configuração do TSNNAMES.ora estava correta.
Ou pode apresentar a mensagem:
Caused by: com.senior.seguranca.csmcenter.utils.ext.resources.ResourceNotFoundException: Recurso Erro tentando obter conexão com a base de dados não encontrado ou não disponível.
Caused by: java.sql.SQLException: Error in allocating a connection. Cause: Connection could not be allocated because: Listener refused the connection with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
The Connection descriptor used by the client was:
192.168.0.3:1521:dbhomo
Essa mensagem ocorre quando o listener está apontando um ip, e no tnsnames está outro.
Quando ocorre / onde se aplica: Inicialização da CSM Center
Solução: Existem duas formas de resolver esta situação:
1 - Alterar na configuração do banco de dados da csmcenter a string para conexão manual e inserir conforme anexo.
2 - Deixar a configuração de forma automática, porém preencher corretamente os campos: Nome do Servidor, Porta do servidor, SID.
Também é interessante fazer validações utilizando o aplicativo SQL Developer ou o próprio Glassfish. Copiando as Strings presentes no SeniorConfigCenter e/ou CSM Center Config.
* No SQL Developer basta configurar uma nova conexão e testar (não há necessidade de efetivar o cadastro da conexão);
* Através do Glassfish 3 acesse o menu Resources > JDBC > JDBC Connections Pools > com.senior.seguranca.csmcenter.ConnectionPool > guia Additional Properties, inserir os valores 'username' e 'password' > Save > guia General > botão Ping.
Caso o banco do cliente for cluster, deve-se alterar a configuração do banco na csmcenter para Manual, e adicionou a strig de conexão conforme exemplo(IP:PORTA/SERVICE-NAME): jdbc:oracle:thin:@143.106.126.117:1521/prd2
Adicionando a / depois da porta a conexão é feita direto com o SERVICE-NAME configurado na string.
Mensagem no log server.log:
[CSMCenter] Não foi possível carregar o arquivo da proprietária. A CSM Center será encerrada.
com.senior.dbc.DBCenterException: Listener refused the connection with the following error: ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
at com.senior.dbc.impl.DBCenterHelper.toDBCenterException(DBCenterHelper.java:265)
at com.senior.dbc.impl.SessionImpl.<init>(SessionImpl.java:56)
at com.senior.dbc.impl.DBCenterImpl.newSession(DBCenterImpl.java:144)
at com.senior.dbc.impl.DBCenterImpl.getDateTime(DBCenterImpl.java:183)
Na conexão remota realizada, identificamos que a conexão de banco cadastrada na csmcenter não conseguia fazer conexão com o banco, a configuração do TSNNAMES.ora estava correta.
Ou pode apresentar a mensagem:
Caused by: com.senior.seguranca.csmcenter.utils.ext.resources.ResourceNotFoundException: Recurso Erro tentando obter conexão com a base de dados não encontrado ou não disponível.
Caused by: java.sql.SQLException: Error in allocating a connection. Cause: Connection could not be allocated because: Listener refused the connection with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
The Connection descriptor used by the client was:
192.168.0.3:1521:dbhomo
Essa mensagem ocorre quando o listener está apontando um ip, e no tnsnames está outro.
Quando ocorre / onde se aplica: Inicialização da CSM Center
Solução: Existem duas formas de resolver esta situação:
1 - Alterar na configuração do banco de dados da csmcenter a string para conexão manual e inserir conforme anexo.
2 - Deixar a configuração de forma automática, porém preencher corretamente os campos: Nome do Servidor, Porta do servidor, SID.
Também é interessante fazer validações utilizando o aplicativo SQL Developer ou o próprio Glassfish. Copiando as Strings presentes no SeniorConfigCenter e/ou CSM Center Config.
* No SQL Developer basta configurar uma nova conexão e testar (não há necessidade de efetivar o cadastro da conexão);
* Através do Glassfish 3 acesse o menu Resources > JDBC > JDBC Connections Pools > com.senior.seguranca.csmcenter.ConnectionPool > guia Additional Properties, inserir os valores 'username' e 'password' > Save > guia General > botão Ping.
Caso o banco do cliente for cluster, deve-se alterar a configuração do banco na csmcenter para Manual, e adicionou a strig de conexão conforme exemplo(IP:PORTA/SERVICE-NAME): jdbc:oracle:thin:@143.106.126.117:1521/prd2
Adicionando a / depois da porta a conexão é feita direto com o SERVICE-NAME configurado na string.