oracle重做日志表空间,oracle 恢复重做日志

这篇博客介绍了Oracle数据库中日志组损坏的处理方法。包括:1) 当日志成员损坏时,如何切换并删除损坏日志,然后添加新日志;2) 非活动日志组所有日志损坏时,在数据库不同状态下的处理策略,如清除未归档日志或重建日志组;3) 当前日志组所有日志损坏时,在关闭和打开状态下如何进行恢复操作。这些步骤涉及数据库的日常维护和灾难恢复。
摘要由CSDN通过智能技术生成

一: 日志组的某个日志成员损坏

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/,如需转载,请注明出处,否则将追究法律责任。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值