操作失误导致Oracle数据库大恢复的方法

数据库 Oracle
本文是对如何解决由于一次误操作而引起的Oracle数据库大恢复的另外一种语法,就是重建控制文件的实际操作步骤的介绍。

以下的相关内容主要介绍的是,解决由于一次误操作而引起的Oracle数据库大恢复的另外一种语法即,重建控制文件(重建控制文件之前,备份controlfile和online redolog)的实际操作方案。

引用

 

  1. Create controlfile reuse set database "LDBRA"  
  2. MAXINSTANCES 8  
  3. MAXLOGHISTORY 1  
  4. MAXLOGFILES 16  
  5. MAXLOGMEMBERS 3  
  6. MAXDATAFILES 100  
  7. Datafile  
  8. '/ora10g/app/oradata/ldbra/system01.dbf',  
  9. '/ora10g/app/oradata/ldbra/undotbs01.dbf',  
  10. '/ora10g/app/oradata/ldbra/sysaux01.dbf',  
  11. '/ora10g/app/oradata/ldbra/users01.dbf',  
  12. '/ora10g/app/oradata/ldbra/example01.dbf',  
  13. '/ora10g/app/product/10.2.0/db_1/dbs/ company.dbf',  
  14. '/ora10g/app/product/10.2.0/db_1/dbs/streams.dbf'  
  15. LOGFILE GROUP 1 ('/ora10g/app/oradata/ldbra/redo01.log')
     SIZE 51200K,  
  16. GROUP 2 ('/ora10g/app/oradata/ldbra/redo02.log')
     SIZE 51200K,  
  17. GROUP 3 ('/ora10g/app/oradata/ldbra/redo03.log') 
    SIZE 51200K RESETLOGS;  

 

用上述相关语句来解决由于一次误操作而引起的Oracle数据库大恢复的操作似乎重建成功了!但是进行recover的时候报错了!

引用

 

  1. SQL> RECOVER DATABASE USING BACKUP CONTROLFILE;  
  2. ORA-00283: recovery session canceled due to errors  
  3. ORA-00600: internal error code, arguments: [kcvhvdf_1], 
    [], [], [], [], [], [],  
  4. []   

 

可以看到控制文件在重建的过程中进行了dbid重置

引用

 

  1. SQL> select dbid from v$database;  
  2. DBID  
  3. 1498845164  

 

问题到这里似乎失去了头绪,呵呵,拷回之前备份的控制文件替换刚建的控制文件。因为我采用的是resetlog选项创建控制文件,从理论上来讲,应该是会重置redolog的,即重新创建redolog。但是目前采用此选项确报ORA-01227错误。不可思议!后来一想可能是跟数据文件中的dbid为0有关。于是采用终极修复方法,bbed!首先将所有数据文件的dbid用bbed工具重置为1488207495,其次将fuzzy标记打为0x2000(因为数据库被ckpt进程异常终止,将标记打为0x2000表示数据库是shutdown immediate关闭),采用上述方法之后控制文件成功创建!

引用

 

  1. SQL> STARTUP NOMOUNT  
  2. CREATE CONTROLFILE REUSE DATABASE "LDBRA" RESETLOGS 
    ARCHIVELOG  
  3. MAXLOGFILES 16  
  4. MAXLOGMEMBERS 3  
  5. MAXDATAFILES 100  
  6. MAXINSTANCES 8  
  7. MAXLOGHISTORY 292  
  8. LOGFILE  
  9. ORACLE instance started.  
  10. Total System Global Area 1073741824 bytes  
  11. Fixed Size 1271616 bytes  
  12. Variable Size 461375680 bytes  
  13. Database Buffers 608174080 bytes  
  14. Redo Buffers 2920448 bytes  
  15. GROUP 1 '/ora10g/app/oradata/ldbra/redo01.log' SIZE 50M,  
  16. GROUP 2 '/ora10g/app/oradata/ldbra/redo02.log' SIZE 50M,  
  17. GROUP 3 '/ora10g/app/oradata/ldbra/redo03.log' SIZE 50M  
  18. -- STANDBY LOGFILE  
  19. DATAFILE  
  20. '/ora10g/app/oradata/ldbra/system01.dbf',  
  21. '/ora10g/app/oradata/ldbra/undotbs01.dbf',  
  22. '/ora10g/app/oradata/ldbra/sysaux01.dbf',  
  23. '/ora10g/app/oradata/ldbra/users01.dbf',  
  24. '/ora10g/app/oradata/ldbra/example01.dbf',  
  25. '/ora10g/app/product/10.2.0/db_1/dbs/company.dbf',  
  26. '/ora10g/app/product/10.2.0/db_1/dbs/streams.dbf'  
  27. CHARACTER SET ZHS16GBK  
  28. 21 ;  
  29. Control file created.  

 

尝试打Oracle开数据库

 

  1. SQL> alter database open RESETLOGS; 

出现数据库挂起状态,后台alert日志显示[2662]错误,呵呵,看到这个错误,希望就来了!

引用

 

  1. SMON: enabling cache recovery  
  2. Tue Mar 9 03:11:38 2010  
  3. Errors in file /ora10g/app/admin/ldbra/udump/
    ldbra_ora_13676.trc:  
  4. ORA-00600: internal error code, arguments: 
    [2662], [2268], [3799096903], [2268], [3799098345], 
    [8388617], [], []  
  5. Tue Mar 9 03:11:40 2010  
  6. Errors in file /ora10g/app/admin/ldbra/udump/
    ldbra_ora_13676.trc:  
  7. ORA-00600: internal error code, arguments: [2662],
     [2268], [3799096903], [2268], [3799098345], [8388617],
     [], []  
  8. Tue Mar 9 03:11:40 2010  

 

以上的相关内容就是对解决由于一次误操作而引起的Oracle数据库大恢复的另外一种语法重建控制文件的实际操作介绍,望你能有所收获。

【编辑推荐】

  1. Oracle绑定变量如何提升相关效率
  2. Oracle导入时需要用到两个相关程序
  3. Oracle实现跨服务器操作详解
  4. 关闭Oracle死锁进程的具体操作步骤
  5. 关闭Oracle死锁进程的具体操作步骤

 

 

责任编辑:佚名 来源: 博客园
相关推荐

2009-04-08 08:26:56

Sun沦落福布斯

2010-05-10 17:46:21

Oracle数据库

2011-02-28 13:31:17

Oracle数据库

2011-04-12 15:44:08

Oracle数据库

2021-09-01 09:19:11

产品用户体验提醒

2010-04-02 09:44:23

Oracle数据库

2010-11-15 15:34:30

ORACLE数据库恢复

2011-05-11 13:25:57

Oracle数据库后备恢复

2011-03-24 17:21:42

Oracle数据库Redo故障

2010-11-19 13:28:13

2009-11-20 13:29:59

Oracle数据库恢复

2011-05-26 09:36:07

Oracle数据库Redo故障

2010-04-15 12:43:06

Oracle数据库

2010-04-12 10:40:49

Oracle数据库

2011-05-26 10:01:16

Oracle数据库ODU

2011-08-29 16:41:14

OracleRMAN恢复数据文件的恢复

2017-10-16 16:43:05

数据库Oracle数据丢失

2010-05-17 15:00:06

IIS服务

2009-04-03 10:54:49

Oracle备份恢复

2010-04-20 16:56:19

Oracle数据库
点赞
收藏

51CTO技术栈公众号