操作失误导致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数据库大恢复的另外一种语法重建控制文件的实际操作介绍,望你能有所收获。

分享题目:操作失误导致Oracle数据库大恢复的方法
文章来源:http://www.shufengxianlan.com/qtweb/news8/518658.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联