oracle online redo log 日志组成员

为提升数据库安全性和性能,要求为数据库的每组在线重做日志(online redo log)至少包含两个日志组,且每个组中至少包含两个日志成员。

本文内容:增加一个日志成员,同时新增一个日志组,要求所有日志成员大小一致。

 

1、视图log和logfile

v$log详细说明了重做日志文件的结构、属性以及动态变化情况。
v$logfile说明了重做日志文件的物理地址和当前在线状态。

 

V$LOG

V$LOG displays log file information from the control file.

Column Datatype Description
GROUP# NUMBER Log group number
THREAD# NUMBER Log thread number
SEQUENCE# NUMBER Log sequence number
BYTES NUMBER Size of the log (in bytes)
MEMBERS NUMBER Number of members in the log group
ARCHIVED VARCHAR2(3) Archive status (YES or NO)
STATUS VARCHAR2(16) 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.

FIRST_CHANGE# NUMBER Lowest system change number (SCN) in the log
FIRST_TIME DATE Time of the first SCN in the log

V$LOGFILE

This view contains information about redo log files.

Column Datatype Description
GROUP# NUMBER Redo log group identifier number
STATUS VARCHAR2(7) Status of the log member:
  • INVALID - File is inaccessible

  • STALE - File's contents are incomplete

  • DELETED - File is no longer used

  • null - File is in use

TYPE VARCHAR2(7) Type of the logfile:
  • ONLINE

  • STANDBY

MEMBER VARCHAR2(513) Redo log member name
IS_RECOVERY_DEST_FILE VARCHAR2(3) Indicates whether the file was created in the flash recovery area (YES) or not (NO)

 

 

2、本文实验过程:

1)查询日志组成员

SQL> select * from v$log;

GROUP# THREAD# SEQUENCE#      BYTES    MEMBERS ARC STATUS     FIRST_CHANGE# FIRST_TIME
------ ------- --------- ---------- ---------- --- ---------- ------------- ------------
     1       1        46   52428800          1 NO  CURRENT           748944 31-MAR-16
     2       1        44   52428800          1 NO  INACTIVE          712175 30-MAR-16
     3       1        45   52428800          1 NO  INACTIVE          744791 30-MAR-16

 

2)查询日志文件:

SQL>select * from v$logfile;

GROUP# STATUS     TYPE    MEMBER                          IS_RECOVERY_DEST_FILE
------ ---------- ------- ------------------------------ ---------------------------------------
     1            ONLINE  /oradata/oradb/redo01a.log     NO
     2            ONLINE  /oradata/oradb/redo02a.log     NO
     3            ONLINE  /oradata/oradb/redo03a.log     NO


3)分别添加1个日志文件成员到3个日志组中:

SQL> alter database add logfile member '/oradata/oradb/redo01b.log' to group 1;

Database altered.

SQL> alter database add logfile member '/oradata/oradb/redo02b.log' to group 2;

Database altered.

SQL> alter database add logfile member '/oradata/oradb/redo03b.log' to group 3;

Database altered.

SQL> select * from v$logfile;

GROUP# STATUS     TYPE        MEMBER                                  IS_RECOVERY_DEST_FILE
------      ----------  ----------  ------------------------------     -----------------------------------
     1                         ONLINE     /oradata/oradb/redo01a.log     NO
     2                         ONLINE     /oradata/oradb/redo02a.log     NO
     3                         ONLINE     /oradata/oradb/redo03a.log     NO
     1      INVALID     ONLINE     /oradata/oradb/redo01b.log     NO
     2      INVALID     ONLINE     /oradata/oradb/redo02b.log     NO
     3     INVALID      ONLINE     /oradata/oradb/redo03b.log     NO
SQL> alter database add logfile group 4 ('/oradata/oradb/redo04a.log','/oradata/oradb/redo04b.log') size 50M;

Database altered.

SQL> select * from v$logfile;
GROUP# STATUS     TYPE        MEMBER                                  IS_RECOVERY_DEST_FILE
------      ----------  ----------  ------------------------------     -----------------------------------
     1                         ONLINE     /oradata/oradb/redo01a.log     NO
     2                         ONLINE     /oradata/oradb/redo02a.log     NO
     3                         ONLINE     /oradata/oradb/redo03a.log     NO
     1       INVALID    ONLINE     /oradata/oradb/redo01b.log     NO
     2       INVALID    ONLINE     /oradata/oradb/redo02b.log     NO
     3       INVALID    ONLINE     /oradata/oradb/redo03b.log     NO
     4                         ONLINE     /oradata/oradb/redo04a.log     NO
     4                         ONLINE     /oradata/oradb/redo04b.log     NO

8 rows selected.

 

4)查询日志信息:

SQL> set lines 168 pages 9999

SQL> col member format a30
SQL> col instance_name for a15
SQL> col status for a8
SQL> select i.instance_name,i.thread#,f.group#,f.member,f.type,l.status,l.bytes/1048576 bytes_mb,l.archived
  2  from gv$logfile f,gv$log l,gv$instance i
  3  where f.group# = l.group#
  4  and l.thread#=i.thread#
  5  and i.ins_id=f.inst_id
  6  and f.inst_id=l.inst_id
  7  order by i.instance_name,f.group#,f.member;

SQL> /

INSTANCE_NAME   THREAD# GROUP#    MEMBER                                                TYPE           STATUS        BYTES_MB     ARC
--------------- -------       ------      --------------------                    ---------- --------     --------        ---------- ---
oradb                 1           1            /oradata/oradb/redo01a.log    ONLINE   CURRENT       50       NO
oradb                 1           1            /oradata/oradb/redo01b.log    ONLINE   CURRENT       50       NO
oradb                 1           2            /oradata/oradb/redo02a.log    ONLINE   INACTIVE        50       NO
oradb                 1           2            /oradata/oradb/redo02b.log    ONLINE   INACTIVE        50       NO
oradb                 1           3            /oradata/oradb/redo03a.log    ONLINE   INACTIVE        50       NO
oradb                 1           3            /oradata/oradb/redo03b.log    ONLINE   INACTIVE        50       NO
oradb                 1           4            /oradata/oradb/redo04a.log    ONLINE   UNUSED          50      YES
oradb                 1           4            /oradata/oradb/redo04b.log    ONLINE   UNUSED          50      YES

8 rows selected.

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值