Pages

Tuesday 13 March 2012

ORA-00600: internal error code, arguments: [spstp: ORACLE_HOME uid does not match euid]

Recently, all databases went down because of uid of "oracle" user was changed by system admin. When I tried to bring up the database, got error as

04:02:31 SYS@MDMDV7>startup;
ORA-27121: unable to determine size of shared memory segment
Linux-x86_64 Error: 13: Permission denied
04:02:35 SYS@MDMDV7>exit


and in the alter log, the error was


Errors in file /orasw/app/oracle/admin/MDMDV7/bdump/diag/rdbms/mdmdv7/MDMDV7/trace/MDMDV7_w000_27702.trc  (incident=79650):
ORA-00600: internal error code, arguments: [spstp: ORACLE_HOME uid does not match euid], [1014], [54321], [], [], [], [], [], [], [], [], []
Incident details in: /orasw/app/oracle/admin/MDMDV7/bdump/diag/rdbms/mdmdv7/MDMDV7/incident/incdir_79650/MDMDV7_w000_27702_i79650.trc
Errors in file /orasw/app/oracle/admin/MDMDV7/bdump/diag/rdbms/mdmdv7/MDMDV7/incident/incdir_79650/MDMDV7_w000_27702_i79650.trc:
ORA-00600: internal error code, arguments: [spstp: ORACLE_HOME uid does not match euid], [1014], [54321], [], [], [], [], [], [], [], [], []
Process W000 died, see its trace file
Tue Mar 13 03:33:05 2012
Errors in file /orasw/app/oracle/admin/MDMDV7/bdump/diag/rdbms/mdmdv7/MDMDV7/trace/MDMDV7_w000_27708.trc  (incident=79658):
ORA-00600: internal error code, arguments: [spstp: ORACLE_HOME uid does not match euid], [1014], [54321], [], [], [], [], [], [], [], [], []
Incident details in: /orasw/app/oracle/admin/MDMDV7/bdump/diag/rdbms/mdmdv7/MDMDV7/incident/incdir_79658/MDMDV7_w000_27708_i79658.trc
Errors in file /orasw/app/oracle/admin/MDMDV7/bdump/diag/rdbms/mdmdv7/MDMDV7/incident/incdir_79658/MDMDV7_w000_27708_i79658.trc:
ORA-00600: internal error code, arguments: [spstp: ORACLE_HOME uid does not match euid], [1014], [54321], [], [], [], [], [], [], [], [], []

and file permissions were being shown as

drwxr-xr-x 2  54321 oinstall       4096 Feb 26 23:40 DXTRNSL
drwxr-xr-x 2  54321 oinstall       4096 Mar  6 05:29 D72000I1

oracle@sfogbu015.us.oracle.com /mdm_oradata_02



Solution:
1. Change the file permission to oracle user

chown -R oracle:oinstall data_file_folder

chown -R oracle:oinstall $ORACLE_BASE folder



2.reboot the server with root user

#> reboot
Broadcast message from root (pts/6) (Tue Mar 13 04:23:04 2012):

The system is going down for reboot NOW!

3.Bring up the databases now

#> sqlplus '/as sysdba'

SQL*Plus: Release 11.2.0.1.0 Production on Tue Mar 13 04:18:44 2012

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

Connected to an idle instance.

04:18:47 SYS@MDMDV7>startup;
ORACLE instance started.

Total System Global Area 1068937216 bytes
Fixed Size                  2220200 bytes
Variable Size             457183064 bytes
Database Buffers          603979776 bytes
Redo Buffers                5554176 bytes
Database mounted.
Database opened.


4 comments:

  1. Patrol was generating alot of trace files in this directory and when it goes unnoticed if fill rdbms/log and causes the filesystem to reach 100% and that will prevent any connection to the db and halt processes with no space left on device errors. The patrol trace files have ...
    ----- Error Stack Dump -----
    ORA-00600: internal error code, arguments: [spstp: ?/lib uid does not match euid], [1468], [2133], [], [], [], [], [], [], [], [], []
    ----- SQL Statement (None) -----
    Current SQL information unavailable - no SGA.

    I did change the permission to 745 for the log directory and that seems to have stopped patrol from writing to that directory. Its a bit strange but the open permission on the directory before allowed patrol to dump those files in there. Changing the permission might be masking the real problem but the trace files have stopped.

    ReplyDelete
    Replies
    1. Thanks for your explain on the issue you faced and solution. Could you let me know if you were able to connect to database after clearing space in $ORACLE_HOME file system.

      Regards,
      Sangamesh

      Delete