一個重做日志組可以包括一個或多個日志成員,這多個成員應該放再不同的磁盤上,作為磁盤日志鏡像,同一組的成員的內容是一樣的,
一個重做日志組可以包括一個或多個日志成員,這多個成員應該放再不同的磁盤上,作為磁盤日志鏡像,同一組的成員的內容是一樣的,目的是防止某個磁盤失敗造成聯機日志的全部丟失。如果沒有多個磁盤,沒有必要為重做日志組建立多個日志成員。
聯機日志的特點是:當一組都寫滿時開始歸檔,使用下一日志組,當日志組都寫滿又輪回到第一日志組時,如果第一日志組歸檔完畢就覆蓋它,若沒有就只能使用日志緩沖區等待歸檔完畢之后才能使用它。
如果歸檔很慢而且日志文件很大時你可以提前強制歸檔:
ALTER SYSTEM SWITCH LOGFILE;
歸檔日志用于rman恢復,如果不做rman恢復,不需要保存日志,可以直接刪除。
啟動或關閉歸檔
啟動數據庫到mount狀態
startup mount
如果要啟用歸檔模式,此處使用
〉alter database archivelog 命令
如果需要停止歸檔模式,此處使用:
〉alter database noarchivelog 命令。
為避免頻繁切換日志文件,可以增加日志文件大小,默認為1M
1. 進入sqlplus
2. ALTER DATABASE ADD LOGFILE GROUP 4 ('/Oracle/dbs/log1c.rdo') SIZE 10m;
也可以不指定路徑:alter database add logfile group 4 size 30m;
3. 路徑你自己指定(/oracle/dbs/redo4a.log', '/oracle/dbs/redo5a.rdo)
4.查看 select * from v$log; 察看日志組狀態
Select * from v$logfile; 察看日志組成員文件
設置聯機重做日志的大小,使得至少大約15分鐘切換一次,這個值開始可能很難估計。
如何修改在線重做日志文件大小
方法
加入新的大的日志文件,然后刪掉舊的小的日志文件
假設現有三個日志組,每個組內有一個成員,,每個成員的大小為1MB,現在想把此三個日志組的成員大小都改為10MB
1、創建2個新的日志組
SQL> alter database add logfile group 4('/oracle/oradata/orcl/redo04.rdo') size 10m;
SQL> alter database add logfile group 5('/oracle/oradata/orcl/redo05.rdo') size 10m;
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中的文件
rm /oracle/oradata/orcl/redo01.rdo
rm /oracle/oradata/orcl/redo01.rdo
rm /oracle/oradata/orcl/redo01.rdo
5、重建日志組1、2、3
alter database add logfile group 1('/oracle/oradata/orcl/redo01.rdo') size 10m;
alter database add logfile group 2('/oracle/oradata/orcl/redo02.rdo') size 10m;
alter database add logfile group 3('/oracle/oradata/orcl/redo03.rdo') size 10m;
6、切換日志組
alter system switch logfile;
alter system switch logfile;
alter system switch logfile;
7、刪除中間過渡用的日志組4
alter database drop logfile group 4;
alter database drop logfile group 5;
錯誤:
SQL> alter database drop logfile group 4;
alter database drop logfile group 4
*
ERROR at line 1:
ORA-01624: log 4needed for crash recovery of instance orcl (thread 1)
ORA-00312: online log 4thread 1: '/oracle/oradata/orcl/redo04.rdo'
解決:
先查看要刪除的日志組的狀態: select * from v$log
當日志組狀態為active,或current狀態時不能刪除日志組,需切換日志。
8、到操作系統下刪除原日志組4中的文件
9、備份當前的最新的控制文件
SQL> connect internal
SQL> alter database backup controlfile to trace resetlogs
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com