Oracle AWR性能优化一例
admin
2023-04-15 03:21:24
0

有一个批处理程序运行超过24小时仍然不能完成,采集了程序运行期间的AWR报告如下。
Oracle AWR性能优化一例

由上可以看到,该系统为AIX的单实例数据库,采样时长1319.96 分钟,DB time 1532.15分钟。

看一下TOP等待事件:
Oracle AWR性能优化一例

可以看到有非常高的DB file scattered read等待事件,该等待事件表示将大量的数据块读入到不连续的内存区域,往往预示着大的全表扫描。
在程序运行期间,查看ASH动态视图v$active_session_history,同样可以发现发生着大量的DB file scattered read 等待事件,从该视图的执行计划列可以看到正在发生着 Table Full Scan.

接着我们看TOP SQL部分:
Oracle AWR性能优化一例

Oracle AWR性能优化一例

我们看到 SQL ID 为2yhcj6jcbtvac的SQL语句消耗大量的资源, 该SQL语句如下:
SELECT MATCH_CLIENT_ID , MATCH_CLIENT_ROLE , DECODE(MATCH_SYS_CODE, 'HKP', 1, 'UVP', 2, 'CAS', 3, 'NB', 4, 'GP', 5, 'GLH', 6, 'GI', 7, 'MFD', 8, 'CRC', 9, 10) AS MATCH_POL_ORDER , MATCH_SYS_CODE , MATCH_LOB , MATCH_CONTRACT_NO , MATCH_CERTIFICATE_NO FROM POSSIBLE_CUST_REPORT_SCB WHERE BATCH_DATE = :B3 AND CLIENT_ID = :B2 AND MATCH_CLIENT_ID = :B1

可以看到该语句为一个单表查询,从v$active_session_history也可以看到就是该语句发生着大量的DB file scattered read, 查看该表的定义,没有索引,所以初次可以判定,以上的SQL语句被多次执行,并且因为没有索引所以在产生全表扫描。

查看AWR的segment部分,更确认了这一点:
Oracle AWR性能优化一例

Oracle AWR性能优化一例

该表段上产生最大的逻辑读、物理读和非优化的读取。

所以, 现在完全可以确定,该表上大量的全表扫描是最主要的性能问题,所以需要在该表上添加索引。

在该表上创建索引:
CREATE INDEX idx1_POSSIBLE_CUST_REPORT_SCB ON POSSIBLE_CUST_REPORT_SCB(BATCH_DATE,CLIENT_ID,MATCH_CLIENT_ID);

所以创建完成后,立刻再次查看v$active_session_history,可以看到执行路劲改走索引。
最终结果确认,该批处理程序性能提升3倍以上。

相关内容

热门资讯

玩家最新攻略“星悦麻将怎么开挂... 玩家最新攻略“星悦麻将怎么开挂?”(必胜开挂神器)您好,星悦麻将这个游戏其实有挂的,确实是有挂的,需...
【第一消息】“福麻圈到底是不是... 您好:福麻圈这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9784099】很多玩家在这款游戏中...
今日重大消息“悠悠众娱怎么开挂... 您好:悠悠众娱这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9784099】很多玩家在这款游戏...
玩家攻略科普“四方棋牌可以开挂... 您好:四方棋牌这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9752949】很多玩家在这款游戏...
玩家最新攻略“科乐吉林麻将真的... 家人们!今天小编来为大家解答科乐吉林麻将透视挂怎么安装这个问题咨询软件客服徽9752949的挂在哪里...
玩家攻略科普“杭麻圈辅助器?”... 网上科普关于“杭麻圈有没有挂”话题很是火热,小编也是针对杭麻圈作*弊开挂的方法以及开挂对应的知识点,...
终于了解“游游棋牌辅助器?”(... 终于了解“游游棋牌辅助器?”(透视曝光猫腻)您好,游游棋牌这个游戏其实有挂的,确实是有挂的,需要了解...
玩家最新攻略“星悦麻将辅助器?... 您好:星悦麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9784099】很多玩家在这款游戏...
【第一财经】“牵手跑胡子辅助器... 有 亲,根据资深记者爆料牵手跑胡子是可以开挂的,确实有挂(咨询软件无需打...
【今日要闻】“邳州麻将到底有挂... 【今日要闻】“邳州麻将到底有挂吗?”(外卦神器下载)您好,邳州麻将这个游戏其实有挂的,确实是有挂的,...