Oracle数据库的大恢复

2012-11-12

  以下的文章主要介绍的是由于一次误操作而引起的Oracle数据库的大恢复,前两天我在Oracle 10g手动建库脚本中柔然看到dbms_backup_restore.zerodbid(0)的过程,其中主要的作用是修改Oracle数据库的dbid。

  于是想通过该存储直接在sqlplus中执行修改dbid。

  修改之前记录其dbid

  引用

  1.SQL> select dbid from v$database;

  2.DBID

  3.1488207495

  修改dbid

  引用

  1.SQL> exec dbms_backup_restore.zerodbid(0);

  2.PL/SQL procedure successfully completed.

  貌似执行成功了,但随后alert日志显示ckpt进程将数据实例终止

  引用

  1.Tue Mar 9 01:43:22 2010

  2.CKPT: terminating instance due to error 1242

  3.Instance terminated by CKPT, pid = 16653

  4.Tue Mar 9 01:43:53 2010

  再次启动Oracle数据库报错

  引用

  1.Tue Mar 9 01:56:09 2010

  2.Errors in file /ora10g/app/admin/ldbra/udump/ldbra_ora_12275.trc:

  3.ORA-01221: data file 1 is not the same file to a background process

  4.ORA-1221 signalled during: ALTER DATABASE OPEN...

  dump Oracle数据文件头

  引用

  1.SQL> ALTER SESSION SET EVENTS 'immediate trace name file_hdrs level 3';

  通过跟踪文件可以看到dbid以被重置为0

  引用

  1.V10 STYLE FILE HEADER:

  2.Compatibility Vsn = 169870080=0xa200300

  3.Db ID=0=0x0, Db Name='LDBRA'

  4.Activation ID=0=0x0

  5.Control Seq=8122=0x1fba, File size=65280=0xff00

  6.File Number=1, Blksiz=8192, File Type=3 DATA

  还有一种途径是通过bbed工具观察

  引用

  1.struct kcvfhhdr, 76 bytes @20

  2.ub4 kccfhswv @20 0x00000000

  3.ub4 kccfhcvn @24 0x0a200300

  4.ub4 kccfhdbi @28 0x00000000

  当然第一反应是重建控制文件,看看能不能恢复成功

  引用

  1.SQL> alter database backup controlfile to trace;

  2.Database altered.

  3.STARTUP NOMOUNT

  4.CREATE CONTROLFILE REUSE DATABASE "LDBRA" RESETLOGS ARCHIVELOG

  5.MAXLOGFILES 16

  6.MAXLOGMEMBERS 3

  7.MAXDATAFILES 100

  8.MAXINSTANCES 8

  9.MAXLOGHISTORY 292

  10.LOGFILE

  11.GROUP 1 '/ora10g/app/oradata/ldbra/redo01.log' SIZE 50M,

  12.GROUP 2 '/ora10g/app/oradata/ldbra/redo02.log' SIZE 50M,

  13.GROUP 3 '/ora10g/app/oradata/ldbra/redo03.log' SIZE 50M

  14.-- STANDBY LOGFILE

  15.DATAFILE

  16.'/ora10g/app/oradata/ldbra/system01.dbf',

  17.'/ora10g/app/oradata/ldbra/undotbs01.dbf',

  18.'/ora10g/app/oradata/ldbra/sysaux01.dbf',

  19.'/ora10g/app/oradata/ldbra/users01.dbf',

  20.'/ora10g/app/oradata/ldbra/example01.dbf',

  21.'/ora10g/app/product/10.2.0/db_1/dbs/company.dbf',

  22.'/ora10g/app/product/10.2.0/db_1/dbs/streams.dbf'

  23.CHARACTER SET ZHS16GBK

    考试大温馨提示:本内容来源于网络,仅代表作者个人观点,与本站立场无关,仅供您学习交流使用。其中可能有部分文章经过多次转载而造成文章内容缺失、错误或文章作者不详等问题,请您谅解。如有侵犯您的权利,请联系我们,本站会立即予以处理。

    相关推荐

    oracle中的rownum总结

    oracle维护常用语句

    数据库系统实现:数据库实现概论

分享到:
0
相关阅读
友情链接
© 2018 我考网 http://www.woexam.com 中国互联网举报中心 湘ICP备18023104号 京公网安备 11010802020116号
违法和不良信息举报:9447029@qq.com