ITPub博客

首页 > 数据库 > Oracle > redo日志损坏下的开库实验操作过程

redo日志损坏下的开库实验操作过程

原创 Oracle 作者:woods_su 时间:2016-03-22 09:03:52 0 删除 编辑
(一)实验环境

 

直接删除控制文件和所有redor日志

(二)重建控制文件和redo文件

 

 

CREATE CONTROLFILE reuse database "CRS"  RESETLOGS ARCHIVELOG

   LOGFILE GROUP 1 '/u01/app/oracle/oradata/CRS/REDO01.LOG' size 50m,

           GROUP 2 '/u01/app/oracle/oradata/CRS/REDO02.LOG' size 50m,

           GROUP 3 '/u01/app/oracle/oradata/CRS/REDO03.LOG' size 50m

   DATAFILE '/u01/app/oracle/oradata/CRS/SYSAUX01.DBF',

            '/u01/app/oracle/oradata/CRS/SYSTEM01.DBF',

            '/u01/app/oracle/oradata/CRS/UNDOTBS01.DBF',

            '/u01/app/oracle/oradata/CRS/USERS01.DBF',

            '/u01/app/oracle/oradata/CRS/EXAMPLE01.DBF',

            '/u01/app/oracle/oradata/CRS/MYDB.DBF'

maxlogfiles 50

maxdatafiles 200

maxlogmembers  3;

 

(三)尝试开库

 




(四)设置隐藏参数



ORA-00600[2662]错误

 


 

再次重启,报16433错误,那么就要重建控制文件

 

重建控制文件后,发现上面报错的2262里的第二个参数SCN值上涨了


 

(五)测试多次重启看能否成功开启数据库

 

由于我这是实验环境,因此数据库的SCN比当前SCN大不了多少,重启几次,看能不能上涨到一致状态。

经过几次重启之后,两个SCN已经快接近了


 

再重启一次,发现两个值全变了,特别是当前SCN值突然涨了一千多,也就是这边实验多次重启并不能成功开启数据库。(有较大疑问)





(六)通过修改ADJUST_SCN事件来调整当前的SCN


1)启动数据库到nomount状态下,修改初始化参数并重新启动库到nomount

alter system set "_allow_error_simulation"=true scope=spfile;

alter system set undo_management=munal scope=spfile;

2)用上面的建控制文件语句再次重建控制文件

3recover数据库

recover database using backup controlfile until cancel;




4)设置ADJUST_SCN事件,并打开数据库

alter session set events '10015 trace name adjust_scn level 1';

alter database open resetlogs;




 

level值计算参考:


 

 

5)最后给临时表空间添加临时文件

alter tablespace temp add tempfile '/u01/app/oracle/oradata/CRS/TEMP01.DBF' size 30m;

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30935525/viewspace-2061498/,如需转载,请注明出处,否则将追究法律责任。

下一篇: linux 基础
请登录后发表评论 登录
全部评论

注册时间:2016-02-29

  • 博文量
    41
  • 访问量
    62316