`
wuhuizhong
  • 浏览: 669126 次
  • 性别: Icon_minigender_1
  • 来自: 中山
社区版块
存档分类
最新评论

ORA-1507问题处理一例

 
阅读更多

問題: 用户反映系統早上不能登入使用

處理:
1.檢查資料庫服務已shutdown, 執行重啟亦不成功。
2.檢查alert_pye.log, 發現有錯誤信息:ORA-1507 signalled during: ALTER DATABASE OPEN...
3.通過硬體管理人員了解,昨天晚上主機有異常重啟(原因為磁碟陣列故障),说明Oracle被异常关闭时,有资源没有被释放:
<1>.Oracle的共享内存段或信号量没有被释放;
<2>.Oracle的后台进程(如SMON、PMON、DBWn等)没有被关闭;
4.檢查共享内存段,清除oracle的信号量,关闭没有完全关闭的Oracle进程。
<1>.查看共享内存段
$ ipcs -map

------ Shared Memory Creator/Last-op --------
shmid      owner      cpid       lpid     
2260993    root       4025       4036     
2293762    root       4025       4036     
2326531    root       4025       4036     
2359300    oracle     6184       13886    


------ Message Queues PIDs --------
msqid      owner      lspid      lrpid

<2>.根据ID号清楚共享内存段
$ ipcrm -m 2359300

<3>.查看信号量
$ ipcs -s

------ Semaphore Arrays --------
key        semid      owner      perms      nsems    
0x95ecf048 131073     oracle    660        187      
0x95ecf049 163842     oracle    660        187      
0x95ecf04a 196611     oracle    660        187      
0x95ecf04b 229380     oracle    660        187      
0x95ecf04c 262149     oracle    660        187      
0x95ecf04d 294918     oracle    660        187      
0x95ecf04e 327687     oracle    660        187      
0x95ecf04f 360456     oracle    660        187      
0x95ecf050 393225     oracle    660        187      
0x95ecf051 425994     oracle    660        187      
0x95ecf052 458763     oracle    660        187      
0x95ecf053 491532     oracle    660        187      
0x95ecf054 524301     oracle    660        187      
0x95ecf055 557070     oracle    660        187      
0x95ecf056 589839     oracle    660        187      
0x95ecf057 622608     oracle    660        187      
0x95ecf058 655377     oracle    660        187

<4>.清除oracle的信号量
$ ipcrm -s 131073
$ ipcrm -s 163842
$ ipcrm -s 196611
$ ipcrm -s 229380
$ ipcrm -s 262149
$ ipcrm -s 294918
$ ipcrm -s 327687
$ ipcrm -s 360456
$ ipcrm -s 393225
$ ipcrm -s 425994
$ ipcrm -s 458763
$ ipcrm -s 491532
$ ipcrm -s 524301
$ ipcrm -s 557070
$ ipcrm -s 589839
$ ipcrm -s 622608
$ ipcrm -s 655377

<5>.再次查询确认
$ ipcs -s

<6>.再查询共享内存段

$ ipcs -m

<7>.关闭没有完全关闭的Oracle进程
$ kill -9 <PID>

5.重啟資料庫成功。


6.延伸其他:
資料庫有設置隨主機重啟而自動啟動,但是由於主機重啟並沒有掛接全部磁碟分區,部分磁碟分區需手動掛接,導致資料庫啟動時無法讀取datafile而導致失敗。
為避免後續發生類似情形,需取消設置資料庫隨主機重啟而自動啟動,改為手動執行啟動資料庫服務。


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics