DBAsupport.com Forums - Powered by vBulletin
Results 1 to 2 of 2

Thread: ORA-01102 CANNOT MOUNT DATABASE IN EXCLUSIVE MODE

  1. #1
    Join Date
    Aug 2002
    Posts
    40

    Angry

    I HAVE STANDLONE PC HAVING ORACLE DATABASE -8I INSTALLED ON WINDOWS NT.
    I CREATE ANOTHER DATABASE ON THE SAME PC SAY-"TEST" USING DIFFERENT SERVICE AND SID.DATABASE GETS CREATED .I CAN RUN CATLOG AND CATPROC SCRIPTS ALSO AND CREATE TABLESPACES AND USERS.

    BUT WHEN I SHUTDOWN AND TRY TO CONNECT AGAIN USING PFILE,IT GIVES ERROR-
    ORA-01102 UNABLE TO MOUNT DATABASE IN EXCLUSIVE MODE.
    ANY SUGGESTION.?

  2. #2
    Join Date
    May 2002
    Posts
    2,645
    Problem Explanation:
    ====================

    A database is started in EXCLUSIVE mode by default. Therefore, the
    ORA-01102 error is misleading and may have occurred due to one of the
    following reasons:

    - there is still an "sgadef.dbf" file in the "ORACLE_HOME/dbs"
    directory
    - the processes for Oracle (pmon, smon, lgwr and dbwr) still exist
    - shared memory segments and semaphores still exist even though the
    database has been shutdown
    - there is a "ORACLE_HOME/dbs/lk" file

    Solution Description:
    =====================

    Verify that the database was shutdown cleanly by doing the following:

    1. Verify that there is not a "sgadef.dbf" file in the directory
    "ORACLE_HOME/dbs".

    % ls $ORACLE_HOME/dbs/sgadef.dbf

    If this file does exist, remove it.

    % rm $ORACLE_HOME/dbs/sgadef.dbf

    2. Verify that there are no background processes owned by "oracle"

    % ps -ef | grep ora_ | grep $ORACLE_SID

    If background processes exist, remove them by using the Unix
    command "kill". For example:

    % kill -9

    3. Verify that no shared memory segments and semaphores that are owned
    by "oracle" still exist

    % ipcs -b

    If there are shared memory segments and semaphores owned by "oracle",
    remove the shared memory segments

    % ipcrm -m

    and remove the semaphores

    % ipcrm -s

    NOTE: The example shown above assumes that you only have one
    database on this machine. If you have more than one
    database, you will need to shutdown all other databases
    before proceeding with Step 4.

    4. Verify that the "$ORACLE_HOME/dbs/lk" file does not exist

    5. Startup the instance

    Solution Explanation:
    =====================

    The "lk" and "sgadef.dbf" files are used for locking shared memory.
    It seems that even though no memory is allocated, Oracle thinks memory is
    still locked. By removing the "sgadef" and "lk" files you remove any knowledge
    oracle has of shared memory that is in use. Now the database can start.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  


Click Here to Expand Forum to Full Width