移動資料檔案,平衡磁碟負載

oracle_ace發表於2008-01-11

今天在做效能測試的時候,發現查詢TT_AUDITPURGE業務表的時候datavg的I/O佔用比率很高,但由於是新release的build,且department內部release的installation guide還沒有提級資料I/O優化這快兒,那麼在instance這一級,做了一點分散I/O的optimzer.其實很簡單:

通過v$filestat和v$dbfile檢視的聯合查詢,找出熱點檔案。主要是indx和USERS表空間所屬的這兩個檔案,在read和write上佔用了大量的I/O,目前所有資料檔案都是放在一塊盤上。造成了磁碟的負載不均衡,導致I/O很高。

SQL> select name,phyrds,phywrts,readtim,writetim
  2  from v$filestat a,v$dbfile b
  3  where a.file#=b.file#
  4  order by readtim desc;

NAME
---------------------------------------------------------
    PHYRDS    PHYWRTS    READTIM   WRITETIM
---------- ---------- ---------- ----------
/oradata/irmdb/indx01.dbf
     55981       4096      12858     208530

/oradata/irmdb/users01.dbf
     65990      12561       5269     536128

/oradata/irmdb/system01.dbf
      8300       1808       3345       6259

/oradata/irmdb/sysaux01.dbf
      2257       7330       1398      12258

/oradata/irmdb/undotbs01.dbf
        92      24161         44     613217

開始遷移這兩個資料檔案和undo表空間中的資料檔案分開儲存。通過這種移動資料檔案的到其他disk的方式來均衡我們的檔案I/O,由於不是生產環境,所以我們把表空間直接offline.
SQL>alter tablespace INDX offline;

System altered.

SQL>!
$cp /oradata/irmdb/indx01.dbf /oradata2/irmdb/indx01.dbf;
       
SQL>alter tablespace INDX rename datafile '/oradata/irmdb/indx01.dbf' to '/oradata2/irmdb/indx01.dbf';
 
SQL>alter tablespace tablespace online;
 
USERS表空間的修改也如INDX一樣,其實就是移動了一下資料檔案。

這裡簡單記錄一下:)

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12361284/viewspace-135992/,如需轉載,請註明出處,否則將追究法律責任。

相關文章