2014年10月2日 星期四

[Oracle]Rman備份時利用Rate參數限制IO流量

        話說用Rman備份資料庫時,開兩個Channel備份,雖然備份時間縮短了,但那段時間的IO好高,雖沒人反映那段時間系統運作很慢,我還是想想有沒有限流的方法,結果Channel那邊本身就有參數支援囉。

        Rate參數是用來限制IO Bandwith/sec的,下面例子限制為10M/s

run { allocate channel t1 type disk rate 10M; CROSSCHECK ARCHIVELOG ALL; DELETE NOPROMPT EXPIRED ARCHIVELOG ALL ; backup full format '/backup/rman_backup/db_%T_%u_%s_%p' database include current controlfile; sql 'alter system archive log current'; backup format '/backup/rman_backup/archive_%T_%u_%s_%p' archivelog all delete input; delete noprompt obsolete; crosscheck backup; Release Channel t1; }

        下圖是V$RMAN_BACKUP_JOB_DETAILS中的結果,可看出加與不加的差別,一開始沒加時我看每秒20M左右,所以想到限流到10M測試看看,可看到輸出的流量真的降下來了,但同樣的備份時間就延長囉,設多少適當就得靠自己試試囉








        看看備份時的IO狀態:上圖是未限流,下圖是有限流,未限流的狀況下,io util%都100%左右,表示IO真的很頻繁,已經處於高負載了;在限流的狀態下,可看到io不再是過度集中,有被分散了,每秒rd讀與wr寫的量也有降下來一些,這樣磁碟IO就可以分配一些給資料庫的的其他操作使用,不會被rman備份給占滿喔

0 意見:

張貼留言