ORA-12545 Errors often occur when a remote client connects to the RAC database over a uniform service name.
SQL> CONN NDMAIN @ nuagerac enter the password ***** connected. SQL> CONN NDMAIN @ nuagerac :****** ERROR: ORA-12545: connection failed because the target host or object does not exist Warning: you are no longer connected to ORACLE. SQL> CONN NDMAIN @ nuagerac enter the password ***** connected. SQL> CONN NDMAIN @ nuagerac enter the password ***** connected. SQL> CONN NDMAIN @ nuagerac :****** ERROR: ORA-12545: the connection failed because the target host or object does not exist Warning: you are no longer connected to ORACLE. |
Configuration of TNSNAMES in the local database:
nuagerac = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.127)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.128)(PORT = 1521)) (LOAD_BALANCE = yes) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = nuagerac) (FAILOVER_MODE = (TYPE = SELECT) (METHOD = BASIC) (RETRIES = 180) (DELAY = 5) ) ) ) |
Oracle gives a trusted description in the document Note: 364855.1: RAC Connection Redirected To Wrong Host/IP ORA-12545.
The solution is as follows: Modify the database's initialization parameter LOCAL_LISTENER:
SQL> CONN SYS @ nuage1 AS SYSDBA enter the password ***** connected. SQL> ALTER SYSTEM SET LOCAL_LISTENER = '(ADDRESS = (PROTOCOL = TCP) (HOST = 192.168.1.127) (PORT = 1521) 'sid = 'nuage1 '; the system has changed. SQL> CONN SYS @ nuage2 AS SYSDBA enter the password ***** connected. SQL> ALTER SYSTEM SET LOCAL_LISTENER = '(ADDRESS = (PROTOCOL = TCP) (HOST = 192.168.1.128) (PORT = 1521) 'sid = 'nuage2'; the system has changed. |
After setting, try again to connect to the database:
SQL> CONN NDMAIN @ nuagerac enter the password ***** connected. SQL> CONN NDMAIN @ nuagerac enter the password ***** connected. SQL> CONN NDMAIN @ nuagerac enter the password ***** connected. SQL> CONN NDMAIN @ nuagerac enter the password ***** connected. SQL> CONN NDMAIN @ nuagerac enter the password ***** connected. SQL> CONN NDMAIN @ nuagerac enter the password ***** connected. SQL> CONN NDMAIN @ nuagerac enter the password ***** connected. SQL> CONN NDMAIN @ nuagerac enter the password ***** connected. |
After modification, no error message for ORA-12545 has been reported so far
However, Oracle does not regard this as a bug, but just considers it as PROBLEM.
Here I will explain in particular: the oracle version I use is 10.2.0.4, OS: Redhat as 4.5.
- Possible Oracle Performance Optimization Problems
- Two methods for creating an Oracle database connection
- Introduction to Oracle database development experience