案例:使用scan IP无法连接数据库

环境: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 successfully

2.Oracle用户查看 remote_listener 参数配置:

SQL> show parameter remote_listener NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ remote_listener string

发现remote_listener参数为空,这显然是不正常的。

3.查看/etc/hosts的scan IP配置行:
cat /etc/hosts

192.168.1.80 jyrac-scan

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。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/0d7551818bbd6cd7227b30d1f12340c0.html