[轉] 增大oracle重做日誌的大小

來源:互聯網
上載者:User

標籤:ar   使用   sp   檔案   資料   art   log   cti   bs   

重做日誌(redo log)是由LGWR來進行控制的。Oracle對於DML操作資料的時候,並不會馬上去修改資料區塊,而是產出redo記錄,並記錄到聯機的redo log裡,當redo Log用滿,或者啟動全域checkpoint,也或者alter system switch logfile; 這時都會切換redo log group,(如果redo log狀態為current,是當前redo log,如果是inactive就是已經有DBWN寫入資料區塊,Inactive還沒有寫入)redo log進行切換時,有一定的消耗,或者有時由於redo log過小而造成一定的錯誤,這時,我們都需要將redo log調整變大。

 

我們可以採取以下步驟來達到目的

1. 檢查logfile組狀態
SQL> select a.status, b.member, a.THREAD#, a.GROUP# from v$log a, v$logfile b where a.GROUP#=b.GROUP#;

STATUS MEMBER THREAD# GROUP#
—————- ————————————————————- ———- ———-
CURRENT /opt/oracle/oradata/ocrl/redo01.log 1 1
INACTIVE /opt/oracle/oradata/ocrl/redo02.log 1 2
INACTIVE /opt/oracle/oradata/ocrl/redo03.log 1 3

2. 將inactive的redo.log刪除,inactive的redo.log已經寫入資料區塊。
SQL> alter database drop logfile ‘/opt/oracle/oradata/ocrl/redo03.log’; 或者直接用
SQL> alter database drop logfile group 3;

3. 添加上面被drop掉的redo log group
SQL> alter database add logfile group 3 (’/opt/oracle/oradata/ocrl/redo03.log’) size 120M reuse;

4. 迴圈2,3把所有的inactive的redo log檔案都resize掉

5. 對於current和active的redo log檔案,需要先把redo log做到inactive狀態,在前言部分就已經提到了,current表示是當前正在記錄的redo log檔案,對待這樣的我們需要
SQL>alter system switch logfile; 切換記錄檔,不過由於redo log的重做日誌不會馬上觸發DBWR寫資料庫,所以這個redo log的狀態由current變成active狀態,我們看查看
SQL> select a.status, a.THREAD#, a.GROUP# from v$log a;

STATUS THREAD# GROUP#
—————- ———- ———-
CURRENT 1 1
INACTIVE 1 2
UNUSED 1 3

SQL>alter system switch logfile;
SQL> select a.status, a.THREAD#, a.GROUP# from v$log a;

STATUS THREAD# GROUP#
—————- ———- ———-
ACTIVE 1 1
CURRENT 1 2
UNUSED 1 3
(注意 group 3是我新加入的redo log group,還沒有被使用,狀態是UNUSED)

5. 對於active狀態的,表示這裡的髒資料還沒有寫入寫入資料庫,手工加個全域檢查點,督促CKPT馬上喚醒DBWR寫入髒資料
SQL>alter system checkpoint;
查看v$log
STATUS THREAD# GROUP#
—————- ———- ———-
INACTIVE 1 1
CURRENT 1 2
UNUSED 1 3

在使用2,3步把group 1也重建。

6. 依照4,5把所有active的redo log做掉

到此,所有的redo log都已經全面改變大小,任務完成。

這裡要注意兩點
1. 單純加redo log group單個檔案的大小沒有作用,同一個group裡,檔案大小都是一致的。

2. 如果是歸檔模式的話,確保已經自動歸檔,如果手動歸檔的話,需要在alter system switch logfile鎖死的時候,用alter system log current 來手動歸檔。或者通過alter system archive log start開啟自動歸檔。否則的話,當redo log group切換完整個groups的時候,會一直等待狀態.



[轉] 增大oracle重做日誌的大小

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.