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.  

 

以上的相关内容就是对如何解决一次误操作引起的Oracle数据库大恢复的介绍,望你能有所收获。

【编辑推荐】

  1. 关闭Oracle死锁进程的具体操作步骤
  2. 关闭Oracle死锁进程的具体操作步骤
  3. Oracle实现跨服务器操作详解
  4. Oracle客户端配置安装的实际操作步骤
  5. Oracle导入时需要用到两个相关程序
责任编辑:佚名 来源: 互联网
相关推荐

2011-02-28 13:31:17

Oracle数据库

2011-05-26 09:36:07

Oracle数据库Redo故障

2009-11-20 13:29:59

Oracle数据库恢复

2017-10-16 16:43:05

数据库Oracle数据丢失

2010-05-10 17:46:21

Oracle数据库

2011-08-24 10:45:23

Oracle数据库进程从属进程

2009-04-03 10:54:49

Oracle备份恢复

2011-03-24 17:21:42

Oracle数据库Redo故障

2011-08-01 14:50:10

日志挖掘数据库

2011-05-11 13:25:57

Oracle数据库后备恢复

2011-08-24 10:31:10

Oracle数据库进程后台进程

2010-04-12 10:40:49

Oracle数据库

2009-10-13 09:43:43

Oracle数据库备份

2011-04-12 15:44:08

Oracle数据库

2011-05-26 10:01:16

Oracle数据库ODU

2011-05-24 10:26:12

Oracle数据库日志文件

2010-04-02 09:30:27

Oracle数据库

2011-03-04 14:59:16

Raidoracle数据库

2011-08-29 16:41:14

OracleRMAN恢复数据文件的恢复

2011-08-24 10:15:55

Oracle数据库服务器进程
点赞
收藏

51CTO技术栈公众号