ITPub博客

首页 > Linux操作系统 > Linux操作系统 > oracle 恢复重做日志

oracle 恢复重做日志

原创 Linux操作系统 作者:season0891 时间:2008-12-18 16:07:17 0 删除 编辑
一: 日志组的某个日志成员损坏
1 找出损坏的日志
2 如果是当前日志则进行切换
3 删除损坏的日志
4 添加可用的日志
具体命令如下:
select member from v$logfile;
alter database drop logfile member 'd:\demo\redo01_2.log';
如果有错误提示则:
alter database switch logfile ;
alter database drop logfile member 'd:\demo\redo01_2.log';
最后:
alter database add logfile member 'd:\demo\redo01_3.log'  to group 1;
二 :非活动日志组的所有日志全部损坏
1 database open 状态
非活动的日志组成员介质损坏则 oracle 可以正常工作,当切换日志组的时候,日志不能归档,后台进程LGWR会等待:
alter databae clear unarchived logfile group 1;
此时oracle会重建日志组一的所有成员 ,后台进程LGWR 可以继续正常工作。但因为日志组的内容没有被归档,所以导致过去的数据文件备份不能使用 。
2 database close 状态
 可以增加新的日志组 删除原有的日志组
alter databae mount ;
alter database add logfile ('d:\backup\redo01.log','d:\backup\redo02.log' ) size 100m;
alter database drop logfile group 1;
alter database open;

三 :当前日志组的所有日志成员全部损坏
1  在关闭状态下当前日志组所有日志成员全部损坏
在关闭状态下 因为数据文件和控制文件都处于完全一致的状态:
recover database until cancel;
alter database open resetlogs;
2  在open状态下当前日志组所有日志成员全部损坏
要使用数据文件的备份和归档日志执行基于取消的不完全恢复:
sql>conn sys/oracle@demo as sysdba
sql>startup mount;
sql>host copy d:\backup\ 所有的数据文件备份  d:\demo
sql>recover database until cancel ;
sql>alter database open resetlogs;

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

请登录后发表评论 登录
全部评论

注册时间:2008-06-10

  • 博文量
    791
  • 访问量
    1936232