千家信息网

Oracle AWR性能优化一例

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,有一个批处理程序运行超过24小时仍然不能完成,采集了程序运行期间的AWR报告如下。由上可以看到,该系统为AIX的单实例数据库,采样时长1319.96 分钟,DB time 1532.15分钟。看一下T
千家信息网最后更新 2026年11月03日Oracle AWR性能优化一例

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

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

看一下TOP等待事件:

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

接着我们看TOP SQL部分:

我们看到 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部分,更确认了这一点:

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

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

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

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

索引 语句 事件 程序 运行 性能 数据 视图 部分 最大 内存 再次 动态 区域 实例 小时 就是 报告 数据库 时长 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技工作委员会毛军 智网互联网科技 未来的互联网科技 美国互联网黑科技 伴你行互联网科技有限公司 互联网科技博客 盛创互联网科技有限公司 新华互联网科技校企合作 宁夏众和广鑫互联网科技有限公司 赶超互联网科技 微信多开 移动互联网年度科技创新 呼和浩特新华互联网科技学院 互联网方面的科技前沿 深圳无忧互联网科技 互联网安防科技感 昆明中奇联合互联网科技 福建互联网展示科技馆设计 互联网科技和医药行业 科技互联网专业工作会议发言稿 保山浩联互联网科技有限公司 互联网科技有限公司经营范围 互联网科技社 关于新基建和互联网科技 合肥互联网科技公司 沃里互联网科技 科技互联网创业计划书 佰商互联网科技有限公司 成都仁贤领冠互联网科技有限公司 昭通云南众福互联网科技有限公司 兰石爱特工业互联网科技分公司
0