SQL>
select group#,members,bytes/1024/1024,status from v$log;
GROUP# MEMBERS BYTES/1024/1024 STATUS
---------- ---------- --------------- ----------------
1 1 50 INACTIVE
2 1 50 CURRENT
3 1 50 INACTIVE
SQL> select member from v$logfile;
MEMBER
--------------------------------------------------------------------------------
/u01/oradata/dg/redo01.log
/u01/oradata/dg/redo02.log
/u01/oradata/dg/redo03.log
现在有三个日志成员,大小为50M,现在改成300M
1、增加日志组
SQL> alter database add logfile group 4 '/u01/oradata/dg/redo04.log' size 300M ;
Database altered.
SQL> alter database add logfile group 5 '/u01/oradata/dg/redo05.log' size 300M;
Database altered.
SQL> alter database add logfile group 6 '/u01/oradata/dg/redo06.log' size 300M;
Database altered.
查看增加后的日志情况
SQL> select group#,members,bytes/1024/1024,status from v$log;
GROUP# MEMBERS BYTES/1024/1024 STATUS
---------- ---------- --------------- ----------------
1 1 50 CURRENT
2 1 50 INACTIVE
3 1 50 INACTIVE
4 1 300 UNUSED
5 1 300 UNUSED
6 1 300 UNUSED
6 rows selected.
切换到新增的日志组上(有几组日志就切换几次)
SQL> alter system switch logfile;
System altered.
SQL> alter system switch logfile;
System altered.
SQL> alter system switch logfile;
System altered.
2、删除旧的日志组
SQL> alter database drop logfile group 1;
Database altered.
SQL> alter database drop logfile group 2 ;
Database altered.
SQL> alter database drop logfile group 3 ;
Database altered.
SQL> select group#,members,bytes/1024/1024,status from v$log;
GROUP# MEMBERS BYTES/1024/1024 STATUS
---------- ---------- --------------- ----------------
4 1 300 INACTIVE
5 1 300 ACTIVE
6 1 300 CURRENT
3、在操作系统下删除掉redolog 日志文件
rm -rf /u01/oradata/dg/redo01.log
rm -rf /u01/oradata/dg/redo02.log
rm -rf /u01/oradata/dg/redo03.log
小结:
a. CURRENT指当前的日志文件,在进行实例恢复时是必须的
b. ACTIVE是指活动的非当前日志,在进行实例恢复时会被用到。Active状态意味着,Checkpoint尚未完成,因此该日志文件不能被覆盖
c. INACTIVE是非活动日志,在实例恢复时不再需要,但在介质恢复时可能需要
d. UNUSED表示该日志从未被写入,可能是刚添加的,或RESETLOGS后被重置
GROUP# MEMBERS BYTES/1024/1024 STATUS
---------- ---------- --------------- ----------------
1 1 50 INACTIVE
2 1 50 CURRENT
3 1 50 INACTIVE
SQL> select member from v$logfile;
MEMBER
--------------------------------------------------------------------------------
/u01/oradata/dg/redo01.log
/u01/oradata/dg/redo02.log
/u01/oradata/dg/redo03.log
现在有三个日志成员,大小为50M,现在改成300M
1、增加日志组
SQL> alter database add logfile group 4 '/u01/oradata/dg/redo04.log' size 300M ;
Database altered.
SQL> alter database add logfile group 5 '/u01/oradata/dg/redo05.log' size 300M;
Database altered.
SQL> alter database add logfile group 6 '/u01/oradata/dg/redo06.log' size 300M;
Database altered.
查看增加后的日志情况
SQL> select group#,members,bytes/1024/1024,status from v$log;
GROUP# MEMBERS BYTES/1024/1024 STATUS
---------- ---------- --------------- ----------------
1 1 50 CURRENT
2 1 50 INACTIVE
3 1 50 INACTIVE
4 1 300 UNUSED
5 1 300 UNUSED
6 1 300 UNUSED
6 rows selected.
切换到新增的日志组上(有几组日志就切换几次)
SQL> alter system switch logfile;
System altered.
SQL> alter system switch logfile;
System altered.
SQL> alter system switch logfile;
System altered.
2、删除旧的日志组
SQL> alter database drop logfile group 1;
Database altered.
SQL> alter database drop logfile group 2 ;
Database altered.
SQL> alter database drop logfile group 3 ;
Database altered.
SQL> select group#,members,bytes/1024/1024,status from v$log;
GROUP# MEMBERS BYTES/1024/1024 STATUS
---------- ---------- --------------- ----------------
4 1 300 INACTIVE
5 1 300 ACTIVE
6 1 300 CURRENT
3、在操作系统下删除掉redolog 日志文件
rm -rf /u01/oradata/dg/redo01.log
rm -rf /u01/oradata/dg/redo02.log
rm -rf /u01/oradata/dg/redo03.log
小结:
a. CURRENT指当前的日志文件,在进行实例恢复时是必须的
b. ACTIVE是指活动的非当前日志,在进行实例恢复时会被用到。Active状态意味着,Checkpoint尚未完成,因此该日志文件不能被覆盖
c. INACTIVE是非活动日志,在实例恢复时不再需要,但在介质恢复时可能需要
d. UNUSED表示该日志从未被写入,可能是刚添加的,或RESETLOGS后被重置