归档重做日志何时生成?

Del*_*nte 5 oracle-10g transaction-log

我们在 Oracle 10g 中有一个实例。Web 应用程序(面向 Internet)仅使用一种模式,该应用程序仅用于读取信息的用户,不添加或修改数据。其余模式未使用。

Archived Redo Logs被激活。对我们来说奇怪的是,每天都会生成归档文件,包括周日和节假日,没有人来上班。

我认为归档重做日志是在插入、删除或更新数据时生成的,而不是因为 select 语句。

那是对的吗?

Jus*_*ave 4

Oracle本身在运行各种后台作业的过程中一般都会生成redo。例如,在 10g 中默认有一个收集对象统计信息的作业。这将生成重做。默认情况下,10g 有一个每小时收集 AWR 信息的作业。这也会生成重做。还有许多其他后台作业(检查点、更新 SCN 到时间戳映射表等)也将运行,这些作业将持续生成重做,这是理所当然的。

如果您运行查询

select current_scn, systimestamp 
  from v$database
Run Code Online (Sandbox Code Playgroud)

在(从用户的角度)空闲数据库中,您会注意到current_scn每隔几秒就会递增。这是 Oracle 做的各种内务工作。每次清理工作都会产生少量的重做。在一整天的过程中,即使您的系统非常空闲,这也很常见,这足以容纳几个存档日志。