rhel5+oracle11gr2
SQL> alter database clear logfile group 1; (inactive)
SQL> alter database clear unarchived logfile group 1; (active )
在线日志为current时,稍微麻烦点。
shutdown immedaite 时
SQL> startup mount;
SQL> recover database until cancel;
SQL> alter database open resetlogs;
shutdown abort 时
SQL> startup mount;
SQL> recover database until cancel;
SQL> alter database open resetlogs;
如果在 alter database open resetlogs;提示
ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
ORA-01194: file 1 needs more recovery to be consistent
ORA-01110: data file 1: '/oradata/orcl/system01.dbf'
比较一下他们的值:
select checkpoint_change# from v$database;
select checkpoint_change# from v$datafile;
select checkpoint_change# from v$datafile_header;
如果一样 (不管一样不一样 )
alter system set "_allow_resetlogs_corruption"=TRUE scope=spfile;
然后重启数据库。
当全部online redo log都丢失了,可以按照上面的办法恢复。
1、 startup mount;
2、 恢复非current状态的日志
3、 recover database until cancel;
4、 alter database open resetlogs;
比较一下他们的值:
select checkpoint_change# from v$database;
select checkpoint_change# from v$datafile;
select checkpoint_change# from v$datafile_header;
如果一样(不管一样不一样)
alter system set "_allow_resetlogs_corruption"=TRUE scope=spfile;
然后重启数据库。
SQL> alter database clear logfile group 1; (inactive)
SQL> alter database clear unarchived logfile group 1; (active )
在线日志为current时,稍微麻烦点。
shutdown immedaite 时
SQL> startup mount;
SQL> recover database until cancel;
SQL> alter database open resetlogs;
shutdown abort 时
SQL> startup mount;
SQL> recover database until cancel;
SQL> alter database open resetlogs;
如果在 alter database open resetlogs;提示
ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
ORA-01194: file 1 needs more recovery to be consistent
ORA-01110: data file 1: '/oradata/orcl/system01.dbf'
比较一下他们的值:
select checkpoint_change# from v$database;
select checkpoint_change# from v$datafile;
select checkpoint_change# from v$datafile_header;
如果一样 (不管一样不一样 )
alter system set "_allow_resetlogs_corruption"=TRUE scope=spfile;
然后重启数据库。
当全部online redo log都丢失了,可以按照上面的办法恢复。
1、 startup mount;
2、 恢复非current状态的日志
3、 recover database until cancel;
4、 alter database open resetlogs;
比较一下他们的值:
select checkpoint_change# from v$database;
select checkpoint_change# from v$datafile;
select checkpoint_change# from v$datafile_header;
如果一样(不管一样不一样)
alter system set "_allow_resetlogs_corruption"=TRUE scope=spfile;
然后重启数据库。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/76103/viewspace-1212566/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/76103/viewspace-1212566/