WEB开发网
开发学院数据库Oracle Oracle几种性能调优方法 阅读

Oracle几种性能调优方法

 2010-02-22 16:11:22 来源:WEB开发网   
核心提示:调整磁盘I/O磁盘I/O是系统性能的瓶颈,解决好磁盘I/O,Oracle几种性能调优方法(2),可明显提高性能,通过查询V$FILESTAT可以知道每个物理文件的使用频率(phyrds表示每个数据文件读的次数,SQL>SELECTname,valueFROMv$sysstatWHEREname=’re

调整磁盘I/O

磁盘I/O是系统性能的瓶颈,解决好磁盘I/O,可明显提高性能。通过查询V$FILESTAT可以知道每个物理文件的使用频率(phyrds表示每个数据文件读的次数,phywrts表示每个数据文件写的次数)

SQL>SELECT name,phyrds,phywrts FROM v$datafile df,v$filestat fs
WHERE df.file# =fs.file#;

对于使用频率较高的物理文件,可以采用以下策略:

将I/O尽可能平均分配在尽可能多的磁盘上。

为表和索引建立不同的表空间。

将数据文件与重做日志文件分离在不同的磁盘上。

减少不经Oracle SERVER的磁盘I/O。

调整竞争

当多个进程对相同的资源发出申请时,产生竞争。

修改Process参数

该参数定义可以同时连接到Oracle数据库的最大进程数,缺省值为50。注意,Oracle的后台进程也包括在此数目中,建议将该值改为200。

减少调度进程的竞争

减少调度进程的竞争,通过查询v$dispatcher表来判定调度进程的竞争

SQL>SELECT network ,sum(busy)/sum(busy)+sum(idle) FROM v$dispatcher
GROUP BY network;

如果某种协议忙的比率超过50%,应增加MTS-DISPATCHERS的值。

减少多线程服务进程竞争

首先查询V$SYSSTAT表判定是否发生多线程服务进程竞争:

SQL>SELECT DECODE(totalq,0,’No request’,wait/totalq||’hunderths of seconds’) FROM v$sysstat
WHERE type=’common’;

如果共享服务进程数量已达到初始化参数文件中MTS-MAX-SERVERS指定的最大值,但应用运行时,平均请求等待时间仍持续增长,那么,应加大MTS-MAX-SERVERS的值。

减少重做日志缓冲区竞争

通过查询V$SYSSTAT表判定redo log 文件缓冲区是否足够。

SQL>SELECT name,value FROM v$sysstat
WHERE name=’redo log space request’;

此处value的值应接近于0,否则,应增大初始化参数文件的LOG-BUFFEQS的值。

Tags:Oracle 性能 方法

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接