如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

诗檀软件专业数据库修复团队

服务热线 : 13764045638 QQ号:47079569 邮箱:service@parnassusdata.com

  场景: 在数据库open的时候,删除控制文件和所有的redo文件。只有数据文件,shutdown abort 后。然后进行恢复。  

2.操作步骤

 

1.在参数文件中加入隐藏强制开库参数:

startup nomount   alter system set "_allow_resetlogs_corruption"=true scope=spfile; alter system set  undo_management=manual  scope=spfile;   --注意此处要设置回滚段为手动,否则就算打开了,实例还是可能会由于ORA-4194被PMON中止。   startup nomount force  

2.此时由于丢失了reodo,所以使用resetlogs 方式创建控制文件

  create controlfile reuse database "CRS" resetlogs noarchivelog logfile group 1 '/home/oracle/crs/REDO01.LOG' size 50M, group 2 '/home/oracle/crs/REDO02.LOG' size 50M, group 3 '/home/oracle/crs/REDO03.LOG' size 50M datafile '/home/oracle/crs/SYSTEM01.DBF', '/home/oracle/crs/SYSAUX01.DBF', '/home/oracle/crs/UNDOTBS01.DBF', '/home/oracle/crs/USERS01.DBF', '/home/oracle/crs/EXAMPLE01.DBF', '/home/oracle/crs/MYDB.DBF' maxlogfiles 50 maxdatafiles 200 maxlogmembers  3;  

3.尝试恢复并启动

recover database usibg backup controlfile until cancel; alter database open resetlogs;   注意此时还可能出现: ORA-16433   16433 当出现2662的时候,那么就需要重建控制文件     此时使用alter database open resetlogs会出现: ORA-01092: ORACLE instance terminated. Disconnection forced ORA-00600: internal error code, arguments: [2662], [0], [18045054], [0], [18045088], [4194432], [], [], [], [], [], [] Process ID: 16029 Session ID: 1 Serial number: 3   ORA-600-2262错误: 由于数据文件的SCN 大于数据的SCN  

4.处理ORA-2662并强制开库

考虑使用10015 来触发 adjust_scn,注意10g之后,adjust_scn默认是禁用的。必须在参数文件中设置_ALLOW_ERROR_SIMULATION=true: startup nomount alter system set "_ALLOW_ERROR_SIMULATION"=true shutdown immediate startup mount recover database until cancel using backup controlfile; --若出现ORA-16443重复步骤2,重新来过。     alter session set events '10015 trace name adjust_scn level 1'; alter database open restetlogs;     adjust_scn的计算方式:   一般情况只用看第5个值,例如 18045088 ,每10亿 是一个等级。 精确计算是第4个值 *4 +第5个值。此处就是0*4+18045088 小于10亿,所以此处设置 1就可以了。 会根据直接递增数据库的SCN     参考: Step by step to resolve ORA-600 4194 4193 4197 on database crash (文档 ID 1428786.1)