Oracle 10g RAC - Intermittent Connection w/ ORA-12545
Since setting up our 10g RAC we have been experiencing problems connecting to the database via SQL*Plus. It would seem to work randomly and when it failed we got the error message
ORA-12545 Connect failed because target host or object does not exist
The following lines were added to the tnsnames.ora file:
ORCL_TAF =
(DESCRIPTION =
(ADDRESS = (PROTOCOL =
TCP)(HOST = orcl-rac1-vip)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = orcl-rac2-vip)(PORT = 1521))
(LOAD_BALANCE =yes)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCL_taf)
(FAILOVER_MODE =
(TYPE = SELECT)
(METHOD = BASIC)
(RETRIES = 180)
(DELAY = 5)
)
)
)
LISTENERS_ORCL =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = orcl-rac1-vip)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = orcl-rac2-vip)(PORT = 1521))
)
ORCL2 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = orcl-rac2-vip)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCL)
(INSTANCE_NAME = ORCL2)
)
)
ORCL1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = orcl-rac1-vip)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCL)
(INSTANCE_NAME = ORCL1)
)
)
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = orcl-rac1-vip)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = orcl-rac2-vip)(PORT = 1521))
(LOAD_BALANCE = yes)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCL)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
This problem was resolved by setting the initialization parameter LOCAL_LISTENERS to the LISTENERS_ORCL.
ORA-12545 Connect failed because target host or object does not exist
The following lines were added to the tnsnames.ora file:
ORCL_TAF =
(DESCRIPTION =
(ADDRESS = (PROTOCOL =
TCP)(HOST = orcl-rac1-vip)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = orcl-rac2-vip)(PORT = 1521))
(LOAD_BALANCE =yes)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCL_taf)
(FAILOVER_MODE =
(TYPE = SELECT)
(METHOD = BASIC)
(RETRIES = 180)
(DELAY = 5)
)
)
)
LISTENERS_ORCL =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = orcl-rac1-vip)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = orcl-rac2-vip)(PORT = 1521))
)
ORCL2 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = orcl-rac2-vip)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCL)
(INSTANCE_NAME = ORCL2)
)
)
ORCL1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = orcl-rac1-vip)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCL)
(INSTANCE_NAME = ORCL1)
)
)
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = orcl-rac1-vip)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = orcl-rac2-vip)(PORT = 1521))
(LOAD_BALANCE = yes)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCL)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
This problem was resolved by setting the initialization parameter LOCAL_LISTENERS to the LISTENERS_ORCL.
Comments
Post a Comment