ora 01102問題的解決

2021-08-27 09:30:36 字數 1944 閱讀 7194

2023年10月5號周五,某網友

測試資料庫

不能正式開啟,提示ora-01102錯誤

sql> startup

oracle

instance started.

total system global area252776884 bytes

fixed size450996 bytes

variable size218103808 bytes

database buffers33554432 bytes

redo buffers667648 bytes

ora-01102: cannot mount database in exclusive mode

sql> shutdown immediate

ora-01507: database not mounted

oracle instance shut down.

sql> exit

經檢查發現用於鎖記憶體的檔案lk檔案沒有被刪除,刪除後,資料庫成功open。

另:出現1102錯誤可能有以下幾種可能:

一、在ha系統中,已經有

其他 節點啟動了例項,將雙機共享的資源(如磁碟陣列上的裸裝置)占用了;

二、說明oracle被異常關閉時,有資源沒有被釋放,一般有以下幾種可能,

1、 oracle的共享記憶體段或訊號量沒有被釋放;

2、 oracle的後台程序(如smon、pmon、dbwn等)沒有被關閉;

3、 用於鎖記憶體的檔案lk和sgadef.dbf檔案沒有被刪除。

如果懷疑是共享記憶體沒有被釋放,可以用以下命令檢視:

[oracle@ ~]$ ipcs - s

------ shared memory segments --------

keyshmidownerpermsbytesnattchstatus

0x00000000 0oracle640419430417

0x00000000 32769oracle6403355443217

0x00000000 65538oracle6403355443217

0x00000000 98307oracle6403355443217

0x00000000 131076oracle6403355443217

0xd0dccdb8 425987oracle10g 640154

然後它id號清除共享記憶體段:

$ipcrm –m 425987

對於訊號量,可以用以下命令檢視:

------ semaphore arrays --------

keysemidownerpermsnsems

0x1466c384 98304oracle640162

0x1466c385 131073oracle640162

0x1466c386 163842oracle640162

0xd0dccdb8 425987oracle10g 640154

0xebf842f8 950276oracle640162

0xebf842f9 983045oracle640162

0xebf842fa 1015814oracle640162

根據訊號量id,用以下命令清除訊號量:

$ipcrm -s 425987

如果是oracle程序沒有關閉,用以下命令查出存在的oracle程序:

ps -ef|grep ora

然後 kill -9

當發生1102錯誤時,可以按照以下流程檢查、排錯:

1.如果是ha系統,檢查其他節點是否已經啟動例項;

2.檢查oracle程序是否存在,如果存在則殺掉程序;

3.檢查訊號量是否存在,如果存在,則清除訊號量;

4.檢查共享記憶體段是否存在,如果存在,則清除共享記憶體段;

5.檢查鎖記憶體檔案lk和sgadef.dbf是否存在,如果存在,則刪除。

ora 01102解決辦法

這是個常見的錯誤。下面這個case講述了如何fix.一 提出問題 實際過程中有時我們會遇到這樣的問題,當你用startup試圖啟動資料庫時會遇到ora 01102的報錯。我們可以在unix下切換到oracle的使用者,執行一下oerr ora 1102便會看到有關1102的簡短的描述,如下 oerr...

Oracle啟動資料庫報ORA 01102解決辦法

一 資料庫 1.機器啟動之後登入伺服器使用sqlplus as sysdba 登入資料庫發現資料庫並沒有啟動之前把資料庫服務新增過開機自啟動 2.使用startup命令啟動資料庫報錯了 sys orcl startup oracle 例程已經啟動。total system global area 2...

ora 27054問題的解決

可通過以下三種方式進行解決 1 設定事件10298 level 32 alter system set event 10298 trace name context forever,level 32 scope spfile 重新啟動資料庫後生效.2 打補丁 5146667 3 mount nfs目...