刪除非當前日誌組的幾點疑問解析

1、檢查日誌組情況

SQL> select GROUP#,THREAD#,SEQUENCE#,ARCHIVED,STATUS from v$log;

GROUP#THREAD#SEQUENCE# ARC STATUS

---------- ---------- ---------- --- ----------------

1171 YES INACTIVE

2172 YES INACTIVE

3173 NOCURRENT

從以上即可看出當前日誌組爲GROUP# 3SEQUENCE# 73

2、刪除group1 71

[oracle@db02 orcl]$ mv redo01.log redo01.log.bak

3、開始寫入數據

寫入數據:

SQL>begin

2for a in 1..1000000 loop

3insert into t values (a);

4commit;

5end loop;

6end;

7/

4、再次檢查

SQL> select GROUP#,THREAD#,SEQUENCE#,ARCHIVED,STATUS from v$log;

GROUP#THREAD#SEQUENCE# ARC STATUS

---------- ---------- ---------- --- ----------------

1174 NOINACTIVE

2175 NOACTIVE

3176 NOCURRENT

可以發現,日誌發生了三次切換,最新日誌序列爲 76

5、分析一下alert日誌

...skipping one line

Current log# 3 seq# 70 mem# 0: /u01/app/oracle/oradata/orcl/redo03.log

Fri Mar 14 17:28:13 2014

Thread 1 advanced to log sequence 71

...skipping one line

Sat Mar 15 06:00:59 2014

Thread 1 advanced to log sequence 72

Current log# 2 seq# 72 mem# 0: /u01/app/oracle/oradata/orcl/redo02.log

...skipping one line

Thread 1 advanced to log sequence 73

Current log# 3 seq# 73 mem# 0: /u01/app/oracle/oradata/orcl/redo03.log

Sun Mar 16 22:01:03 2014

...skipping one line--這裏可以看出,根本沒有將redo寫入到74這一個組

Current log# 1 seq# 74 mem# 0: /u01/app/oracle/oradata/orcl/redo01.log

Sun Mar 16 22:01:16 2014

Thread 1 advanced to log sequence 75

Current log# 2 seq# 75 mem# 0: /u01/app/oracle/oradata/orcl/redo02.log

Sun Mar 16 22:01:16 2014

Errors in file /u01/app/oracle/admin/orcl/bdump/orcl_arc1_6461.trc:

ORA-00313: open failed for members of log group 1 of thread 1

ORA-00312: online log 1 thread 1: '/u01/app/oracle/oradata/orcl/redo01.log'

ORA-27037: unable to obtain file status

Linux Error: 2: No such file or directory

Additional information: 3

Sun Mar 16 22:01:16 2014

Errors in file /u01/app/oracle/admin/orcl/bdump/orcl_arc1_6461.trc:

ORA-00313: open failed for members of log group 1 of thread 1

ORA-00312: online log 1 thread 1: '/u01/app/oracle/oradata/orcl/redo01.log'

Linux Error: 2: No such file or directory

Additional information: 3

Sun Mar 16 22:01:16 2014

ARCH: Archival stopped, error occurred. Will continue retrying

Sun Mar 16 22:01:16 2014

ORACLE Instance orcl - Archival Error

Sun Mar 16 22:01:16 2014

ORA-16038: log 1 sequence# 74 cannot be archived

總結:結合日誌可以分析出,當group 1 71(已經歸檔)日誌組被刪除以後,日誌組還是可以切換到group 1 ,不過因爲redo01已經不存在,直接跳過不寫入redo。不過對其歸檔就會報錯。

當其他的幾個日誌組都寫滿的時候,再次切換到redo01的時候,因爲redo01無法歸檔,這個時候就會hang

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章