GRID and database version: 11.2.0.1
OS: Solaris 5.10
Symptom: an error is reported when the client connects to the scan ip address.
Sqlplus system/Oracle@210.10.4.5: 1521/pdpt
ORA-12545: the connection failed because the target host or object does not exist
However, the scan ip address can be connected between two database servers.
# Cat/etc/hosts
: 1 localhost
127.0.0.1 localhost
210.10.4.5 taian-pt-d1 loghost
Taian-pt-d2 210.10.4.6
Taian-pt-d1-vip 210.10.4.9
Taian-pt-d2-vip 210.10.4.10
210.10.4.7 pdpt-cluster-scan
192.168.2.1 taian-pt-d1-priv.
192.168.2.2 taian-pt-d2-priv.
After checking that the scan ip listener is normal, the client can ping the scan ip Address
-Bash-3.2 $ crs_stat-trac resource service is normal
Name Type Target State Host
------------------------------------------------------------
Ora. ARCHDG. dg ora... up. type ONLINE taian-pt-d1
Ora. DATADG. dg ora... up. type ONLINE taian-pt-d1
Ora... ER. lsnr ora... er. type ONLINE taian-pt-d1
Ora... N1.lsnr ora... er. type ONLINE taian-pt-d2
Ora. OCRVT. dg ora... up. type ONLINE taian-pt-d1
Ora. asm ora. asm. type ONLINE taian-pt-d1
Ora. eons ora. eons. type ONLINE taian-pt-d1
Ora. gsd ora. gsd. type OFFLINE
Ora... network ora... rk. type ONLINE taian-pt-d1
Ora. Solaris ora. productname. type OFFLINE
Ora. ons ora. ons. type ONLINE taian-pt-d1
Ora. pdpt. db ora... se. type ONLINE taian-pt-d1
Ora. scan1.vip ora... ip. type ONLINE taian-pt-d2
Ora... SM1.asm application ONLINE taian-pt-d1
Ora... D1.lsnr application ONLINE taian-pt-d1
Ora...-d1.gsd application OFFLINE
Ora...-d1.ons application ONLINE taian-pt-d1
Ora...-d1.vip ora... t1.type ONLINE taian-pt-d1
Ora... SM2.asm application ONLINE taian-pt-d2
Ora... D2.lsnr application ONLINE taian-pt-d2
Ora...-d2.gsd application OFFLINE
Ora...-d2.ons application ONLINE taian-pt-d2
Ora...-d2.vip ora... t1.type ONLINE taian-pt-d2
-Bash-3.2 $ lsnrctl status LISTENER_SCAN1scan IP listener normal
LSNRCTL for Solaris: Version 11.2.0.1.0-Production on 06-MAR-2012 09:36:50
Copyright (c) 1991,200 9, Oracle. All rights reserved.
Connecting to (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC) (KEY = LISTENER_SCAN1 )))
STATUS of the LISTENER
------------------------
Alias LISTENER_SCAN1
Version TNSLSNR for Solaris: Version 11.2.0.1.0-Production
Start Date 29-FEB-2012 13:42:48
Uptime 5 days 19 hr. 54 min. 1 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File/home/app/grid_home/network/admin/listener. ora
Listener Log File/home/app/grid_home/log/diag/tnslsnr/taian-pt-d2/listener_scan1/alert/log. xml
Listening Endpoints Summary...
(DESCRIPTION = (ADDRESS = (PROTOCOL = ipc) (KEY = LISTENER_SCAN1 )))
(DESCRIPTION = (ADDRESS = (PROTOCOL = tcp) (HOST = 210.10.4.7) (PORT = 1521 )))
Services Summary...
Service "PDPT" has 2 instance (s ).
Instance "PDPT1", status READY, has 1 handler (s) for this service...
Instance "PDPT2", status READY, has 1 handler (s) for this service...
The command completed successfully
SQL> the local_listener parameter of the show parameter listener database instance is the vip host name.
NAME TYPE VALUE
-----------------------------------------------------------------------------
Listener_networks string
Local_listener string (DESCRIPTION = (ADDRESS_LIST = (AD
DRESS = (PROTOCOL = TCP) (HOST = taia
N-pt-d2-vip) (PORT = 1521 ))))
Remote_listener string pdpt-cluster-scan: 1521
The Metalink search, found this is 11.2.0.1 small bug: "ORA-12545 or ORA-12537 while connecting to RAC through SCAN name [ID 970619.1]", 11.2.0.2 and later versions are fixed
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.
Therefore, you only need to change the host in the database instance parameter local_listener to the vip IP address.
NODE1:
SQL> alter system set local_listener = '(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (HOST = 210.10.4.9) (PORT = 1521 )))) 'scope = both sid = 'pdpt1 ';
System altered.
SQL> alter system register;
System altered.
NODE2:
SQL> alter system set local_listener = '(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (HOST = 210.10.4.10) (PORT = 1521 )))) 'scope = both sid = 'pdpt2 ';
System altered.
SQL> alter system register;
System altered.
Reference: How to Troubleshoot Connectivity Issue with 11gR2 SCAN Name [ID 975457.1]
ORA-12545 or ORA-12537 while connecting to RAC through SCAN name [ID 970619.1]
11.2 Scan and Node TNS Listener Setup Examples [ID 1070607.1]