redo log 一般設定讓日誌轉換時間為10-20分鐘,轉換太頻繁會影響效能. 如果AWR report中log file switch (checkpoint incomplete) 比較大, 說明redo log之間的切換過於頻繁. 可以通過增加redo log size來降低切換的頻率. 但如果redo log size 過大, 可能帶來資料庫恢複時遺失資料的風險. 所以要折中選擇redo log size, 預設是50M.
修改redo log size的方法.
假設現有三個日誌組,每個組內有一個成員,每個成員的大小為1MB,現在想把此三個日誌組的成員大小都改為10MB
查看當前記錄檔組的狀態
select group#,status from v$log;
1、建立2個新的日誌組
alter database add logfile group 4 ('D:\Oracle\ORADATA\ORADB\REDO04_1.LOG') size 1024k;
alter database add logfile group 5 ('D:\ORACLE\ORADATA\ORADB\REDO05_1.LOG') size 1024k;
2、切換當前日誌到新的日誌組
alter system switch logfile;
alter system switch logfile;
3、刪除舊的日誌組
alter database drop logfile group 1;
alter database drop logfile group 2;
alter database drop logfile group 3;
4、作業系統下刪除原日誌組1、2、3中的檔案
5、重建日誌組1、2、3
alter database add logfile group 1 ('D:\ORACLE\ORADATA\ORADB\REDO01_1.LOG') size 10M;
alter database add logfile group 2 ('D:\ORACLE\ORADATA\ORADB\REDO02_1.LOG') size 10M;
alter database add logfile group 3 ('D:\ORACLE\ORADATA\ORADB\REDO03_1.LOG') size 10M;
6、切換日誌組
alter system switch logfile;
alter system switch logfile;
alter system switch logfile;
7、刪除中間過渡用的日誌組4、5
alter database drop logfile group 4;
alter database drop logfile group 5;
8、到作業系統下刪除原日誌組4、5中的檔案
9、備份當前的最新的控制檔案
SQL> alter database backup controlfile to trace resetlogs
如果在RAC中出現
SQL> alter database mount;
ERROR at line 1:
ORA-01618: redo thread 3 is not enabled - cannot mount
則說明thread 3 的redo log沒有啟用 可以通過下面的方式啟用
alter database enable thread 3;
通過alter system archive log current;的方式切換
更多Oracle相關資訊見Oracle 專題頁面 http://www.bkjia.com/topicnews.aspx?tid=12