问题描述
嗨,
我们有一个查询,每个星期五在数据库上运行。这曾经在2分钟内完成。
但是,从最近几周开始,工作就超时了。应用程序级别超时设置为4分钟。因此,由于查询未在4分钟内完成,因此作业已超时。
我们试图将超时值增加到15分钟,但仍然超时。但是,在15分钟超时后立即进行下一次运行会在一分钟内完成查询。
你能解释一下这是怎么发生的吗?感觉跟内存参数设置有关系。我们增加了SGA_TARGET值,但它没有解决问题,但执行时间结束后的速度要快得多。
这与PGA工作区的大小有关吗?请指导我在数据库中的位置进行解释。
谢谢
我们有一个查询,每个星期五在数据库上运行。这曾经在2分钟内完成。
但是,从最近几周开始,工作就超时了。应用程序级别超时设置为4分钟。因此,由于查询未在4分钟内完成,因此作业已超时。
我们试图将超时值增加到15分钟,但仍然超时。但是,在15分钟超时后立即进行下一次运行会在一分钟内完成查询。
你能解释一下这是怎么发生的吗?感觉跟内存参数设置有关系。我们增加了SGA_TARGET值,但它没有解决问题,但执行时间结束后的速度要快得多。
这与PGA工作区的大小有关吗?请指导我在数据库中的位置进行解释。
谢谢
专家解答
你的查询发生了一些变化-它可能是它使用的表中的数据,它可能是优化器统计信息,但有些东西已经改变。* 查看 * 丢失时间的一个好方法是查看所使用的执行计划。
通过以下方式获取此信息:
-运行 “设置服务器输出关闭”
-向您的查询添加/* gather_plan_statistics */提示
-运行它
-通过运行获得计划:
选择 *
从表 (dbms_xplan.display_curs(null,null,'ALLSTATS LAST'));
并在这里发布它的输出。确保它包括A(c) 行以及 (E) 估计行列!
通过以下方式获取此信息:
-运行 “设置服务器输出关闭”
-向您的查询添加/* gather_plan_statistics */提示
-运行它
-通过运行获得计划:
选择 *
从表 (dbms_xplan.display_curs(null,null,'ALLSTATS LAST'));
并在这里发布它的输出。确保它包括A(c) 行以及 (E) 估计行列!
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
【纯干货】Oracle 19C RU 19.27 发布,如何快速升级和安装?
Lucifer三思而后行
709次阅读
2025-04-18 14:18:38
Oracle RAC 一键安装翻车?手把手教你如何排错!
Lucifer三思而后行
638次阅读
2025-04-15 17:24:06
Oracle数据库一键巡检并生成HTML结果,免费脚本速来下载!
陈举超
550次阅读
2025-04-20 10:07:02
【ORACLE】你以为的真的是你以为的么?--ORA-38104: Columns referenced in the ON Clause cannot be updated
DarkAthena
499次阅读
2025-04-22 00:13:51
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
496次阅读
2025-04-17 17:02:24
【ORACLE】记录一些ORACLE的merge into语句的BUG
DarkAthena
491次阅读
2025-04-22 00:20:37
一页概览:Oracle GoldenGate
甲骨文云技术
472次阅读
2025-04-30 12:17:56
火焰图--分析复杂SQL执行计划的利器
听见风的声音
420次阅读
2025-04-17 09:30:30
3月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
373次阅读
2025-04-15 14:48:05
OR+DBLINK的关联SQL优化思路
布衣
361次阅读
2025-05-05 19:28:36