Tuesday, March 20, 2007

[Oracle 10G, Solaris sparc 64bits]Ora-27504: Ipc Error Creating Osd Context

I can't login in oracle "sqlplus" on Solaris.


Applies to:

Oracle Server - Enterprise Edition - Version: 10.2.0.2

Solaris Operating System (SPARC 64-bit)

Solaris Operating System (SPARC 32-bit)


Symptoms
o Unix RAC cluster o intermittently these messages appear in the alert log:of the ASM instance
Errors in file /u01/admin/+ASM/udump/+asm1_ora_.trc:ORA-00603: ORACLE server session terminated by fatal errorORA-27504: IPC error creating OSD context

o the corresponding trace file '+asm1_ora_.trc' shows the following messages immediately after the trace file header:
libskgxpd.so calledlibskgxp9.so should reference real implementationIPC OS error without diagnostic information...ORA-00603: ORACLE server session terminated by fatal errorORA-27504: IPC error creating OSD contextCurrent SQL information unavailable - no session.

TIP: Click help for a detailed explanation of this page. Bookmark Go to End Subject: Ora-27504: Ipc Error Creating Osd Context Ora--27504
Doc ID: Note:416190.1 Type: PROBLEM
Last Revision Date: 24-FEB-2007 Status: MODERATED function setmlsrch (s) { if (typeof(top.query) != "undefined") top.query.document.forms[0].p_text.value=s; } In this Document Symptoms Cause Solution This document is being delivered to you via Oracle Support's Rapid Visibility (RaV) Rapid Visibility (RaV) process, and therefore has not been subject to an independent technical review. Applies to: Oracle Server - Enterprise Edition - Version: 10.2.0.2Solaris Operating System (SPARC 64-bit)Solaris Operating System (SPARC 32-bit) Symptomso Unix RAC clustero intermittently these messages appear in the alert log:of the ASM instance: Errors in file /u01/admin/+ASM/udump/+asm1_ora_.trc:ORA-00603: ORACLE server session terminated by fatal errorORA-27504: IPC error creating OSD contexto the corresponding trace file '+asm1_ora_.trc' shows the following messages immediately after the trace file header: libskgxpd.so calledlibskgxp9.so should reference real implementationIPC OS error without diagnostic information...ORA-00603: ORACLE server session terminated by fatal errorORA-27504: IPC error creating OSD contextCurrent SQL information unavailable - no session.o neither ASM nor database instances seem to be affected by these errors i.e. work normally


Cause
Customer used some (Enterprise Manager) sqlplus job to monitor the ASM instance. This job had the environment variable(s) LD_LIBRARY_PATH and LD_LIBRARY_PATH_64 set pointing the lib directory of the Enterprise Manager Agent ORACLE_HOME.As the agent home never is RAC enabled the library libskgxp10.so (*) will be a dummy version for the IPC implementation (i.e. a copy of libskgxpd.so) hence the messages in the trace file.Even though the ORACLE_HOME environment variable was pointing to the correct (ASM) home the oracle shadow process was picking up the incorrect library due to the setting of LD_LIBRARY_PATH.(*) Please note that the trace file refers to 'libskgxp9.so' but in 10g it's actually libskgxp10.so

Solution
Unset the environment variable LD_LIBRARY_PATH before connecting to the (ASM) instance. With current releases there should be no need to explicitly set this variable - at least not when using the usual RDBMS tools like sqlplus, exp, imp etc.On some platforms (e.g.Linux) LD_LIBRARY_PATH is ignored if the executable is a setuid/setgid binary (as the oracle executable is) , but apparently not on Solaris so setting this environment variable should generally be avoided. If for some reason it is required one should make sure it points to the correct $ORACLE_HOME/lib directory.

No comments: