Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

89

积分

0

好友

0

主题
1#
发表于 2012-1-5 19:44:42 | 查看: 7104| 回复: 2
用户有要求要拿前天的执行的某两条sql的执行时间,这两条sql每5秒跑一次,一般0.5秒内跑完。用户报告说前天5点半左右这两条update语句跑了10多秒,要求看这两条update历史纪录 就是每次跑了多长时间.

从AWR里好像只能看到平均值 和跑了多少次, 如何拿到每次跑的时间(elapsed time)?

untitled.JPG (79.82 KB, 下载次数: 478)

untitled.JPG

2#
发表于 2012-1-5 20:53:04
1. AWR 或者 workload repository都只有  SQL 耗时的累计值和delta值

2.  可以通过ASH 视图中的相关信息 精确到 秒来 大致估算

3. 如果开启了sql trace或者10046 可以通过 trace文件来分析耗时

总结 oracle不会保留每一次SQL的运行时间,而只暂时保存统和值(试想 保留每一次SQL运行时间 会是多大的数据量),需要利用其它辅助手段来估算。

回复 只看该作者 道具 举报

3#
发表于 2012-1-8 00:30:56
update语句,正常跑0.5s,跑了10多秒,可以 用ash看看是否有tx锁阻塞了~

回复 只看该作者 道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-11-15 01:52 , Processed in 0.060000 second(s), 24 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569