您好,登錄后才能下訂單哦!
小編給大家分享一下Oracle如何在線調整redo日志組數及組成員,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
一、調整redo日志組大小
操作原因:
redo日志一般設置讓日志轉換時間為10-20分鐘,轉換太頻繁會影響性能。通常情況下每小時不要超過6次!如果AWR(Automated Workload Repository 自動負載信息庫)report中log file switch (checkpoint incomplete)比較大,說明redo log之間的切換過于頻繁。可以通過增加redo log size來降低切換的頻率。但如果redo log size 過大,可能帶來數據庫恢復時丟失數據的風險。所以要折中選擇redo log size, 默認是50M。
Oracle沒有提供直接修改配置文件大小的途徑,但可以采取新增日志組來代替舊有日志組的方式。
例子:現在有三個日志成員,大小為50M,欲更改為100M。
1.查看當前日志組成員
SQL> select member from v$logfile;
2.查看當前日志組狀態
SQL> select group#,members,bytes/1024/1024,status from v$log;
3.增加日志組
SQL>alter database add logfile group 4 ('/u01/oracle/oradata/orcl/redo04.log') size 100M;
SQL>alter database add logfile group 5 ('/u01/oracle/oradata/orcl/redo05.log') size 100M;
SQL>alter database add logfile group 6 ('/u01/oracle/oradata/orcl/redo06.log') size 100M;
4.切換到新增的日志組上
SQL> alter system switch logfile;
(可多次執行,直到CURRENT指向新建的日志組)
5.查看當前日志組狀態
SQL> select group#,members,bytes/1024/1024,status from v$log;
各種狀態含義:
a.CURRENT指當前的日志文件,在進行實例恢復時是必須的;
b.ACTIVE是指活動的非當前日志,在進行實例恢復時會被用到。Active狀態意味著,Checkpoint尚未完成,因此該日志文件不能被覆蓋。這時也不能drop掉,應該執行alter system checkpoint; --強制執行檢查點;然后在操作。
c.INACTIVE是非活動日志,在實例恢復時不再需要,但在介質恢復時可能需要。
d.UNUSED表示該日志從未被寫入,可能是剛添加的,或RESETLOGS后被重置。
6.刪除舊的日志組
SQL> alter database drop logfile group 1;
SQL> alter database drop logfile group 2;
SQL> alter database drop logfile group 3;
7.在操作系統下刪除掉redolog 日志文件
mv /u01/oracle/oradata/orcl/redo0[1-3] /tmp
或直接刪除已經廢棄的日志文件。
備注:可以先新建日志組作為過渡日志組,然后刪除原有日志組并修改大小后進行重建。
二、向現有日志組新增成員
操作原因:重做日志冗余,提高數據可恢復性及完整性。
注意:若在生產庫中,則將新創建的成員放到不同的磁盤上。所有日志成員大小要一致。
1.向指定日志組新增組成員
SQL> alter database add logfile member '/u01/app/oracle/oradata/ORCL/onlinelog/redo04_b.log' to group 4;
2.查看當前日志組成員
SQL> select member from v$logfile;
3.查看當前日志組狀態
SQL> select group#,members,bytes/1024/1024,status from v$log;
看完了這篇文章,相信你對“Oracle如何在線調整redo日志組數及組成員”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。