作者:雨竹清风
Oracle为我们提供了两个可以获取重做日志文件信息的数据字典,一个是v$log,一个是v$logfile。这些信息一般有重做日志组的组数,以及每组的成员,大小和状态等信息。
v$log结构如下可以获得:
SQL> desc v$log
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
GROUP# NUMBER
THREAD# NUMBER
SEQUENCE# NUMBER
BYTES NUMBER
MEMBERS NUMBER
ARCHIVED VARCHAR2(3)
STATUS VARCHAR2(16)
FIRST_CHANGE# NUMBER
FIRST_TIME DATE
SQL> select GROUP#, SEQUENCE#, MEMBERS, STATUS, ARCHIVED from v$log;
GROUP# SEQUENCE# MEMBERS STATUS ARC
---------- ---------- ---------- ---------------- ---
1 11 1 CURRENT NO
2 9 1 INACTIVE NO
3 10 1 INACTIVE NO
可以看出共有3组,每组有一个成员,序号分别是11,9,10。1组的状态为当前状态,2,3组为inactive。

要想获取重做日志文件的存在的路径及名称使用v$logfile。如下:
SQL> desc v$logfile
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
GROUP# NUMBER
STATUS VARCHAR2(7)
TYPE VARCHAR2(7)
MEMBER VARCHAR2(513)
IS_RECOVERY_DEST_FILE VARCHAR2(3)
SQL> col member for a50
SQL> select GROUP#, STATUS, TYPE, MEMBER from v$logfile;
GROUP# STATUS TYPE MEMBER
---------- ------- ------- --------------------------------------------------
3 STALE ONLINE D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03.LOG
2 STALE ONLINE D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG
1 ONLINE D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG
