ORACLE 11G RAC 訪問SCANIP ORA-12545

renjixinchina發表於2012-12-25
ORA-12545 or ORA-12537 Reported while Connecting to RAC through SCAN name [ID 970619.1] 

 修改時間 20-JAN-2010     型別 PROBLEM     狀態 MODERATED 

In this Document
  Symptoms
  Cause
  Solution
  References


This document is being delivered to you via Oracle Support's Rapid Visibility (RaV) process and therefore has not been subject to an independent technical review.

Symptoms

Error ORA-12545 or ORA-12537 reported while trying to connect to 11gR2 Real Application Cluster (RAC) database through SCAN name

Cause

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.

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 .
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


 

Solution

bug 9150053 will be fixed in 11.2.0.2 and above, though easy workaround is available:

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)

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15747463/viewspace-751625/,如需轉載,請註明出處,否則將追究法律責任。

相關文章