用了很长时间的2机dataguard
在物理standby机器上
执行
select max(sequence#) from v$archived_log;
102
select max(sequence#) from v$log_history;
99
过去几分钟后
select max(sequence#) from v$archived_log;
102
select max(sequence#) from v$log_history;
102
这说明2者是有区别的 。
下面是查到的一些差别, 但是总觉得如何解释上面的 dataguard问题
v$archived_log 与v$log_history区别
除了v$archived_log 信息比V$log_history多一点, 不知还有其他不同.
查了一下文档还是不清楚.
V$ARCHIVED_LOG
Displays historical archived log information from the control file. If you use a recovery catalog, the RC_ARCHIVED_LOG view contains similar information.
an someone tell me the difference between V$ARCHIVED_LOG and V$LOG_HISTORY? They seem to contain different information but I am not sure the differences are.
Also, I've got this question from my friend:
Why would you query V$ARCHIVED_LOG?
A) To view the current Archive log
B) To display archives that have been backed up
Ans: B
So this means V$ARCHIVED_LOG ONLY contains archived logs that have been backed up?
Thanks!
SANJAY_G
01-02-2002, 09:55 PM
V$ARCHIVED_LOG: New. from Oracle version8.
This view displays archived log information from the control file including archive log names. An archive log record is inserted after the online redo log is successfully archived or cleared (name column is NULL if the log was cleared). If the log is archived twice, there will be two archived log records with the same THREAD#, SEQUENCE#, and FIRST_CHANGE#, but with a different name. An archive log record is also inserted when an archive log is restored from a backup set or a copy and whenever a copy of a log is made with the RMAN copy command.
V$LOG_HISTORY: This view keeps record of the range of SCN in each archived redo log file.
Niether of the answer is true.
a. It doesn't contain any information about the current redo log. For current redo log look into V$LOG.
b. It doesn't show which archived redo log has been backed up instead it shows which online redo log has been archived.
http://www.dbasupport.com/forums/archive/index.php/t-19493.html
V$ARCHIVED_LOG
Displays historical archived log information from
the control file. If you use a recovery catalog, the
RC_ARCHIVED_LOG view contains similar
information.
V$LOG_HISTORY
Contains log history information such as which
logs have been archived and the SCN range for
each archived log.
V$LOG_HISTORY有所以以前的历史信息和现在的信息
V$ARCHIVED_LOG 是当前的信----翻译错了
这个很好
Oracle的解释:
V$ARCHIVED_LOG 【控制文件记录的关于已经归档的日志信息,当redo被归档后会立即记录该记录】
V$ARCHIVED_LOG displays archived log information from the control file, including archive log names. An archive log record is inserted after the online redo log is successfully archived or cleared (name column is NULL if the log was cleared). If the log is archived twice, there will be two archived log records with the same THREAD#, SEQUENCE#, and FIRST_CHANGE#, but with a different name. An archive log record is also inserted when an archive log is restored from a backup set or a copy and whenever a copy of a log is made with the RMAN COPY command.
column NAME format a40
select RECID,NAME,SEQUENCE# ,BLOCK_SIZE, ARCHIVED ,Status,CREATOR,REGISTRAR,DELETED,BACKUP_COUNT from v$archived_log;
BACKUP_COUNT
Indicates the number of times this file has been backed up. Values range from 0-15. If the file has been backed up more than 15 times, the value remains 15.
COMPLETION_TIME
Time when the archiving completed
STATUS
Status of the archived log:
A - Available
D - Deleted
U - Unavailable
X - Expired
DELETED
表示rman是否已经删除了该日志从磁盘
CREATOR
Creator of the archivelog:
■ ARCH - ARCH process
■ FGRD - Foreground process
■ RMAN
■ SRMN - RMAN at standby
■ LGWR - LGWR process
REGISTRAR
Registrar of the entry:
■ RFS
■ ARCH - ARCH process
■ FGRD - Foreground process
■ RMAN
■ SRMN - RMAN at standby
■ LGWR - LGWR process
BLOCKS
Size of the archived log (in blocks)
V$LOG_HISTORY【显示了控制文件中日志信息】
Contains log history information such as which logs have been archived and the SCN range for each archived log.
select RECID,SEQUENCE#,THREAD#,RESETLOGS_TIME from V$LOG_HISTORY
V$LOGLOGFILE
This view contains information about redo log files.
column MEMBER format a60
select *from v$logfile;
V$LOG
displays log file information from the control file.
ARCHIVED
Archive status (YES or NO)
STATUS
Log status:
■ UNUSED - Online redo log has never been written to. This is the state of a redo log that was just added, or just after a RESETLOGS, when it is not the current redo log.
■ CURRENT - Current redo log. This implies that the redo log is active. The redo log could be open or closed.
■ ACTIVE - Log is active but is not the current log. It is needed for crash recovery. It may be in use for block recovery. It may or may not be archived.
■ CLEARING - Log is being re-created as an empty log after an ALTER DATABASE CLEAR LOGFILE statement. After the log is cleared, the status changes to UNUSED.
■ CLEARING_CURRENT - Current log is being cleared of a closed thread. The log can stay in this status if there is some failure in the switch such as an I/O error writing the new log header.
■ INACTIVE - Log is no longer needed for instance recovery. It may be in use for media recovery. It might or might not be archived.
■ INVALIDATED - Archived the current redo log without a log switch.
select * from v$log;
select B.*,A.MEMBER from v$logfile A,V$LOG B WHERE A.GROUP#=B.GROUP# ;
http://hemeicun.blog.163.com/blog/static/11157304820113425053392/
V$LOG_HISTORY
Contains log history information such as which logs have been archived and the SCN range for each archived log.