oracle rac下調節redo log file 檔案大小,racredo
rac下調節redo log file 檔案大小
(1)查看當前日誌資訊:
select * from v$logfile;
(步驟2中得路徑可以在這裡MEMBER列看到,redo檔案名稱自己命名,比如,redo07.log)
(注意:日誌組現在是6組)
(2)為各個節點添加記錄檔:(每個節點添加三組日誌)
1.節點1
ALTER DATABASE ADD LOGFILE THREAD 1 group 7 ‘+data/....(單引號裡面是路徑)′ size 2048m;
ALTER DATABASE ADD LOGFILE THREAD 1 group 8 ‘+data/....(單引號裡面是路徑)′ size 2048;
ALTER DATABASE ADD LOGFILE THREAD 1 group 9 ‘+data/....(單引號裡面是路徑)′ size 2048;
2.節點2
ALTER DATABASE ADD LOGFILE THREAD 2 group 10 ‘+data/....(單引號裡面是路徑)′ size 2048m;
ALTER DATABASE ADD LOGFILE THREAD 2 group 11 ‘+data/....(單引號裡面是路徑)′ size 2048m;
ALTER DATABASE ADD LOGFILE THREAD 2 group 12 ‘+data/....(單引號裡面是路徑)′ size 2048m;
(3)手動切換日誌並刪除之前日誌:(此步驟反覆執行,一直到把group 1,2,3,4,5,6全部刪除)
查看記錄檔狀態列(STATUS):
SELECT * FROM V$LOG;
只有STATUS列為inactive狀態才能被刪除:
alter database drop logfile group 1;
alter database drop logfile group 2;
alter database drop logfile group 3;
alter database drop logfile group 4;
alter database drop logfile group 5;
alter database drop logfile group 6;
alter system switch logfile;(切換日誌可改變status列的狀態,再進行刪除)
如果不能改變狀態使用這個:alter system archive log current;
最後再:刪除之前的redo log file(作業系統層面刪除)
oracle 體系架構課程中的redo log file的寫入方式
oracle預設三個日誌組,每組一個日誌成員。
對於你說的每組兩個以上成員的說法,日誌組裡面每個成員都是一樣的,之所以會有多個日誌成員,是用來做冗餘,防止突然這個日誌群組成員出現故障導致系統不可用。oracle會並行寫入到日誌組裡面的每個成員。
LGWR進程迴圈向各個日誌組中寫入,當一個日誌組寫滿後,便自動切換到下一個日誌組進行寫入。等到所有日誌都寫滿一遍後,便會迴圈回來,找到第一個日誌組繼續寫入,這個時候便會覆蓋掉之前的日誌資訊。
如果你開啟了歸檔模式,當一個日誌組寫滿後,歸檔進程便會將這個寫滿的記錄檔進行歸檔操作,產生一個歸檔日誌,相當於原來聯機日誌的一個副本。
oracle 記錄檔大小
redo size:redo發生的總次數(以及因此寫入log buffer),以byte為單位。並不是你說的筆數。。而且REDO的產生不只是你UPDATE造成的。。你的DELETE和INSERT同樣會產生REDO
你具體需要看你那些UPDATE語句的執行計畫。。才能看怎麼最佳化。。