Oracle性能问题一般解决思路课件.ppt
《Oracle性能问题一般解决思路课件.ppt》由会员分享,可在线阅读,更多相关《Oracle性能问题一般解决思路课件.ppt(15页珍藏版)》请在三一办公上搜索。
1、Oracle 性能问题一般解决思路,高兴建,主要方向,检查V$session_wait视图,查看当前等待事件,根据等待事件,判断是否由于锁等引起通过操作系统命令top/topas检查耗CPU较高的进程,然后定位到对应的SQL语句。通过SQL语句直接查占IO排名前多少位的SQL语句查看V$sysstat看看是否hard parse非常多检查alert.log是否包含了异常信息或者错误,检查V$session_wait视图,查看当前等待事件,Select event,count(*)from v$session_wait group by event;有问题的主要事件有:enqueue db fi
2、le scattered read direct path read 或 direct path write global cache cr requestlibrary cache lock library cache pin row cache lock,enqueue事件,ENQUEUE事件说明当前会话在等待其他会话所占用的资源。该会话将一直等待下去直到它等待的会话释放资源,并可能将整个数据库hang住。多是DML类型锁。查看enqueue的类型 SQ Enqueue for Sequence Numbers TX Enqueue for a Transaction select sid
3、,chr(bitand(p1,-16777216)/16777215)|chr(bitand(p1,16711680)/65535)Name,(bitand(p1,65535)Modefrom v$session_waitwhere event=enqueue;SID Name Mode-64 TX 6,enqueue事件,解决方法:SELECT DECODE(REQUEST,0,Holder:,Waiter:)|SID SESS,ID1,ID2,LMODE,REQUEST,TYPE FROM V$LOCK WHERE(ID1,ID2,TYPE)IN(SELECT ID1,ID2,TYPE F
4、ROM V$LOCK WHERE REQUEST0)ORDER BY ID1,REQUEST检查出标记为holder的会话号,并做进一步查看原因,可能需要将holder的会话杀掉。如果enqueue类型是SQv$session_wait.p2 is DBA_OBJECTS.object_id,so you can find out which sequence the application is competing如果是TX型v$session.row_wait_obj#is DBA_OBJECTS.object_id,db file scattered read,该事件是指该会话在读很多数
5、据块。一般情况下说明该会话在做全表扫描或者全索引扫描,当这种类型的事件较多时应该检查这些语句是否没有用到索引或者表上没有建合适的索引。,direct path read 或 direct path write,该事件说明该会话在做外部排序。大量的外部排序会导致数据库性能很低,应该检查语句是否有问题。可以的话,可以增加PGA_AGGREGATE_TARGET,global cache cr request,该事件说明RAC环境中,该会话在等待另外一个instance中的会话释放资源。如果较多的该事件发生时,必须检查另外的instance等待的事件,看是否有异常语句在运行,library cach
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle 性能 问题 一般 解决 思路 课件
链接地址:https://www.31ppt.com/p-2167158.html