ITPub博客

首页 > 数据库 > Oracle > ORA-12545 or ORA-12537 While Connecting to RAC through SCAN name

ORA-12545 or ORA-12537 While Connecting to RAC through SCAN name

原创 Oracle 作者:流浪的野狼 时间:2014-10-14 12:26:04 0 删除 编辑
最近集团部分oracle 11.2.0.1的RAC数据库在使用scanip作为tnsnames.ora配置后,总是会报出ORA-12545 or ORA-12537 的错误查metalink发现原来是oracle11.2.0.1的一个bug,该问题在11.2.0.2上已解决,再次小记作为备忘:
错误描述:
Error ORA-12545 or ORA-12537 reported while trying to connect to 11gR2 Real Application Cluster (RAC) database through SCAN name
触发原因:
Client is able to resolve all Fully Qualified Domain Name (FQDN) SCAN and VIP name but not short ones(without domain name) as its in different domain; even though FQDN names were specified during Grid Infrastructure setup, due to bug 9150053 by default DBCA set database parameter local_listener to short node VIP name while database is created.
测试ping无问题:
In following example, eotcs.us.oracle.com is SCAN name and eyrac1fv.us.oracle.com is one of the node VIP name, on client machine:
ping -c 1 eotcs.us.oracle.com
PING eotcs.us.oracle.com (120.0.0.207) 56(84) bytes of data.
64 bytes from 120.0.0.207: icmp_seq=1 ttl=64 time=0.034 ms

ping -c 1 ping eotcs
ping: unknown host eotcs

ping -c 1 eyrac1fv.us.oracle.com
PING eyrac1fv.us.oracle.com (120.0.0.211) 56(84) bytes of data.
64 bytes from 120.0.0.211: icmp_seq=1 ttl=64 time=0.034 ms

ping -c 1 ping eyrac1fv
ping: unknown host eyrac1fv

解决方案:



1. Database level setting:

Modify pfile/spfile parameter local_listener to use FQDN VIP name or VIP.

SQL> alter system set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=eyrac1fv.us.oracle.com)(PORT=1521))))' sid='b2no1';

Or 

SQL> alter system set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=120.0.0.211)(PORT=1521))))' sid='b2no1';

And register with listener:

SQL> alter system register;


2. Per client setting:

Specify FQDN SCAN name in client tnsnames.ora and add all node VIP name/IP pairs to hosts file:

grep eyrac1fv /etc/hosts
120.0.0.211     eyrac1fv.us.oracle.com eyrac1fv


Or set search domain: in /etc/resolv.conf on Linux/Unix or "Append DNS suffixes" on Windows 

  Linux/Unix:

    grep search /etc/resolv.conf
    search  us.oracle.com


  Windows:

Network Connection => Property for Public Network => Internet Protocol (TCP/IP) => Advanced => DNS => Append these DNS suffices (in order)
以上均出自oracle metalink查询所得,仅供大家参考学习。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/28612416/viewspace-1298277/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2013-04-10

  • 博文量
    151
  • 访问量
    1600469