Oraclce DBA中的Redolog管理

时间:2017-08-02 09:30:19

标签: oracle oracle11g

我对group#中的v$logfile感到困惑(Oracle中的Redolog管理)。究竟是什么group#?如果group#是一个数据文件,如果一个数据库中有13个表空间,我们可以创建13个group#及其13个成员吗?

1 个答案:

答案 0 :(得分:1)

重做日志与表空间或您拥有的表空间数无关。已提交的事务将写入您的重做日志,并且您的SCN将更新。确保您复用成员,因为如果您丢失了一个成员,则可以使用其他成员还原并重新启动数据库。在生产数据库中,您应该至少有3个组。我们最多有6个小组。

一个组应该具有CURRENT状态,其他组可以是ACTIVE / INACTIVE(通常)的组合,具体取决于它们的存档速度。

详细的状态描述:

UNUSED - 从未写过在线重做日志。这是刚刚添加的重做日志的状态,或者仅在RESETLOGS之后,当它不是当前的重做日志时。

CURRENT - 当前重做日志。这意味着重做日志是活动的。重做日志可以打开或关闭。

ACTIVE - 日志处于活动状态,但不是当前日志。崩溃恢复需要它。它可能用于块恢复。它可能存档也可能不存档。

CLEARING - 在ALTER DATABASE CLEAR LOGFILE语句之后,将日志重新创建为空日志。清除日志后,状态将更改为UNUSED。

CLEARING_CURRENT - 正在清除当前日志的已关闭线程。如果交换机出现故障(例如写入新日志标头的I / O错误),则日志可以保持此状态。

INACTIVE - 实例恢复不再需要日志。它可能用于媒体恢复。它可能存档也可能不存档。

使用此脚本获取更多信息:

select a.group#, a.status, b.member 
from
v$log a, v$logfile b
where a.group#=b.group#;