Wednesday, July 6, 2011

Resolving UDE-12545 and ORA-12545 error

Hi,
Oracle networking errors can test our patience some times.Below is one such error.Changing the host or domain name of a server can lead to UDE-12545 and
ORA-12545 error.Below I'm discussing the cause of this error,possible ways to diagnose and resolve this error in a very simple manner.

Error message:

UDE-12545: operation generated ORACLE error 12545
ORA-12545: Connect failed because target host or object does not exist

Diagnosis:
We can solve this error as follows:

1)Check the listener is up & running

[oracle@node1 Backup_Scipts]$ lsnrctl status

LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 06-JUL-2011 10:55:48

Copyright (c) 1991, 2009, Oracle. All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=node1.in.company.com)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Start Date 02-JUL-2011 11:00:36
Uptime 3 days 23 hr. 55 min. 13 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/oracle11g/product/11.2.0/dbhome_1/network/admin/listener.ora
Listener Log File /u01/oracle11g/diag/tnslsnr/node1/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=node1.in.company.com)(PORT=1521)))
Services Summary...
Service "TESTDB" has 1 instance(s).
Instance "TESTDB", status UNKNOWN, has 1 handler(s) for this service...
Service "TESTDB2" has 1 instance(s).
Instance "TESTDB2", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully

2)Use the tnsping to check the connection string(TNS entry) for Database is working fine or not,for checking network connectivity:

Here we will get the error as given below:

[oracle@node1 Backup_Scipts]$ tnsping TESTDB

TNS Ping Utility for Linux: Version 11.2.0.1.0 - Production on 06-JUL-2011 10:55:56

Copyright (c) 1997, 2009, Oracle. All rights reserved.

Used parameter files:
/u01/oracle11g/product/11.2.0/dbhome_1/network/admin/sqlnet.ora


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = node1.apac.company.com)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = TESTDB)))
TNS-12545: Connect failed because target host or object does not exist

Note:Here,TESTDB is connection string(tns entry) present in tnsnames.ora file.

Resolving:
Now,We have to check our hostname and verify it with the connection string present in the tnsnames.ora file.

Verify the host details and connection string details and validate:

[oracle@node1 Backup_Scipts]$ hostname
node1.in.company.com
As we noticed we need to change the domain name from 'apac' to 'in' in the connetion string present
in tnsnames.ora file and save it and than try 'tnsping'

[oracle@node1 admin]$ tnsping TESTDB

TNS Ping Utility for Linux: Version 11.2.0.1.0 - Production on 06-JUL-2011 10:57:58

Copyright (c) 1997, 2009, Oracle. All rights reserved.

Used parameter files:
/u01/oracle11g/product/11.2.0/dbhome_1/network/admin/sqlnet.ora


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = node1.in.company.com)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = TESTDB)))
OK (10 msec)

Now,we can perform the tasks related to rman,datapump or other tasks dealing with the connection string it will work fine.

Hope it helps.

Best regards,

Rafi.

2 comments:

  1. Hi
    your blog is informatory and very useful to the beginneres,thank you
    regards
    Ritu
    oracle fussion middleware

    ReplyDelete
  2. Hi Ritu,
    Thanks for the compliments....Have a bright Oracle Carrier...


    Best regards,

    Rafi.

    ReplyDelete