环境:Oracle RAC(11.2.0.3)
现象:通过scanIP连接数据库报错ORA-12514: ORA-12514: TNS:listener does not currently know of service requested in connect descriptor
1.查看scan listener状态,发现服务没有注册成功:
[grid@rac1 ~]$ lsnrctl status LISTENER_SCAN1 LSNRCTL for IBM/AIX RISC System/6000: Version 11.2.0.3.0 - Production on 10-APR-2017 11:06:34 Copyright (c) 1991, 2011, Oracle. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN1))) STATUS of the LISTENER ------------------------ Alias LISTENER_SCAN1 Version TNSLSNR for IBM/AIX RISC System/6000: Version 11.2.0.3.0 - Production Start Date 14-MAR-2017 23:19:53 Uptime 26 days 11 hr. 46 min. 41 sec Trace Level off Security ON: Local OS Authentication SNMP ON Listener Parameter File /oracle/app/grid_home/network/admin/listener.ora Listener Log File /oracle/app/grid_home/log/diag/tnslsnr/jyrac2/listener_scan1/alert/log.xml Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER_SCAN1))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.80)(PORT=1521))) The listener supports no services The command completed successfully2.Oracle用户查看 remote_listener 参数配置:
SQL> show parameter remote_listener NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ remote_listener string发现remote_listener参数为空,这显然是不正常的。
3.查看/etc/hosts的scan IP配置行:
cat /etc/hosts
4.oracle用户登录数据库,配置remote_listener参数:
SQL> alter system set remote_listener = 'jyrac-scan:1521' sid='*' scope=both; SQL> alter system register;5.再次查看scan listener状态,发现服务已经注册成功:
[grid@rac1 ~]$ lsnrctl status LISTENER_SCAN1 LSNRCTL for IBM/AIX RISC System/6000: Version 11.2.0.3.0 - Production on 10-APR-2017 11:13:47 Copyright (c) 1991, 2011, Oracle. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN1))) STATUS of the LISTENER ------------------------ Alias LISTENER_SCAN1 Version TNSLSNR for IBM/AIX RISC System/6000: Version 11.2.0.3.0 - Production Start Date 14-MAR-2017 23:19:53 Uptime 26 days 11 hr. 53 min. 54 sec Trace Level off Security ON: Local OS Authentication SNMP ON Listener Parameter File /oracle/app/grid_home/network/admin/listener.ora Listener Log File /oracle/app/grid_home/log/diag/tnslsnr/jyrac2/listener_scan1/alert/log.xml Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER_SCAN1))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.80)(PORT=1521))) Services Summary... Service "SERVICE2" has 1 instance(s). Instance "testdb1", status READY, has 1 handler(s) for this service... Service "testdb" has 2 instance(s). Instance "testdb1", status READY, has 1 handler(s) for this service... Instance "testdb2", status READY, has 1 handler(s) for this service... Service "testdb2" has 1 instance(s). Instance "testdb2", status READY, has 1 handler(s) for this service... The command completed successfully再次测试通过scanip连接数据库已经ok。