Oracle更改redo log的大小

來源:互聯網
上載者:User

標籤:

因為資料倉儲ETL過程中,某個mapping的執行時間超過了一個小時,

select event,count(*) fromv$session_wait  group by event order bycount(*)  desc

發現日誌切換佔用了大量的時間,估嘗試增大redo log的大小。

(1) redo log的大小可以影響  DBWR 和 checkpoint ;

(2)larger 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 1/2/3每組兩個成員狀態都正常大小50m

select * from v$log ;

status 有幾個值分別是:

  1. UNUSED(還沒有使用過);
  2. CURRENT(正在使用);
  3. ACTIVE(Log isactive but is not the current log. It is needed for crash recovery);
  4. 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 GROUP 4(‘/usr/oracle/app/oradata/orcl/redo04a.log‘,‘/usr/oracle/app/oradata/orcl/redo04b.log‘) SIZE 2048M;ALTER DATABASE ADD LOGFILE GROUP 5(‘/usr/oracle/app/oradata/orcl/redo05a.log‘,‘/usr/oracle/app/oradata/orcl/redo05b.log‘) SIZE 2048M;ALTER DATABASE ADD LOGFILE GROUP 6(‘/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、刪除舊的日誌組

查看日誌組的狀態看一下哪個是當前組,哪個是inactive狀態的。

SQL> select * from v$log;

刪除掉inactive的那個組。如果狀態為current和active 在刪除的時候會報錯

alter database drop logfile group 1;alter database drop logfile group 2;alter database drop logfile group 3;
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

Oracle更改redo log的大小

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.