溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

解決oracle數(shù)據(jù)庫ORA-01081: cannot start already-running ORACLE - shut it down first的方法

發(fā)布時間:2020-11-13 17:49:39 來源:億速云 閱讀:5378 作者:小新 欄目:MySQL數(shù)據(jù)庫

這篇文章主要介紹解決oracle數(shù)據(jù)庫ORA-01081: cannot start already-running ORACLE - shut it down first的方法,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!

當(dāng)檢查oracle實(shí)例后臺進(jìn)程不存在這時啟動啟動數(shù)據(jù)庫報錯:     

  ORA-01081: "cannot start already-running ORACLE - shut it down first"    

造成此種原因是    

Orphaned shared memory segments and semaphores did not get cleared properly   

from the last instance shutdown.    

在oracle實(shí)例最后一次shutdown時,某一個孤立的共享內(nèi)存段和信號沒有被清理干凈    

解決方法    

可以利用ipcs來找出共享內(nèi)存段或者信號,利用ipcrm來手動清除  

orphaned shared memory segments(孤立的共享內(nèi)存段) 和semaphores(信號量)    

[root@wl ~]# ipcs -a     

------ Shared Memory Segments --------  

key        shmid      owner      perms      bytes      nattch     status                   

0x00000000 688138     oracle    640        4096       0                        

0x00000000 720907     oracle    640        4096       0                        

------ Semaphore Arrays --------  

key        semid      owner      perms      nsems       

0x000000a7 0          root      600        1           

0x00000000 688138     oracle    640        4096       0          

0x00000000 720907     oracle    640        4096       0            

[root@wl ~]# ipcs -m     

------ Shared Memory Segments --------  

key        shmid      owner      perms      bytes      nattch     status                 

0x00000000 688138     oracle    640        4096       0                     

0x00000000 720907     oracle    640        4096       0                       

         [root@wl ~]# ipcrm - m 720907   

ipcs: 檢查分配的共享內(nèi)存  

ipcrm:手動釋放共享內(nèi)存段    

取得ipc信息:    

ipcs [-m|-q|-s]  

-m       輸出有關(guān)共享內(nèi)存(shared memory)的信息  

-q       輸出有關(guān)信息隊(duì)列(message queue)的信息  

-s       輸出有關(guān)“信號量”(semaphore)的信息  

-a       使用所有打印選項(xiàng). (針對 -b, -c, -o, -p, and -t的速記符)     

Example:     

    ipcrm -m    shmid 號   - for shared memory   

    ipcrm -s    semid  號      - for semaphores        

OR    

Shutdown all the instances belonging to the user. Next, run "ipcs -b" to find the remaining IPC   

facilities, owned by the same user, and remove them.  However, if you're running multiple production   

instances, this may not be  acceptable.     

在多實(shí)例的情況下      

1. 運(yùn)行   

     ipcs -a > /tmp/ipcs_before.out       

2. 用 SQL*Plus 連接所有實(shí)例做一個簡單的查詢              

     select * from dual;      

3. 再次運(yùn)行   

      ipcs -a > /tmp/ipcs_after.out       

4. 對比 "/tmp/ipcs_before.out" 與 "/tmp/ipcs_after.out"  文件  

  查找 LPID 沒有改變的共享內(nèi)存段     

   These are the orphaned shared memory segments you are looking for:           

    LPID 顯示最后過程中附加或者分立共享內(nèi)存段的進(jìn)程 ID      

     因?yàn)?,通過在每一個活著的實(shí)例中執(zhí)行查詢,你會涉及到屬于各自實(shí)例的共享內(nèi)存段,  

   但是未涉及的共享內(nèi)存段將變成孤立的一個     

5. After identifying the orphaned shared memory segments, you can find    

   the orphaned semaphores by locating the semaphores with the same    

   value of CTIME in "ipcs -a" output as the value of CTIME for the    

   orphaned shared memory segments: CTIME shows the time when the    

   associated entry was created or changed.     

   在識別孤立的共享內(nèi)存段后,可以通過ipcs -a的輸出確定具有相同CTIME值的信號找到孤立的共享內(nèi)存段  

   作為相關(guān)孤立共享內(nèi)存段的值  

   解決oracle數(shù)據(jù)庫ORA-01081: cannot start already-running ORACLE - shut it down first的方法

以上是解決oracle數(shù)據(jù)庫ORA-01081: cannot start already-running ORACLE - shut it down first的方法的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI