--Add Group
SQL>
alter database add logfile group 4
(
'/u02/oradata/app/redo042.log',
'/u02/oradata/app/redo041.log'
) size 16M reuse;
--Add a member
SQL>
alter database add logfile member '/u02/reod041' to group 4
--Delete Group
SQL>
alter database drop logfile group 4;
--Delete a member of a group(不活动重做日志成员)
SQL>
alter database drop logfile member '/u02/redo02.log'
--clear命令重建日志文件(非当前重做日志)
SQL>
alter database clear logfile group 2
如果该重做日志还没有归档,需要以下命令
SQL>
alter database clear unarchived logfile group 2
--损坏当前联机日志的处理
1>数据库正常关闭,日志文件中没有未决的事务需要实例恢复。
当前日志组的损坏可以直接用alter database clear unarchived logfile group n来重建
2>日志组中有活动的事务,数据库需要media恢复,日志组需要同步,两种方式。
A:通过不完全恢复,可以保证数据库的一致性
alter database clear unarchived logfile group 1; --group 1 from v$log
out:error
reocver database until cancel; --auto
recover database until cancel; --cancel
alter database until resetlogs;
说明:
1、这种办法恢复的数据库是一致的不完全恢复,会丢失当前联机日志中的事务数据
2、这种方法适合于归档数据库并且有可用的数据库全备份。
3、恢复成功之后,记得再做一次数据库的全备份。
4、建议联机日志文件一定要实现镜相在不同的磁盘上,避免这种情况的发生,因为任何数据的丢失对于生产来 说都是不容许的。
B:通过强制性恢复,但是可能导致数据库不一致
alter database clear unarchived logfile group 1; --group 1 from v$log
out:error
shutdown immediate
vi int.ora
_allow_resetlogs_corruption=true;
reocver database until cancel --cancel
alter database open resetlogs
执行full export
shutdown ,remove _allow_resetlogs_corrupt
重建
import并完成恢复
说明:
1、该恢复方法是没有办法之后的恢复方法,一般情况下建议不要采用,因为该方法可能导致数据库的不一致
2、该方法也丢失数据,但是丢失的数据没有上一种方法的数据多,主要是未写入数据文件的已提交或未提交数据。
3、建议成功后严格执行full export之后的命令
4、全部完成后做一次数据库的全备份
5、建议联机日志文件一定要实现镜相在不同的磁盘上,避免这种情况的发生,因为任何数据的丢失对于生产来说都是不容许的。
阅读(827) | 评论(1) | 转发(0) |