首页 > 代码库 > ORA-01102 报错解决方法

ORA-01102 报错解决方法

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<sid>.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<db_name>" file 
Solution Description: 
===================== 
Verify that the database was shutdown cleanly by doing the following: 
1. Verify that there is not a "sgadef<sid>.dbf" file in the directory 
   "ORACLE_HOME/dbs".   
   % ls $ORACLE_HOME/dbs/sgadef<sid>.dbf 
   If this file does exist, remove it. 
   % rm $ORACLE_HOME/dbs/sgadef<sid>.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 <Process_ID_Number> 
3. Verify that no shared memory segments and semaphores that are owned  
   by "oracle" still exist 
   % ipcs -a 
   If there are shared memory segments and semaphores owned by "oracle",
   remove the shared memory segments  
   % ipcrm -m <Shared_Memory_ID_Number> 
   and remove the semaphores  
   % ipcrm -s <Semaphore_ID_Number> 
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<db_name>" file does not exist 
   if exit,remove it use ‘rm’ command.
5. Startup the instance 

ORA-01102 报错解决方法