[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference eps::oracle

Title:Oracle
Notice:For product status see topics: UNIX 1008, OpenVMS 1009, NT 1010
Moderator:EPS::VANDENHEUVEL
Created:Fri Aug 10 1990
Last Modified:Fri Jun 06 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:1574
Total number of notes:4428

1544.0. "ORA-07320/ORA-07306. Oracle won't start." by EPS::NGUYEN (Without fools there would be no wisdom.) Mon Apr 14 1997 18:28

I'm trying to startup my Oracle database (V 7.3.2.3) on D/U 4.0B 
and get the following error messages:

SVRMGR> connect internal
Connected to an idle instance.
SVRMGR> startup
ORA-07320: smsget: shmat error when trying to attach sga.
DEC OSF/1 (AXP) Error: 13: Permission denied
ORA-07306: sms1sg: shmget error, unable to get a shared memory segment.
DEC OSF/1 (AXP) Error: 17: File exists
Additional information: 1
SVRMGR> exit

I could not find my "sgadef..." file anywhere:
# cd $ORACLE_HOME
# find . -name sgadefCN.dbf
find: bad status-- ./ocommon/nls/admin/data/lx1003d.nlb
# find . -name sgadefCN.ora
find: bad status-- ./ocommon/nls/admin/data/lx1003d.nlb

I've assumed I've lost this file somehow.  Can anyone help me of how to 
recreate this file or how to start my Database again? (Yup, I've started 
it up and shut it down several times before)

Many thanks.
Gina Nguyen 
T.RTitleUserPersonal
Name
DateLines
1544.1couple of things to checkALFAM7::GOSEJACOBTue Apr 15 1997 13:1434
    re .0
    Trying to find the file '$ORACLE_HOME/dbs/sgadef$ORACLE_SID.dbf' while
    the instance is down will always fail. The sgadef file only exists if
    your instance is running or crashed without removing it. You can
    manually remove it by typing 'shutdown abort' in svrmgrl whenever the
    Oracle kernel crashed without cleaning up. But there's no way to
    manually create the file.
    
    Now back to your error messages:
    oerr ora 7320
    07320, 00000, "smsget: shmat error when trying to attach sga."
    // *Cause:  Unable to attach segment.  
    // *Action: Check errno. sercose[0] returns segment id. Verify segment 
    //          exists and that permissions are correct.
    oerr ora 7306
    07306, 00000, "sms1sg: shmget error, unable to get a shared memory segment."
    // *Cause:  Error in shmget. The code fails to find a single segment large 
    //          enough for the entire SGA, but cannot continue to the next 
    //          allocation model because of a fatal error.
    // *Action: Check errno returned. Verify that enough shared memory is available 
    //          on the system to fit the entire SGA.
    
    Looks like the 7320 is a follow on error to the 7306. There maybe
    several reasons why the Oracle kernel wasn't able to allocate the
    shared memory segments needed for the size of the SGA you have
    configured. I guess you need to check the init.ora parameters against
    your kernel settings for shared memory and process address space. One
    of the first things to check: type 'ipcs -ma' and see if there are
    shared memory segments allocated which are probably not valid any more
    (in which case ipcrm is your friend).
    Hope this helps
    
    	Martin
   
1544.2Yup, that was so. Many thanks.EPS::NGUYENWithout fools there would be no wisdom.Tue Apr 15 1997 13:3514
Martin,

Thank you very much.

The problem was that I use ASE and somehow the database was down 
unclean (as you've pointed out earlier) when there's a hard error 
on an RZ drive.  Although the sgadef<SID>.dbf file was not there, 
your "ipcs" commands do help me with the mess.
   
I've needed to depend on ASE to fix the other related bug.

Again, thank you very much.
Gina Nguyen