SAP Note No. 505630 14.10.2004 Page 1 ________________________________________________________________________ Number Version Status Set on 505630 5 from 06.06.2003 Released for Customer 06.06.2003 Language Master language Short text EN DE Composite SAP Note ORA-12547 Responsible Component SAP AG BC-DB-ORA Oracle ________________________________________________________________________ Long text Symptom ORA-12547: TNS:lost contact Brbackup, brarchive, brrestore or brconnect may terminate with errors similar to the following: BR301E SQL error -12547 at location BrDbConnect-1 BR301E SQL error -12547 at location dbf_info_get-1 Sapdba returns the following error, for example: SAPDBA: ORACLE error -12547 occurred while checking instance status! The R/3 work processes or R3trans return the following error at Connect: C *** ERROR => CONNECT failed with sql error '12547' Other terms TNS-12547, TNS-00517 Reason and Prerequisites As part of the Net8 Connect, a program such as the R/3 kernel, R3trans, svrmgrl, sqlplus or ODMA establishes a connection to the Oracle database.If the connection terminates due to problems at the server end, it can result in ORA-12547. Additional information for the error is often available in sqlnet.log.In many cases, ORA-12547 is a prerequisite to other error messages.For example, if ORA-12547 occurs during a database upgrade when you access the ODMA on the old Oracle Home, it may make sense to temporarily set ORACLE_HOME (as a test) on the old Oracle-Home and then execute svrmgrl. Even if sapdba or the BR tools terminate with an ORA-12547 when the svrmgrl is called recursively, you should call svrmgrl manually with the operating system user used (as a test). Hopefully, a more significant error message will appear in addition to ORA-12547, for example: ld.so.1: oracleC11: fatal: relocation error: file /oracle/C11/817_64/libx8.so: symbol ksunsga_: referenced symbol not found Page 2 If you find accompanying error messages of this type, start a note search with the corresponding search terms since the problem is often known and a solution may already be available.If you do not find any significant error messages or a suitable note, check the following possible causes for ORA-12547: 1. UNIX: Incorrectly linked Oracle tools 2. UNIX: Problems with XPG4 compliance and s-bit 3. Too many requests to the listener at the same time 4. HP-UX, Oracle 8.1: Missing OS patch 5. Use of CRYPTO parameters in sqlnet.ora 6. AIX: I/O Async is deactivated 7. Resource problems 8. The CONNECT_TIMEOUT_LISTENER parameter in listener.ora is too low 9. Activated Oracle trace 10. UNIX: Incorrect oracle executable authorization 11. SOLARIS: LD_LIBRARY_PATH set when you call ODMA 12. AIX: Problem with post/wait kernel enhancement 13. UNIX: Problems with the libobk library 14. SOLARIS: Incorrect search sequence in the path variable 15. UNIX: Conflicts between 32-bit and 64-bit files Solution 1. Relink the Oracle software as ora<sid> with cd $ORACLE_HOME/rdbms/lib make -f ins_rdbms.mk install or relink all 2. Refer to note 88884. 3. If individual work processes terminate ORA-12547 when you start an R/3 instance, refer to note 131561. 4. Refer to note 399610. 5. You can set security parameters that begin with SQLNET.CRYPTO_ in sqlnet.ora as part of the Advanced Security Option.Oracle releases < 8.1.7 cannot process these parameters correctly and result in ORA-12547.In this case, delete these types of parameters from Page 3 sqlnet.ora. 6. If I/O is deactivated on AIX Async, the Net8 Connect fails with ORA-12547. In this case, activate I/O Async with smitty. 7. Insufficient resources such as available memory on the database server can cause ORA-12547. For more information, see 384839. 8. In individual cases, it may make sense to increase the CONNECT_TIMEOUT_LISTENER parameter in listener.ora (for example, by 5 seconds, that is, from 10 to 15).Usually a value of 10 seconds should be sufficient to establish a connection. 9. Delete the log files written by the Oracle trace in accordance with note 92537. 10. Check to see whether the executable in $ORACLE_HOME/bin has the "rwsr-s--x" authorizations and the ora<sid> owner and correct this if necessary. 11. If you call ODMA on SOLARIS as part of a database upgrade and LD_LIBRARY_PATH is set explicitly (on the lib directory of the target release), calling the old Oracle software through ODMA may fail with ORA-12547.You will receive the following error if you list svrmgrl with the old ORACLE_HOME: ld.so.1: oracle<sid>: fatal: relocation error: file /oracle/<sid>/817_64/libx8.so: symbol ksunsga_: referenced symbol not found ORA-12547: TNS:lost contact In this case, permanently delete LD_LIBRARY_PATH from the environment.This does not have any negative effects since the libraries are automatically found in the correct directories as of Oracle 8.1. 12. If problems occur with the post/wait extension on AIX, the following type of errors will be displayed: exec(): 0509-036 Cannot load program oracleC11 because of the following errors: 0509-130 Symbol resolution failed for oracle because: 0509-136 Symbol pw_post (number 2524) is not exported from dependent module /unix. 0509-136 Symbol pw_wait (number 2525) is not exported from dependent module /unix. 0509-136 Symbol pw_config (number 2526) is not exported from dependent module /unix. 0509-192 Examine .loader section symbols with the 'dump -Tv' command. ORA-12547: TNS:lost contact Refer to note 49905 in this case. 13. If the libobk library was created incorrectly, the following type of errors may occur: /oracle/C11/817_64/bin/oracle: /sbin/loader: Page 4 Fatal Error: Cannot map library libobk.so /usr/lib/pa20_64/dld.sl: Unable to find library '/oracle/C11/lib64/libobk.sl exec(): 0509-036 Cannot load program oracleC11 because of the following errors: 0509-150 Dependent module /oracle/C11/817_64/lib/libobk.a(shr.o) could not be loaded. 0509-152 Member shr.o is not found in archive ORA-12547: TNS:lost contact Check to see whether libobk exists and, if it is a link, points to a valid object. Note 142635 contains more information in this context.The libobk link may point to this if a libsbtsh8.* file exists in the Oracle library directory.If you are using a third-party Backint tool, contact the relevant supplier since libobk often has to point to a backint-specific library. 14. If an error such as ld.so.1: ./svrmgrl: fatal: libucb.so.1: open failed: No such file or directory ORA-12547: TNS:lost contact occurs, the PATH has probably been set incorrectly.For more information, see note 44361. 15. If an error such as ld.so.1: oracle<sid>: fatal: <library> wrong ELF class: ELFCLASS64 ORA-12547: TNS:lost contact concerning "wrong ELF class" occurs, check whether the <library> mistakenly has a different bit size than the tool that was called. You can determine this using file <library> file <tool> All the files involved must be uniformly 32-bit or 64-bit. ________________________________________________________________________ Note is release independent ________________________________________________________________________ Note attributes Transaction codes FILE SUCH ________________________________________________________________________ Page 5 Reference to related Notes Number Short text ____________________________________________________________ 399610 64-bit ORACLE 8.1.7 with HPUX patch PHSS_22514 384839 ora-12540, tns-12560, tns-12500, tns-12546 142635 Installation of a backup library for Oracle 131561 Work processes sometimes abend during database connect 92537 Oracle trace is automatically active 88884 Exec err.: Oracle svrmgrl, tnsping, lsnrctl, sapdba 49905 Oracle will not start on AIX 44361 SOLARIS: Database does not start after patch import ________________________________________________________________________