三九宝宝网宝宝百科宝宝知识

Oracle数据库的性能怎样优化

01月07日 编辑 39baobao.com

一、通过操作系统的一些工具检查系统的状态,比如CPU、内存、交换、磁盘的利用率,根据经验或与系统正常时的状态相比对,有时系统表面上看起来看空闲这也可能不是一个正常的状态,因为cpu可能正等待IO的完成。除此之外我们还应观注那些占用系统资源(cpu、内存)的进程。

1、如何检查操作系统是否存在IO的问题?使用的工具有sar,这是一个比较通用的工具。

Rp1#sar -u 2 10即每隔2秒检察一次,共执行20次,当然这些都由你决定了。 示例返回: HP-UX hpn2 B。11。00 U 9000/800 08/05/0318:26:32 %usr %sys %wio %idle注:我在redhat下查看是这种结果,不知%system就是所谓的%wio Linux 2。 4。21-20。ELsmp (YY075) 05/19/200510:36:07 AM CPU %user %nice %system %idle10:36:09 AM all 0。00 0。00 0。13 99。8710:36:11 AM all 0。 00 0。00 0。00 100。0010:36:13 AM all 0。

25 0。00 0。25 99。4910:36:15 AM all 0。13 0。00 0。13 99。7510:36:17 AM all 0。00 0。00 0。00 100。 0010:36:17 AM CPU %user %nice %system %idle10:36:19 AM all 0。00 0。00 0。00 100。0010:36:21 AM all 0。00 0。00 0。00 100。0010:36:23 AM all 0。 00 0。00 0。00 100。0010:36:25 AM all 0。00 0。00 0。00 100。00其中的%usr指的是用户进程使用的cpu资源的百分比,%sys指的是系统资源使用cpu资源的百分比,%wio指的是等待io完成的百分比,这是值得我们观注的一项,%idle即空闲的百分比。

如果wio列的值很大,如在35%以上,说明你的系统的IO存在瓶颈,你的CPU花费了很大的时间去等待IO的完成。Idle很小说明系统CPU很忙。像我的这个示例,可以看到wio平均值为11说明io没什么特别的问题,而我的idle值为零,说明我的cpu已经满负荷运行了。 当你的系统存在IO的问题,可以从以下几个方面解决: *联系相应的操作系统的技术支持对这方面进行优化,比如hp-ux在划定卷组时的条带化等方面。

*查找Oracle中不合理的sql语句,对其进行优 *对Oracle中访问量频繁的表除合理建索引外,再就是把这些表分表空间存放以免访问上产生热点,再有就是对表合理分区。

推荐阅读
图文推荐