(1)redo log的大小可以影響 DBWR 和 checkpoint ;
(2)arger redo log files provide better performance. Undersized logfiles increase checkpoint activity and reduce performance.
大的log file可以提供更好的性能,小的logfile 會增加checkpoint 和降低性能;
(3) A rough guide is to switch log files at most once every 20 minutes.(推薦日誌切換的時間不要超多20分鐘).
查看redolog
select * from v$log ;
通過查看 我有三組redolog 1/2/3每組兩個成員狀態都正常大小50m
status 有幾個值分別是:
- unused(還沒有使用過);
- current(正在使用);
- active(Log isactive but is not the current log. It is needed for crash recovery)
- inactive(Log is nolonger needed for instance recovery),
查看日誌文件
select * from v$logfile ;
由於ORACLE並沒有提供類似RESIZE的參數來重新調整REDO LOG FILE的大小,因此只能先把這個文件刪除了,然後再重建。又由於ORACLE要求最少有兩組日誌文件在用,所以不能直接刪除,必須要創建中間過渡的REDO LOG日誌組。
1、創建3個新的日誌組
ALTER DATABASE ADD LOGFILE GROUP4('/usr/oracle/app/oradata/orcl/redo04a.log','/usr/oracle/app/oradata/orcl/redo04b.log') SIZE 2048M; ALTER DATABASE ADD LOGFILE GROUP5('/usr/oracle/app/oradata/orcl/redo05a.log','/usr/oracle/app/oradata/orcl/redo05b.log') SIZE 2048M; ALTER DATABASE ADD LOGFILE GROUP6('/usr/oracle/app/oradata/orcl/redo06a.log','/usr/oracle/app/oradata/orcl/redo06b.log') SIZE 2048M;
2、切換當前日誌到新的日誌組
alter system switch logfile; 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;
查看日誌組的狀態看一下哪個是當前組,哪個是inactive狀態的。刪除掉inactive的那個組。如果狀態爲current和active 在刪除的時候會報錯
4、操作系統下刪除原日誌組1、2、3中的文件
注意:每一步刪除drop操作,都需要手工刪除操作系統中的實體文件。
5、重建日誌組1、2、3
ALTER DATABASE ADD LOGFILE GROUP 1('/usr/oracle/app/oradata/orcl/redo01a.log','/usr/oracle/app/oradata/orcl/redo01b.log')SIZE 2048M; ALTER DATABASE ADD LOGFILE GROUP 2('/usr/oracle/app/oradata/orcl/redo02a.log','/usr/oracle/app/oradata/orcl/redo02b.log') SIZE 2048M; ALTER DATABASE ADD LOGFILE GROUP 3('/usr/oracle/app/oradata/orcl/redo03a.log','/usr/oracle/app/oradata/orcl/redo03b.log')SIZE 2048M;
6、切換日誌組
alter system switch logfile; alter system switch logfile; alter system switch logfile;
7、刪除中間過渡用的日誌組4、5、6
alter database drop logfile group 4; alter database drop logfile group 5; alter database drop logfile group 6;
8、到操作系統下刪除原日誌組4、5、6中的文件
9、備份當前的最新的控制文件
SQL> alter database backupcontrolfile to trace resetlogs