oracle 修改日誌大小及增加日誌成員

flywiththewind發表於2016-07-15

好記性不如爛筆頭,記下方便查閱。

日誌檔案能不能resize,直接擴大日誌檔案的大小?10g是不能的。

網上的一般方法就是新建兩個臨時日誌組(oracle至少要求兩個日誌組),切換到這兩個臨時日誌組後,刪掉重建擴大或縮小,再新增日誌組成員。在中間過程中用alter system checkpoint 來使 日誌狀態active轉inactive,用alter system switch logfile切換日誌組。

1.增大日誌檔案大小,我是透過新建立大的日誌組然後進行切換實現的,在原有的日誌組上建立新的日誌組

alter database add logfile group 4 ('/u01/oracle/product/10.0.2/oradata/ORCL/redo41.log') size 100m;

alter database add logfile group 5 ('/u01/oracle/product/10.0.2/oradata/ORCL/redo51.log') size 100m;

alter database add logfile group 6 ('/u01/oracle/product/10.0.2/oradata/ORCL/redo61.log') size 100m;

2.切換日誌到新建的日誌組

alter system switch logfile;

3.檢視日誌狀態

select * from v$log;

注意:只有status為inactive並且archived 為YES時方可刪除日誌組(這個的意思為該重做日誌己經歸檔,否則會報ora-01624)

4.刪除日誌組

alter database drop logfile group 1;

5.作業系統級別刪除資料檔案(我的系統是redhat5)

rm -rf redo01.log

6.增加日誌成員(最好把成員放到不同的磁碟上做到多功,避免一個組的日誌檔案全部損壞資料庫當機)

alter database add logfile member '/u01/oracle/product/10.0.2/oradata/ORCL/redo42.log' to group 4;

alter database add logfile member '/u01/oracle/product/10.0.2/oradata/ORCL/redo52.log' to group 5;

alter database add logfile member '/u01/oracle/product/10.0.2/oradata/ORCL/redo42.log' to group 3;

7.刪除日誌組成員

alter database drop logfile member '/u01/oracle/product/10.0.2/oradata/ORCL/redo42.log';

下面介紹關於日誌一些原則:

原則:刪除前必須遵守如下原則,每個例項必須至少有兩個日誌組;當一個組處於ACTIVE或者CURRENT的狀態時不可刪除;刪除日誌組的操作只對資料庫進行更改,作業系統的檔案尚未刪除;當刪除時適用DROP LOGFILE GROUP N語句時,此時GROUP N內的所有成員都將被刪除。

alter database drop logfile group n;

刪除日誌成員的原則:當你刪除一個是該組中最後一個成員的時候,你不能刪除此成員;當組的轉檯處於current的狀態時,不能刪除組成員;在歸檔模式下,必須得歸檔之後才能刪除;刪除日誌組成員的操作只對資料庫進行更改,作業系統的檔案尚未刪除

alter database drop logfile member '/location_dust/redo0n_n.log';

本文出自http://blog.csdn.net/warden2010/article/details/6300660

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26224914/viewspace-2122066/,如需轉載,請註明出處,否則將追究法律責任。

相關文章