您好,登錄后才能下訂單哦!
這篇文章主要介紹解決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的方法的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(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)容。