WEB开发网
开发学院数据库Oracle Oracle数据库的优化之数据库磁盘I/O 阅读

Oracle数据库的优化之数据库磁盘I/O

 2009-05-12 13:13:56 来源:WEB开发网   
核心提示: 调整Checkpoints一个checkpoint是oracle自动执行的一种操作,当检查点操作时,Oracle数据库的优化之数据库磁盘I/O(3),数据库中的所有缓冲区会写回磁盘,所有数据库的控制文件被更新,减少回滚段的竞争通过检查V$WAITSTAT可以确定回滚段的竞争:SELECT

调整Checkpoints

一个checkpoint是oracle自动执行的一种操作,当检查点操作时,数据库中的所有缓冲区会写回磁盘,所有数据库的控制文件被更新。Checkpoint频繁发生会加快数据库的恢复,但是增加了I/O次数,会降低系统的性能。

调整LGWR和DBWn I/O

调整LGWR I/O

每次I/O写的大小依赖于LOG缓冲区的大小,该大小由LOG BUFFER 所设置,缓冲区太大会延迟写操作,太小可能导致频繁的小的I/O操作。如果I/O操作的平均大小很大,那么LOG文件就会成为瓶颈,可以使用STRIPE REDO LOG文件避免这个问题。

调整DBWN I/O

使用初始参数DB_WRITER_PROCESSES,可以创建多个数据库写进程。

调整竞争

由多个进程同时请求使用相同的资源时,就产生了竞争

确定竞争问题

视图V$RESOURCE_LIMIT提供了一些系统资源的使用限制。

如果系统存在无反应的现象,检查V$SYSTEM_EVENT,检查最大平均等待时间的事件;

如果存在过量的缓冲区等待,检查V$WAITSTAT,确定哪个类型的块有最多的等待次数和最长的等待时间,再查询V$SESSION_WAIT得到每个缓冲区的等待时间。

减少回滚段的竞争

通过检查V$WAITSTAT可以确定回滚段的竞争:

SELECT CLASS,COUNT FROM V$WAITSTAT WHERE CLASS IN (‘SYSTEM UODO HEADER’,’SYSTEM UODO BLOCK’,’UODO HEADER’,’UODO BLOCK’) ;

减少调度进程的竞争

检查调度进程的busy率

SELECT NETWORK”PROTOCOL”, SUM(BUSY)/(SUM(BUSY)+SUM(IDLE)) “TOTAL BUSY RATE” FROM V$DISPATCHER GROUP BY NETWORK ;

如果指定协议的调度进程忙的时间超过50%的有效工作时间,那么,增加调度进程可以提高使用该协议连接到oracle的性能。

上一页  1 2 3 4 5 6  下一页

Tags:Oracle 数据库 优化

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