Oracle 12C ORA-12545 While Connecting to RAC through SCAN Name
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,操作环境为Oracle Linux 7.1,Oracle 12.2 RAC数据库,SCAN IP是使用GNS方式创建,在使用SCAN IP登录数据库时出现如下错误SQL> conn sys/abcd@
千家信息网最后更新 2026年11月01日Oracle 12C ORA-12545 While Connecting to RAC through SCAN Name
操作环境为Oracle Linux 7.1,Oracle 12.2 RAC数据库,SCAN IP是使用GNS方式创建,在使用SCAN IP登录数据库时出现如下错误
SQL> conn sys/abcd@cs as sysdbaERROR:ORA-12545: Connect failed because target host or object does not exist
错误信息直译是目标主机或对象不存在。
查看scan的配置信息状态正常
[grid@cs1 ~]$ srvctl config scanSCAN name: cs-cluster-scan.cs-cluster.jy.net, Network: 1Subnet IPv4: 10.10.10.0/255.255.255.0/ens160, dhcpSubnet IPv6: SCAN 1 IPv4 VIP: -/scan1-vip/10.10.10.143SCAN VIP is enabled.SCAN VIP is individually enabled on nodes: SCAN VIP is individually disabled on nodes: SCAN 2 IPv4 VIP: -/scan2-vip/10.10.10.141SCAN VIP is enabled.SCAN VIP is individually enabled on nodes: SCAN VIP is individually disabled on nodes: SCAN 3 IPv4 VIP: -/scan3-vip/10.10.10.142SCAN VIP is enabled.SCAN VIP is individually enabled on nodes: SCAN VIP is individually disabled on nodes:
查看scan的监听信息状态正常
[grid@cs1 ~]$ srvctl config scan_listenerSCAN Listener LISTENER_SCAN1 exists. Port: TCP:1521Registration invited nodes: Registration invited subnets: SCAN Listener is enabled.SCAN Listener is individually enabled on nodes: SCAN Listener is individually disabled on nodes: SCAN Listener LISTENER_SCAN2 exists. Port: TCP:1521Registration invited nodes: Registration invited subnets: SCAN Listener is enabled.SCAN Listener is individually enabled on nodes: SCAN Listener is individually disabled on nodes: SCAN Listener LISTENER_SCAN3 exists. Port: TCP:1521Registration invited nodes: Registration invited subnets: SCAN Listener is enabled.SCAN Listener is individually enabled on nodes: SCAN Listener is individually disabled on nodes: [grid@cs2 ~]$ lsnrctl status LISTENER_SCAN1LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 13-MAR-2018 11:05:13Copyright (c) 1991, 2016, Oracle. All rights reserved.Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN1)))STATUS of the LISTENER------------------------Alias LISTENER_SCAN1Version TNSLSNR for Linux: Version 12.2.0.1.0 - ProductionStart Date 12-MAR-2018 19:10:06Uptime 0 days 15 hr. 55 min. 7 secTrace Level offSecurity ON: Local OS AuthenticationSNMP OFFListener Parameter File /u01/app/product/12.2.0/crs/network/admin/listener.oraListener Log File /u01/app/grid/diag/tnslsnr/cs2/listener_scan1/alert/log.xmlListening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER_SCAN1))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.10.10.143)(PORT=1521)))Services Summary...Service "-MGMTDBXDB" has 1 instance(s). Instance "-MGMTDB", status READY, has 1 handler(s) for this service...Service "66fa07fcd41a56f0e053be828a0abc70" has 1 instance(s). Instance "-MGMTDB", status READY, has 1 handler(s) for this service...Service "_mgmtdb" has 1 instance(s). Instance "-MGMTDB", status READY, has 1 handler(s) for this service...Service "cs" has 2 instance(s). Instance "cs1", status READY, has 1 handler(s) for this service... Instance "cs2", status READY, has 1 handler(s) for this service...Service "csXDB" has 2 instance(s). Instance "cs1", status READY, has 1 handler(s) for this service... Instance "cs2", status READY, has 1 handler(s) for this service...Service "gimr_dscrep_10" has 1 instance(s). Instance "-MGMTDB", status READY, has 1 handler(s) for this service...The command completed successfully[grid@cs1 ~]$ lsnrctl status LISTENER_SCAN2LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 13-MAR-2018 11:05:29Copyright (c) 1991, 2016, Oracle. All rights reserved.Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN2)))STATUS of the LISTENER------------------------Alias LISTENER_SCAN2Version TNSLSNR for Linux: Version 12.2.0.1.0 - ProductionStart Date 12-MAR-2018 19:08:54Uptime 0 days 15 hr. 56 min. 35 secTrace Level offSecurity ON: Local OS AuthenticationSNMP OFFListener Parameter File /u01/app/product/12.2.0/crs/network/admin/listener.oraListener Log File /u01/app/grid/diag/tnslsnr/cs1/listener_scan2/alert/log.xmlListening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER_SCAN2))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.10.10.141)(PORT=1521)))Services Summary...Service "-MGMTDBXDB" has 1 instance(s). Instance "-MGMTDB", status READY, has 1 handler(s) for this service...Service "66fa07fcd41a56f0e053be828a0abc70" has 1 instance(s). Instance "-MGMTDB", status READY, has 1 handler(s) for this service...Service "_mgmtdb" has 1 instance(s). Instance "-MGMTDB", status READY, has 1 handler(s) for this service...Service "cs" has 2 instance(s). Instance "cs1", status READY, has 1 handler(s) for this service... Instance "cs2", status READY, has 1 handler(s) for this service...Service "csXDB" has 2 instance(s). Instance "cs1", status READY, has 1 handler(s) for this service... Instance "cs2", status READY, has 1 handler(s) for this service...Service "gimr_dscrep_10" has 1 instance(s). Instance "-MGMTDB", status READY, has 1 handler(s) for this service...The command completed successfully[grid@cs1 ~]$ lsnrctl status LISTENER_SCAN3LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 13-MAR-2018 11:05:32Copyright (c) 1991, 2016, Oracle. All rights reserved.Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN3)))STATUS of the LISTENER------------------------Alias LISTENER_SCAN3Version TNSLSNR for Linux: Version 12.2.0.1.0 - ProductionStart Date 12-MAR-2018 19:08:52Uptime 0 days 15 hr. 56 min. 40 secTrace Level offSecurity ON: Local OS AuthenticationSNMP OFFListener Parameter File /u01/app/product/12.2.0/crs/network/admin/listener.oraListener Log File /u01/app/grid/diag/tnslsnr/cs1/listener_scan3/alert/log.xmlListening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER_SCAN3))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.10.10.142)(PORT=1521)))Services Summary...Service "-MGMTDBXDB" has 1 instance(s). Instance "-MGMTDB", status READY, has 1 handler(s) for this service...Service "66fa07fcd41a56f0e053be828a0abc70" has 1 instance(s). Instance "-MGMTDB", status READY, has 1 handler(s) for this service...Service "_mgmtdb" has 1 instance(s). Instance "-MGMTDB", status READY, has 1 handler(s) for this service...Service "cs" has 2 instance(s). Instance "cs1", status READY, has 1 handler(s) for this service... Instance "cs2", status READY, has 1 handler(s) for this service...Service "csXDB" has 2 instance(s). Instance "cs1", status READY, has 1 handler(s) for this service... Instance "cs2", status READY, has 1 handler(s) for this service...Service "gimr_dscrep_10" has 1 instance(s). Instance "-MGMTDB", status READY, has 1 handler(s) for this service...The command completed successfully
在通过SCAN Name来连接RAC数据库时,客户端可以解析所有有完整域名的SCAN Name与VIP Name,但是不能解析没有域名的SCAN Name与VIP Name。通过以下操作可以解决这个问题。
1.在数据库级别使用有完整域名的VIP Name或VIP来设置pfile或spfile文件中的local_listener参数
alter system set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.10.10.140)(PORT=1521))))' scope=both sid='cs1';oralter system set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=cs1-vip.jy.net)(PORT=1521))))' scope=both sid='cs1';andalter system register;
在RAC的每个节点都执行类似上面的操作,但我的环境中local_listener的设置是正确的
SQL> show parameter local_listenerNAME TYPE VALUE------------------------------------ ----------- ------------------------------local_listener string (DESCRIPTION=(ADDRESS_LIST=(AD DRESS=(PROTOCOL=TCP)(HOST=10.1 0.10.140)(PORT=1521))))
2.在客户端的hosts文件中增加tnsnames.ora文件中带完整域名的SCAN Name
[root@cs1 ~]# vi /etc/hosts....10.10.10.141 cs-cluster-scan.cs-cluster.jy.net10.10.10.142 cs-cluster-scan.cs-cluster.jy.net10.10.10.143 cs-cluster-scan.cs-cluster.jy.net
3.再次登录
[oracle@cs11 ~]$ tnsping csTNS Ping Utility for Linux: Version 12.2.0.1.0 - Production on 13-MAR-2018 10:40:15Copyright (c) 1997, 2016, Oracle. All rights reserved.Used parameter files:Used TNSNAMES adapter to resolve the aliasAttempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = cs-cluster-scan.cs-cluster.jy.net)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = cs)))OK (0 msec)[oracle@cs1 admin]$ sqlplus /nologSQL*Plus: Release 12.2.0.1.0 Production on Tue Mar 13 13:12:32 2018Copyright (c) 1982, 2016, Oracle. All rights reserved.SQL> conn sys/abcd@cs as sysdbaConnected.
到此问题解决了,可以使用SCAN Name来登录数据库了。
数据
数据库
域名
信息
文件
登录
客户
状态
环境
错误
问题
主机
再次
参数
客户端
对象
方式
目标
直译
端的
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技公司经营范围
西安纸贵互联网科技有限公司
互联网科技保险
科技与互联网
涨乐互联网科技
互联网科技公司发展
天扬科技互联网广告
中国互联网有什么科技含量
南山科技园互联网公司有哪些
来此购互联网科技有限公司
中和天地互联网科技有限公司
互联网科技圈年度人物
雨阳互联网卡科技有限公司
城市宝互联网科技有限公司
互联网科技企业商标注意事项
互联网科技机房
广州智享互联网科技
互联网科技收购价值
现代互联网科技公司
青岛互联网科技园
新华互联网科技学院
金融科技还是互联网
科技与互联网发展
齐家互联网科技有限公司
链环科技传统企业怎么转型互联网
民营互联网公司国防科技
中和天地互联网科技有限公司
宇信科技在杭州互联网排第几
广州梦谷互联网科技有限公司领导
山东蛋芒互联网科技有限公司