客戶端通過SCAN連線11g Oracle RAC報錯ORA-12537

尛樣兒發表於2010-10-17

最近一直在弄Oracle 11g RAC,遇到了不少bug啊 問題啊 今天又遇到個,記錄一下。
沒有使用GNS來配置SCAN,通過DNS round robin 解析來配置的固定SCAN VIP和節點的VIP地址。
通過客戶端連線時報錯:
ERROR:
ORA-12537: TNS: 連線關閉


請輸入使用者名稱:

查詢了METALINK,又是個BUG,到10.2.0.2這個bug已經被修復。

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


 

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)



 

References

BUG:9150053 - ORA-12545 REPORTED WHILE CONNECTING TO 11.2 SCAN ON CLIENT
NOTE:975457.1 - How to Troubleshoot Connectivity Issue with 11gR2 SCAN Name

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

相關文章