概述

Oracle 的Online redo log 是为确保已经提交的事务不会丢失而建立的一个机制。 因为这种健全的机制,才能让我们在数据库crash时,恢复数据,保证数据不丢失。下面介绍一下Redo log的六种状态(锻炼下大家英文能力)。

linux怎么查看oracle数据库状态(除了常见3种状态)(1)


redo log六种状态

1、CURRENT

The online redo log is active, that is, needed for instance recovery, and it is the log to which the database is currently writing. The redo log can be open orclosed.

2、ACTIVE

The online redo log is active and required for instance recovery, but is not the log to which the database is currently writing. It may be in use for blockrecovery, and may or may not be archived.Once perform "alter system checkpoint",the log will be change inactive.

3、INACTIVE

The log is no longer needed for instance recovery. It may be in use for media recovery,and may or may not be archived.

4、UNUSED

The online redo log has never been written to.

5、CLEARING

The log is being re-created as an empty log after an ALTER DATABASECLEAR LOGFILE statement. After the log is cleared, then the status changes to UNUSED.

6、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 thenew log header. . .

The ALTER DATABASE CLEAR LOGFILE statement can fail with an I/O error due to media failure when it is not possible to:

Relocate the redo log file onto alternative media by re-creating it under the currently configured redo log filename

Reuse the currently configured log filename to re-create the redo log file because the name itself is invalid or unusable (for example, due to media failure)


查看Redo log的状态和具体文件

SQL> select group#,bytes/1024/1024||'M',status from v$log; SQL> select group#,member from v$logfile;

linux怎么查看oracle数据库状态(除了常见3种状态)(2)

linux怎么查看oracle数据库状态(除了常见3种状态)(3)


redo log一般用的比较多命令就上面两条和对redo log调整方面的命令了,属于必须掌握的内容。后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注一下~

linux怎么查看oracle数据库状态(除了常见3种状态)(4)

,