ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 移动数据文件,平衡磁盘负载

移动数据文件,平衡磁盘负载

原创 Linux操作系统 作者:oracle_ace 时间:2008-01-11 14:51:31 0 删除 编辑

今天在做性能测试的时候,发现查询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/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2007-12-10

  • 博文量
    284
  • 访问量
    787612