Tentativa de conexão no banco de dados através do service name registrado estaticamente no listener, falha com o seguinte erro:
sqlplus sys/senha@//exdr-mcjd72:1521/TESTE SQL*Plus: Release 11.2.0.4.0 Production on Tue May 11 14:49:23 2021 Copyright (c) 1982, 2013, Oracle. All rights reserved. ERROR: ORA-12537: TNS:connection closed
E no alert log da instância apresenta essa mensagem:
Fatal NI connect error 12649, connecting to:
(LOCAL=NO)
VERSION INFORMATION:
TNS for Linux: Version 11.2.0.4.0 - Production
Oracle Bequeath NT Protocol Adapter for Linux: Version 11.2.0.4.0 - Production
TCP/IP NT Protocol Adapter for Linux: Version 11.2.0.4.0 - Production
Time: 11-MAY-2021 14:49:23
Tracing not turned on.
Tns error struct:
ns main err code: 12649
TNS-12649: Unknown encryption or data integrity algorithm
ns secondary err code: 0
nt main err code: 0
nt secondary err code: 0
nt OS err code: 0
opiodr aborting process unknown ospid (62830) as a result of ORA-609
Causa
O arquivo sqlnet.ora utilizado pelo Listener (Grid Home) tem parâmetros não suportados pela instância do banco de dados, potencialmente a versão do Grid Home é superior do DB Home.
Solução
Definir a variável TNS_ADMIN no registro estático do listener, apontando para o diretório do sqlnet.ora no ORACLE_HOME do banco de dados.
Exemplo
O registro estático no listener estava dessa forma:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = TESTE)
(ORACLE_HOME = /u02/app/oracle/product/11.2.0/dbhome_2)
(SID_NAME = TESTE)
)
)
O ORACLE_HOME do banco de dados TESTE é /u02/app/oracle/product/11.2.0/dbhome_2, então podemos incluir uma variável de ambiente TNS_ADMIN apontando para o diretório DB_HOME/network/admin:
Basta apenas incluir a diretiva ENVS, ficando dessa forma:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = TESTE)
(ORACLE_HOME = /u02/app/oracle/product/11.2.0/dbhome_2)
(SID_NAME = TESTE)
(ENVS = "TNS_ADMIN=/u02/app/oracle/product/11.2.0/dbhome_2/network/admin/,ORACLE_BASE=/u02/app/oracle")
)
)
Por fim, recarregue o listener:
lsnrctl reload
Muchas gracias, he estado trabajando en hacer que funcionara una conexion estatica de una BD version ya vieja hacia si misma, en un RAC con un grid mas nuevo. Hasta que encontre este articulo, usando esta informacion ya funciono.
Fico feliz que tenha ajudado, obrigado pelo feedback !