【REDO】刪除聯機重做日誌檔案組的注意事項
關於聯機重做日誌檔案組的刪除需要注意以下幾點:
①日誌組為active和current狀態時不可以刪除
②日誌組在資料庫級別刪除後作業系統上的檔案不會被級鏈刪除
③對於一個Oracle資料庫例項,至少要包含兩個聯機重做日誌組
1.日誌組為active和current狀態時不可以刪除
1)查詢當前系統中日誌組狀態
sys@ora10g> select group#,status from v$log;
GROUP# STATUS
---------- ----------------
1 CURRENT
2 INACTIVE
3 INACTIVE
2)嘗試刪除狀態為“CURRENT”的聯機重做日誌組
這裡顯示為“CURRENT”狀態的日誌組為第一組。
sys@ora10g> alter database drop logfile group 1;
alter database drop logfile group 1
*
ERROR at line 1:
ORA-01623: log 1 is current log for instance ora10g (thread 1) - cannot drop
ORA-00312: online log 1 thread 1: '/oracle/ora10gR2/oradata/ora10g/redo01.log'
提示資訊描述得很清楚,由於要刪除的第一組日誌是ora10g例項的當前日誌組,不允許刪除。
2.日誌組在資料庫級別刪除後作業系統上的檔案不會被級鏈刪除
1)獲取日誌組成員資訊
sys@ora10g> col MEMBER for a50
sys@ora10g> select group#,member from v$logfile;
GROUP# MEMBER
---------- --------------------------------------------------
1 /oracle/ora10gR2/oradata/ora10g/redo01.log
2 /oracle/ora10gR2/oradata/ora10g/redo02.log
3 /oracle/ora10gR2/oradata/ora10g/redo03.log
2)刪除第三組日誌
sys@ora10g> alter database drop logfile group 3;
Database altered.
sys@ora10g> select group#,member from v$logfile;
GROUP# MEMBER
---------- --------------------------------------------------
1 /oracle/ora10gR2/oradata/ora10g/redo01.log
2 /oracle/ora10gR2/oradata/ora10g/redo02.log
刪除成功。
3)確認作業系統檔案是否刪除
sys@ora10g> !ls -l /oracle/ora10gR2/oradata/ora10g/redo03.log
-rw-r----- 1 oracle oinstall 52429312 Jul 12 10:58 /oracle/ora10gR2/oradata/ora10g/redo03.log
可見,雖然在資料庫層面已經將日誌組刪除成功,但是在作業系統上依然殘留著對應的檔案。
也正因為這個原因,如果沒有對作業系統做相應清理,在此使用同樣的檔案建立日誌組時會報“ORA-27038”錯,提示檔案已經存在,如下所示。
sys@ora10g> alter database add logfile group 3 ('/oracle/ora10gR2/oradata/ora10g/redo03.log') size 50m;
alter database add logfile group 3 ('/oracle/ora10gR2/oradata/ora10g/redo03.log') size 50m
*
ERROR at line 1:
ORA-00301: error in adding log file '/oracle/ora10gR2/oradata/ora10g/redo03.log' - file cannot be created
ORA-27038: created file already exists
Additional information: 1
4)手工刪除作業系統上的殘留檔案
sys@ora10g> !rm -f /oracle/ora10gR2/oradata/ora10g/redo03.log
這樣,日誌檔案組刪除任務才算徹底完成。
3.對於一個Oracle資料庫例項,至少要包含兩個聯機重做日誌組
目的:進行切換,以便歸檔模式下進行歸檔。
1)確認當前系統日子組資訊
sys@ora10g> select group#,member from v$logfile;
GROUP# MEMBER
---------- --------------------------------------------------
1 /oracle/ora10gR2/oradata/ora10g/redo01.log
2 /oracle/ora10gR2/oradata/ora10g/redo02.log
2)嘗試再刪除一組日誌
目前系統中僅剩兩組日誌組,此時我們嘗試再刪除一組日誌,看看結果如何。
sys@ora10g> alter database drop logfile group 2;
alter database drop logfile group 2
*
ERROR at line 1:
ORA-01567: dropping log 2 would leave less than 2 log files for instance ora10g (thread 1)
ORA-00312: online log 2 thread 1: '/oracle/ora10gR2/oradata/ora10g/redo02.log'
其中的“ORA-01567”錯誤提示內容已經清晰的說明了一切:dropping log 2 would leave less than 2 log files for instance ora10g (thread 1)
4.小結
本文就聯機重做日誌檔案組刪除過程中需要注意的三個方面進行了測試,在日常維護過程中就此內容需要多加註意。
建議根據具體的應用特點建立多個日誌組,並且保證每組日誌中包含多個日誌成員,防止因個別日誌檔案損壞導致系統故障。
Good luck.
secooler
11.07.12
-- The End --
①日誌組為active和current狀態時不可以刪除
②日誌組在資料庫級別刪除後作業系統上的檔案不會被級鏈刪除
③對於一個Oracle資料庫例項,至少要包含兩個聯機重做日誌組
1.日誌組為active和current狀態時不可以刪除
1)查詢當前系統中日誌組狀態
sys@ora10g> select group#,status from v$log;
GROUP# STATUS
---------- ----------------
1 CURRENT
2 INACTIVE
3 INACTIVE
2)嘗試刪除狀態為“CURRENT”的聯機重做日誌組
這裡顯示為“CURRENT”狀態的日誌組為第一組。
sys@ora10g> alter database drop logfile group 1;
alter database drop logfile group 1
*
ERROR at line 1:
ORA-01623: log 1 is current log for instance ora10g (thread 1) - cannot drop
ORA-00312: online log 1 thread 1: '/oracle/ora10gR2/oradata/ora10g/redo01.log'
提示資訊描述得很清楚,由於要刪除的第一組日誌是ora10g例項的當前日誌組,不允許刪除。
2.日誌組在資料庫級別刪除後作業系統上的檔案不會被級鏈刪除
1)獲取日誌組成員資訊
sys@ora10g> col MEMBER for a50
sys@ora10g> select group#,member from v$logfile;
GROUP# MEMBER
---------- --------------------------------------------------
1 /oracle/ora10gR2/oradata/ora10g/redo01.log
2 /oracle/ora10gR2/oradata/ora10g/redo02.log
3 /oracle/ora10gR2/oradata/ora10g/redo03.log
2)刪除第三組日誌
sys@ora10g> alter database drop logfile group 3;
Database altered.
sys@ora10g> select group#,member from v$logfile;
GROUP# MEMBER
---------- --------------------------------------------------
1 /oracle/ora10gR2/oradata/ora10g/redo01.log
2 /oracle/ora10gR2/oradata/ora10g/redo02.log
刪除成功。
3)確認作業系統檔案是否刪除
sys@ora10g> !ls -l /oracle/ora10gR2/oradata/ora10g/redo03.log
-rw-r----- 1 oracle oinstall 52429312 Jul 12 10:58 /oracle/ora10gR2/oradata/ora10g/redo03.log
可見,雖然在資料庫層面已經將日誌組刪除成功,但是在作業系統上依然殘留著對應的檔案。
也正因為這個原因,如果沒有對作業系統做相應清理,在此使用同樣的檔案建立日誌組時會報“ORA-27038”錯,提示檔案已經存在,如下所示。
sys@ora10g> alter database add logfile group 3 ('/oracle/ora10gR2/oradata/ora10g/redo03.log') size 50m;
alter database add logfile group 3 ('/oracle/ora10gR2/oradata/ora10g/redo03.log') size 50m
*
ERROR at line 1:
ORA-00301: error in adding log file '/oracle/ora10gR2/oradata/ora10g/redo03.log' - file cannot be created
ORA-27038: created file already exists
Additional information: 1
4)手工刪除作業系統上的殘留檔案
sys@ora10g> !rm -f /oracle/ora10gR2/oradata/ora10g/redo03.log
這樣,日誌檔案組刪除任務才算徹底完成。
3.對於一個Oracle資料庫例項,至少要包含兩個聯機重做日誌組
目的:進行切換,以便歸檔模式下進行歸檔。
1)確認當前系統日子組資訊
sys@ora10g> select group#,member from v$logfile;
GROUP# MEMBER
---------- --------------------------------------------------
1 /oracle/ora10gR2/oradata/ora10g/redo01.log
2 /oracle/ora10gR2/oradata/ora10g/redo02.log
2)嘗試再刪除一組日誌
目前系統中僅剩兩組日誌組,此時我們嘗試再刪除一組日誌,看看結果如何。
sys@ora10g> alter database drop logfile group 2;
alter database drop logfile group 2
*
ERROR at line 1:
ORA-01567: dropping log 2 would leave less than 2 log files for instance ora10g (thread 1)
ORA-00312: online log 2 thread 1: '/oracle/ora10gR2/oradata/ora10g/redo02.log'
其中的“ORA-01567”錯誤提示內容已經清晰的說明了一切:dropping log 2 would leave less than 2 log files for instance ora10g (thread 1)
4.小結
本文就聯機重做日誌檔案組刪除過程中需要注意的三個方面進行了測試,在日常維護過程中就此內容需要多加註意。
建議根據具體的應用特點建立多個日誌組,並且保證每組日誌中包含多個日誌成員,防止因個別日誌檔案損壞導致系統故障。
Good luck.
secooler
11.07.12
-- The End --
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/519536/viewspace-702035/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【REDO】刪除聯機重做日誌檔案組成員的注意事項
- 【REDO】刪除REDO LOG重做日誌組後需要手工刪除對應的日誌檔案
- Oracle11g redo log 建立、新增、刪除(重做日誌組,重做日誌檔案)Oracle
- oracle 聯機重做日誌檔案Oracle
- 【REDO】重做日誌檔案(redo log files)管理(增,刪,改,查,切)
- data guard中增加與刪除主備資料庫中的聯機重做日誌與備重做日誌檔案資料庫
- 聯機重做日誌檔案的恢復
- 聯機重做日誌、歸檔日誌、備用重做日誌
- 刪除重做日誌檔案組的四大限制條件
- 刪除日誌檔案組與日誌檔案成員
- 10G DATAGUARD增加REDO日誌組、刪除日誌組、刪除日誌成員實驗
- 丟失聯機重做日誌檔案的恢復
- 一個刪除重做日誌檔案的參考指令碼指令碼
- 2 Day DBA-管理Oracle例項-管理聯機重做日誌-切換日誌檔案Oracle
- 刪除日誌檔案組或成員
- redo重做日誌管理
- 2 Day DBA-管理Oracle例項-管理聯機重做日誌- 多路複用聯機重做日誌Oracle
- 16、重做日誌檔案的狀態及重做日誌組的狀態說明
- Oracle 聯機重做日誌檔案(ONLINE LOG FILE)Oracle
- oracle聯機日誌檔案REDO LOGFILE簡述Oracle
- 2 Day DBA-管理Oracle例項-管理聯機重做日誌-練習:切換日誌檔案Oracle
- MySQL重做日誌(redo log)MySql
- 2 Day DBA-管理Oracle例項-管理聯機重做日誌-練習:多路複用聯機重做日誌Oracle
- 刪除歸檔日誌檔案
- 新增、刪除日誌檔案
- Linux中如何刪除檔案?注意事項有哪些?Linux
- 刪除事務日誌檔案並不安全WC
- 重做日誌檔案中的SCN
- oracle redo 日誌刪除後的恢復Oracle Redo
- Oracle歸檔日誌比聯機重做日誌小很多的情況總結Oracle
- 聯機重做日誌丟失的恢復
- 線上修改重做日誌檔案的大小
- 修改Oracle重做日誌檔案的大小Oracle
- 重做日誌檔案的相關操作
- 刪除日誌組成員
- 歸檔日誌的刪除
- 2 Day DBA-管理Oracle例項-管理聯機重做日誌Oracle
- 【備份與恢復】重建受損的聯機重做日誌檔案成員