商城 设为首页注册本站  论坛  繁體中文

慧民电脑芯片级维修-电脑技巧
手机 | MP3 | MP4 | 显卡 | 主板 | 显示器 | 光存储 | 笔记本 | 网络设备 | 移动存储 | 数码相机
键鼠 | CPU | 音箱 | GPS | 电视 | 服务器 | 投影机 | 机箱电源 | 品牌电脑 | 办公打印 |
| 网站首页 | Cisco | Windows | Linux | Java | Dotnet | Oracle | 网页设计 | 平面设计 | 安全 | 软件应用 | 电脑维修 | 办公维修 |
您现在的位置: 电脑技巧 >> Oracle >> 性能调优 >> Oracle正文

Unix环境下的Oracle调优

文章来源:ChinaITLab收集整理 作者:佚名 更新时间:2006-11-6 【 】 【加入收藏
   很多DBA在发现系统很慢的时候,有的时候无从下手,下面我分享下我的工作经验。本文主要针对UNIX环境,希望对大家会有些帮助。

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

$ sar -u 1 10

HP-UX bilut42 B.11.11 U 9000/800 10/31/06

09:50:02 %usr %sys %wio %idle
09:50:03 4 1 30 65
09:50:04 7 1 27 65
09:50:05 2 0 25 73
09:50:06 1 1 21 77
09:50:07 1 0 19 80
09:50:08 8 1 18 73
09:50:09 12 1 22 65
09:50:10 9 1 22 68
09:50:11 8 0 21 71
09:50:12 9 1 20 70

Average 6 1 23 71

  其中%usr是用户进程使用cpu的百分比,%sys是系统进程使用cpu的百分比,%wio 是等待IO完成使用cpu的百分比, %idle是空闲的百分比。如果%wio列值很大,说明IO存在问题,需要进行优化,一般情况下认为%wio大于35IO就存在问题。 如果%idle值很低,说明cpu已经满负荷。

  当你的系统存在IO的问题,可以从以下几个方面解决:

  1 联系相应的操作系统的技术支持对这方面进行优化,比如hp-ux在划定卷组时的条带化等方面。

  2 查找Oracle中不合理的sql语句,对其进行优化

  3 对Oracle中访问量频繁的表除合理建索引外,再就是把这些表分表空间存放以免访问上产生热点,再有就是对表合理分区。

  关注一下内存

  常用的工具便是vmstat,对于hp-unix来说可以用glance,Aix来说可以用topas,当你发现vmstat中pi列非零,memory中的free列的值很小,glance,topas中内存的利用率多于80%时,这时说明你的内存方面应该调节一下了,方法大体有以下几项。

  1 划给Oracle使用的内存不要超过系统内存的1/2,一般保在系统内存的40%为益。

  2 为系统增加内存

  3 如果你的连接特别多,可以使用MTS的方式

  4 打全补丁,防止内存漏洞

  如何找到点用系用资源特别大的Oracle的session及其执行的语句。

  Hp-unix可以用glance,top

  IBM AIX可以用topas

  些外可以使用ps的命令。

  通过这些程序我们可以找到点用系统资源特别大的这些进程的进程号,我们就可以通过以下的sql语句发现这个pid正在执行哪个sql,这个sql最好在pl/sql developer,toad等软件中执行,不需要进行格式化, 把<>中的spid换成你的spid就可以了。

  使用top查看运行时间最长state为run进程的pid,使用如下的语句查看pid在做什么

SELECT a.sql_text
FROM v$sqltext a,v$session b
WHERE a.hash_value = b.sql_hash_value AND b.SID='&sid'
ORDER BY piece ASC

  查看到如果是有全表扫描的语句就要进行优化。

  查找前十条性能差的sql.

SELECT * FROM
(
SELECT PARSING_USER_ID
EXECUTIONS,
SORTS,
COMMAND_TYPE,
DISK_READS,
sql_text
FROM v$sqlarea
ORDER BY disk_reads DESC
)
WHERE ROWNUM<10 ;

 

  • 上一篇Oracle:

  • 下一篇Oracle:
  • 最 新 热 门
     新版Oracle适应访问管理器上市
     Oracle业务流程管理10g第三版本面市
     Linux+Oracle 数据库系统启动能有多快?
     Oracle 11g R1中ASM增强
     利用脚本文件来管理Oracle数据库
     Oracle 11g R1中资源管理器增强
     在Oracle数据库中提高查询结果的可读性
     索引存储关系到数据库的运行效率
     Oracle中CHAR类型自动补足空格的问题
     10gRAC网关设置问题
    最 新 推 荐
     Oracle 11g R1中ASM增强
     利用脚本文件来管理Oracle数据库
     Oracle 11g R1中资源管理器增强
     在Oracle数据库中提高查询结果的可读性
     索引存储关系到数据库的运行效率
     Oracle中CHAR类型自动补足空格的问题
     10gRAC网关设置问题
     10g QMON Architecture及AQ_TM_PROCESSES
     Oracle性能调整的误区
     Oracle性能优化技巧
    相 关 文 章

    AIX+Oracle10G安装手册
    Oracle10g 在AIX 5.3上的安装
    RAC环境修改undo_rentention需要谨慎
    解决ORA-600 [qmxiUnpPacked2]错误一则
    Oracle 9i在AIX上的性能调整─内存篇
    数据字典表Truncate掉将导致数据库不可用
    Oracle数据库9i在AIX环境下的性能调整
    Ubuntu下安装Oracle XE
    Rollback(undo) Segment 优化
    如何使用pipeline function获得实时输出

    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告

      Copyright 2006-2008 pcjx.com All Rights Reserved
    电脑技巧 版权所有 粤ICP备06059145号 地图
    门市地址:广东省佛山市南海区黄岐黄海路133号
    本网站所有内容未经许可不得转载或做其他使用
    电话:0757-81139980 QQ:83306923