重做日志文件分为在线重做日志和归档重做日志,本文主要讲解在线重做日志。
在线重做日志有四种状态:current、active、inactive、unused
current是当前使用的日志组,正在进行写入写出,不能被删除;
active是已经切换完的日志组,但还没有归档完成,正在归档进行中,如果实例发生失败,也需要这个组进行实例恢复,所以不能删除;
inactive是已经切换完的日志组,也已经归档完成了,可以被删除;
unserd是还没有使用的日志组,可以被删除。
建立数据库时必须要最少建立两个在线重做日志组。如果有两个在线重做日志组,数据库是归档状态,这样一旦第一个在线重做日志组写满切换后,第一个在线重做日志组会把数据归档到归档文件中,同时,新的在线重做日志也被写到第二个在线重做日志组中。
alter system switch logfile;是强制日志切换,不会触发检查点事件。强制日志切换不同于正常的日志切换,正常日志切换时产生的检查点事件叫增量检查点事件。
alter system switch logfile;
是强制日志切换,不一定就归档当前的重做日志文件 (若自动归档打开,就归档前的重做日志,若自动归档没有打开,就不归档当前重做日志。)
alter system archive log current ;是归档当前的在线重做日志文件,不管自动归档有没有打都归档。
主要的区别在于:
alter system switch logfile;对单实例数据库或RAC中的当前实例执行日志切换,会造成RAC中不同实例间的日志序列号不同
而 alter system archive log current ;会对数据库中的所有实例执行日志切换。
为什么执行热备后要执行alter system archive log current 这个语句,看到很多脚本都是这样写的。
一般的RMAN脚本都是这样写的,因为RMAN是可以备份归档日志的。
alter system archive log current 这样后就可以将所有的归档都备份出来了。这样做是为了保证数据的完整和一致。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/20928639/viewspace-750237/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/20928639/viewspace-750237/