环境: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 - ProductionStart Date 14-MAR-2017 23:19:53Uptime26 days 11hr.46 min.41secTrace Level off
- Security ON:LocalOSAuthenticationSNMPONListener ParameterFile/oracle/app/grid_home/network/admin/listener.ora
- ListenerLog File/oracle/app/grid_home/log/diag/tnslsnr/jyrac2/listener_scan1/alert/log.xmlListening Endpoints Summary...
- (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER_SCAN1)))
- (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.80)(PORT=1521)))
- The listener supportsnoservices
- The command completed successfully
2.Oracle 用户查看 remote_listener 参数配置:
- SQL> showparameterremote_listenerNAME 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 systemsetremote_listener ='jyrac-scan:1521'sid='*'scope=both;
- SQL> alter systemregister;
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 - ProductionStart Date 14-MAR-2017 23:19:53Uptime26 days 11hr.53 min.54secTrace Level off
- Security ON:LocalOSAuthenticationSNMPONListener ParameterFile/oracle/app/grid_home/network/admin/listener.ora
- ListenerLog File/oracle/app/grid_home/log/diag/tnslsnr/jyrac2/listener_scan1/alert/log.xmlListening Endpoints Summary...
- (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER_SCAN1)))
- (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.80)(PORT=1521)))
- Services Summary...
- Service"SERVICE2"has1 instance(s).Instance "testdb1",statusREADY, has1 handler(s)forthis service...
- Service"testdb"has2 instance(s).Instance "testdb1",statusREADY, has1 handler(s)forthis service...Instance "testdb2",statusREADY, has1 handler(s)forthis service...
- Service"testdb2"has1 instance(s).Instance "testdb2",statusREADY, has1 handler(s)forthis service...
- The command completed successfully
再次测试通过 scanip 连接数据库已经 ok。
来源: http://www.linuxidc.com/Linux/2017-04/143142.htm