日期:2014-05-16  浏览次数:20407 次

Oracle 重做日志归档

1、alter system switch logfile 是强制日志切换,不一定就归档当前的重做日志文件

(若自动归档打开,就归档当前的重做日志,若自动归档没有打开,就不归档当前重做日志。)
alter system archive log current 是归档当前的重做日志文件,不管自动归档有没有打都归档。
主要的区别在于:
ALTER SYSTEM SWITCH LOGFILE对单实例数据库或RAC中的当前实例执行日志切换;
而ALTER SYSTEM ARCHIVE LOG CURRENT会对数据库中的所有实例执行日志切换。

?

为什么执行热备后要执行alter system archive log current 这个语句,看到很多脚本都是这样写的。
是不是必须的?

一般的RMAN脚本都是这样写的,因为RMAN是可以备份归档日志的。

alter system archive log current 这样后就可以将所有的归档都备份出来了。这样做是为了保证数据的完整和一致。

?

========================================================================================================

?

应该是只有数据库运行在归档模式并且初始化参数ARCHIVE_LOG_START等于TRUE时,ARCn进程才能被启动,进行自动归档。
如果数据库运行在归档模式但ARCHIVE_LOG_START等于FALSE时,需要DBA手工归档。(这种方式可能会因为归档不及时导致数据库被迫挂起,不实用!)

1满后跳到2时,1就被备份归档.等到1.2.3都写满了才归档1这种理解是错误的.要是真的这样那机器硬盘有坏道造成系统不行后,因为日志文件并没有归档出来(一般归档文件往往放在另一个硬盘中),这种归档还有什么用处.