Code Snippet

Just another Code Snippet site

ORA-01102: cannot mount database in exclusive

is often 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

,


2 thoughts on “ORA-01102: cannot mount database in exclusive

  • POSSIBLE SOLUTION:
    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

  • After a DB migration, check the old binaries are not running anymore

Leave a Reply to OLIVIER COMBE Cancel reply

Your email address will not be published. Required fields are marked *