Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Mailing Lists -> Oracle-L -> Re: Oracle error after recovery

Re: Oracle error after recovery

From: Anjan Thakuria <anjan.thakuria_at_eds.com>
Date: Thu, 20 Sep 2001 08:31:58 -0700
Message-ID: <F001.00393BAA.20010920084028@fatcity.com>

There is a utility in $ORACLE_HOME/bin/ named sysresv which will tell you about the instance. Even after having killed all the processes used by the instance if the shared memory segment is not cleared you might get that error. To find out which shared memory segment .... I am pasting a portion of a small note that I have written for our group... use of oradebug...
SVRMGR> oradebug ipc
-------------- Shared memory --------------

Seg Id     Address   Size
11902      80000000  691462144 
-----   So 11902 is the id of the shared memory segment
Total: # of segments = 1, size = 691462144
-------------- Semaphores ----------------
Total number of semaphores = 150
Number of semaphores per set = 150   &
Number of semaphore sets = 1
Semaphore identifiers:
 7798786    -----  7798786 is the semaphore id.
SVRMGR>
 
Once the semaphore ID is got just remove with the command Use
ipcrm –m  11902  --  < shared memory segment id > ipcrm –s    7798786  -- < shemaphore id >  
The above will clear the shared memory segment and the semaphore…. (Well we generally have to remove the above for a instance that is hung and cannot be got into. In these situations we have to proceed by the method of elimination. So the following..
At the unix prompt  the following will give all the shared memory segments and the semaphores present in the system. (Output from .
/db/app/oracle:>ipcs -b
IPC status from <running system> as of Wed Aug 15 13:35:57 2001 T     ID     KEY       
MODE       OWNER    GROUP
QBYTES
Message Queues:
q   5400 0x5a000641 -Rrw-rw-rw- alexbkup alexbkup  65535 q    501 0x5a000084 -Rrw-rw-rw-    
root     root  65535
q    603 0x5a000a35 -Rrw-rw-rw-    
root     root  65535
q    304 0x5a0003dc -Rrw-rw-rw-    
root     root  65535
q    105 0x5a000457 -Rrw-rw-rw-    
root     root  65535
q    806 0x5a000cd4 -Rrw-rw-rw-    
root     root  65535
T     ID     KEY       
MODE       OWNER    GROUP 

SEGSZ
Shared Memory:
m    800 0x41000097 --rw-rw-rw-    
root      dba2888704
m  36301 0x0999b640 --rw-rw----   oracle      dba37699584
m  11902 0x0999caa2 --rw-rw----   oracle      dba691462144
m  19603 0x0995b753 --rw-rw----   oracle      dba55001088
m 877104 0x4100009d --rw-rw-rw-     root      dba2888704
m 198905 0x41000094 --rw-rw-rw-     root      dba2888704
m  97406 0x41000090 --rw-rw-rw-     root      dba2888704
m  70707 0x0895adcd --rw-rw----   oracle      dba633757696
m  23608 0x4100006d --rw-rw-rw-     root      dba2888704
T     ID     KEY       
MODE       OWNER    GROUP
NSEMS
Semaphores:
s 524288 0x42000097 --ra-ra-ra-     root      dba     3
s23789569 00000000 --ra-ra----   oracle      dba   200
s7798786 00000000 --ra-ra----   oracle      dba   150
s12845059 00000000 --ra-ra----   oracle      dba   100
s574750724 0x4200009d --ra-ra-ra-     root      dba     3
s130285573 0x42000094 --ra-ra-ra-     root      dba     3
s63766534 0x42000090 --ra-ra-ra-     root      dba     3
s46268423 00000000 --ra-ra----   oracle      dba   200
s15400968 0x4200006d --ra-ra-ra-     root      dba     3
So if we have more than one instance running. First we have to find out the Shared Memory Segment and the Semaphores associated with each one of these instances. And then we would know which one to clear using the commands mentioned above.
 
In 8i ORACLE has provided the utility sysrev located in $ORACLE_HOME/bin in addition to the enhanced output from the oradebug utility. Once connected the oradebug ipc now creates a trace file in the udump directory. The trace file gives a lot of information as to the different areas associated with the SGA.

What I am trying to get at is that you might want to check if the shared memory segment associated with the instance is cleared and if not clear it.
 
 
HTH
Anjan.
 
Dale Edgar wrote:
Hi Ron
> I did a complete recovery of an Oracle instance.  Everything
looked great
> but when I bounced the instance
> and tried to bring it back up I got the following Oracle error. 
I have
> checked everything.  There are no other
> instances running.

Do you still have a sgadef<ORACLE_SID>.dbf  hanging around? Try stopping the
instance and moving/renaming this file. Oracle Note 18070.1 on Metalink may
also have a bit of useful information for you on this problem. Regards
Dale

DataBee - Oracle DataBase Subsets
The simple and easy way to create small versions of large Oracle databases. http://www.databee.com
--
Please see the official ORACLE-L FAQ: http://www.orafaq.com
--
Author: Dale Edgar
  INET: dale_at_databee.com
Fat City Network Services    -- (858) 538-5051 
FAX: (858) 538-5051
San Diego, California        --
Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You
may
also send the HELP command for other information (like subscribing).
Received on Thu Sep 20 2001 - 10:31:58 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US