程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> Oracle數據庫大恢復用殺Oracle進程來解決

Oracle數據庫大恢復用殺Oracle進程來解決

編輯:Oracle數據庫基礎

在解決由於一次誤操作而引起的Oracle數據庫大恢復的過程中, 由於shutdown abort實例有時起不到解決的作用,於是我們就采用殺Oracle進程,來刪除其共享內存段的做法,將掛起Oracle數據庫實力強制abort。

1、殺Oracle核心進程

引用

  1. [ora10g@test bdump]$ ps -ef|grep ora_  
  2. ora10g 14431 1 0 Feb21 ? 00:01:32 ora_pmon_streams  
  3. ora10g 14433 1 0 Feb21 ? 00:00:46 ora_psp0_streams  
  4. ora10g 14435 1 0 Feb21 ? 00:00:47 ora_mman_streams  
  5. ora10g 14437 1 0 Feb21 ? 00:06:57 ora_dbw0_streams  
  6. ora10g 14439 1 0 Feb21 ? 00:06:24 ora_lgwr_streams  
  7. ora10g 14441 1 0 Feb21 ? 00:46:13 ora_ckpt_streams  
  8. ora10g 14443 1 0 Feb21 ? 00:01:02 ora_smon_streams  
  9. ora10g 14445 1 0 Feb21 ? 00:00:00 ora_reco_streams  
  10. ora10g 14447 1 0 Feb21 ? 00:05:53 ora_cjq0_streams  
  11. ora10g 14449 1 0 Feb21 ? 00:03:15 ora_mmon_streams  
  12. ora10g 14451 1 0 Feb21 ? 00:02:47 ora_mmnl_streams  
  13. ora10g 14453 1 0 Feb21 ? 00:00:01 ora_d000_streams  
  14. ora10g 14455 1 0 Feb21 ? 00:00:03 ora_s000_streams  
  15. ora10g 14460 1 0 Feb21 ? 00:00:05 ora_qmnc_streams  
  16. ora10g 14468 1 0 Feb21 ? 00:00:08 ora_q000_streams  
  17. ora10g 14470 1 0 Feb21 ? 00:00:02 ora_q001_streams  
  18. ora10g 13622 1 0 03:08 ? 00:00:00 ora_j000_streams  
  19. ora10g 13710 12028 0 03:13 pts/5 00:00:00 grep ora_  
  20. [ora10g@test bdump]$ kill -9 14431 14433 14435 14437
     14439 14441 14443 14445 14447 14449 14451 14453 14455 14460 14468 14470 13622  

2、刪除Oracle 共享內存段

引用

  1. [ora10g@test bdump]$ ipcs  
  2. ------ Shared Memory Segments --------  
  3. key shmid owner perms bytes nattch status  
  4. 0xcc481b8c 1441796 ora10g 640 599785472 00x40b3b558 
    2818054 ora10g 640 1077936128 0  
  5. ------ Semaphore Arrays --------  
  6. key semid owner perms nsems  
  7. 0x0d908ec4 360448 ora10g 640 154  
  8. ------ Message Queues --------  
  9. key msqid owner perms used-bytes messages  
  10. [root@test ~]# ipcrm -m 1441796  
  11. [root@test ~]# ipcrm -s 360448  

在一次誤操作引起的Oracle數據庫大恢復的解決辦法中再次嘗試將實例打開,這裡用到了10015事件。

引用

  1. SQL> alter session set events '
    10015 trace name adjust_scn level 1';  
  2. Session altered.  
  3. SQL> alter database open;  
  4. alter database open  
  5. *  
  6. ERROR at line 1:  
  7. ORA-01113: file 1 needs media recovery  
  8. ORA-01110: data file 1: 
    '/ora10g/app/oradata/ldbra/system01.dbf'  
  9. SQL> recover database;  
  10. Media recovery complete.  
  11. SQL> alter database open;  
  12. Database altered.  

後續工作就是將tempfile添加到temp表空間中,終於恢復成功。

引用

  1. SQL> alter tablespace temp add tempfile
     '/ora10g/app/oradata/ldbra/temp01.dbf' size 50m reuse;  
  2. Tablespace altered.  
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved