大家好,《优化系统》Oracle优化所需的动态性能视图v$session_longops相信很多的网友都不是很明白,包括也是一样,不过没有关系,接下来就来为大家分享关于《优化系统》Oracle优化所需的动态性能视图v$session_longops和的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!
将TIMED_STATISTICS 或SQL_TRACE 参数设置为true 使用ANALYZE 语句或DBMS_STATS 包收集对象的统计信息。该视图记录执行时间超过6秒的操作(这些操作可能是备份、恢复、收集统计、Hash Join、Sort、Nested循环、Table Scan、Index Scan等),该视图通常用于分析SQL运行缓慢的原因,与V$SESSION视图配合使用。
使用前提
1.初始化参数timed_statistics必须设置为true或者必须打开sql_trace
2. 必须使用ANALYZE 或DBMS_STATS 来收集对象的统计信息。
相关领域
SID 会话标识SERIAL# 会话序号OPNAME 操作简要描述TARGET 运行操作的对象TARGET_DESC 目标对象描述SOFAR 到目前为止完成的工作负载TOTALWORK 总工作负载UNITS 工作负载单位START_TIME 操作开始时间LAST_UPDATE_TIME 统计项最后更新时间TIMESTAMP 操作时间戳TIME_REMAINING 完成操作的预计剩余时间(秒) ELAPSED_SECONDS 从操作开始起的总时间(秒) CONTEXT 上下文MESSAGE 统计项目的完整描述USERNAME 执行操作的用户ID SQL_ADDRESS 关联v$sql SQL_HASH_VALUE 关联v$sql SQL_ID 关联v $sql QCSID 主要用于并行查询。你需要理解的是:比如某条SQL语句的执行时间比较长,但是每次操作不超过6秒,那么你就无法在V$SESSION_LONGOPS视图中查询到这个信息。
实用脚本
#查找耗时超过6秒的操作SELECT USERNAME, SID, OPNAME, ROUND(SOFAR * 100/TOTALWORK, 0) || ‘%’ AS PROGRESS, TIME_REMAINING, SQL_TEXT FROM V$SESSION_LONGOPS, V$SQL WHERE TIME_REMAINING 0 AND SQL_ADDRESS=ADDRESS AND SQL_HASH_VALUE=HASH_VALUE;#根据sid,serial#关联查询select * from v$session a,v$session_longops b其中a.SID=b.SID 且a.SERIAL#=b.SERIAL#; # 查找特定的sqlselect * from v$sql a,v$session_longops b where a.SQL_ID=b.SQL_ID; select * from v$sqlarea a,v$session_longops b 其中a.HASH_VALUE=b.SQL_HASH_VALUE;根据v$session_longops 两个字段sql_address 和sql_hash_value 结合v$sql 动态视图可以查看这些长时间运行的SQL 语句。
如果是RAC中,则改为视图GV$SESSION_LONGOPS
原创文章,作者:小su,如若转载,请注明出处:https://www.sudun.com/ask/198844.html
用户评论
(り。薆情海
Oracle数据库里一直用着好多常用的性能监控工具,但像 v$session_longops 这种直接展示长时间运行操作的信息的视图,却经常被忽视!这篇文章读完了,感觉自己对 Oracle 的优化体系有了更深入的了解了。文章分析得很好,重点提到了如何利用动态性能视图来改进查询效率,真太实用了!
有17位网友表示赞同!
敬情
说的没错啊,我一直觉得 Oracle 里的那些性能视图挺好用的,只是有时候不太清楚怎么用才高效。这篇文章把 v$session_longops 都讲明白了,还举了几个例子,方便我理解和应用。我已经开始在自己的数据库中使用它了,感觉优化系统运行效率确实提高了不少。
有16位网友表示赞同!
心亡则人忘
写得真好啊!我最近遇到的问题就是查询速度太慢了,经常卡顿,导致工作效率下降很严重。看到这篇文章之后,马上就想到可以用 v$session_longops 来分析看哪里的问题。我现在正在尝试运用这个动态性能视图进行诊断,希望能够解决我的难题。
有14位网友表示赞同!
最怕挣扎
对Oracle系统优化体系了解得真深啊! 不过我觉得,这种文章如果能附一些具体的代码示例,会更有实用性。像我这种非专业 DBA,有时候看着这些描述还是有点一头雾水。
有10位网友表示赞同!
人心叵测i
其实动态性能视图能提供的信息太多了,只是很多DBA平时都不会直接去查看。这篇文章提醒了我, v$session_longops 确实是一个很有用的工具,特别是对于长时间运行的操作分析来说很有价值,以后我会多关注它。
有18位网友表示赞同!
一纸愁肠。
我经常需要对 Oracle 的数据库进行优化,但有时会遇到一些难题。感谢作者分享这篇介绍动态性能视图的文章,让我了解了如何利用 v$session_longops 来分析和解决慢查询问题!希望可以帮到更多的人,提升 Oracle 系统的运行效率。
有16位网友表示赞同!
又落空
文章内容深入浅出,针对Oracle优化体系的讲解还是很清晰的。只是对v$session_longops 的使用场景描述太少了,希望能多举些例子。毕竟只有结合实际应用才能更好地理解和运用这个视图。希望作者能够更新文章,增加更多实践经验分享。
有11位网友表示赞同!
黑夜漫长
我一直在学习 Oracle 数据库管理,这篇文章对我帮助很大。特别是关于 v$session_longops 的介绍,让我明白了如何利用动态性能视图提高查询效率。感谢作者分享知识!
有9位网友表示赞同!
荒野情趣
Oracle 的优化体系确实复杂了许多人难以理解。 这篇针对v$session_longops 的文章解释得挺通俗易懂的,帮助我更清晰地认识到它的作用和价值。相信能够帮助更多的人在 Oracle 数据库的优化过程中有所提高。
有14位网友表示赞同!
发呆
Oracle数据库的性能优化一直是我比较关注的点,这篇介绍动态性能视图的文章很有用,特别是对v$session_longops 的分析我觉得非常有帮助,可以用来更好地理解长时间运行操作背后的原因
有9位网友表示赞同!
雁過藍天
虽然 Oracle 提供了太多强大的工具和视图,但我们不能盲目追求工具的使用。这篇文章强调的是如何正确地利用 v$session_longops 来进行数据库优化是一个很好的提醒,需要认真对待。
有7位网友表示赞同!
把孤独喂饱
我觉得这篇文章说的很有道理!很多 DBA 在使用 Oracle 数据库时,会忽略一些重要的性能分析工具。而 v$session_longops 恰恰能够帮助我们快速定位和解决 long running operation,提高数据库的运行效率。我们应该要更加重视这类工具的使用
有6位网友表示赞同!
水波映月
文章内容比较专业,对于初学者而言可能不太容易理解。建议作者能加入更多的实例图解,或者提供一些更直观的方式来解释 v$session_longops 的使用方法,这样可以让更多人受益。
有15位网友表示赞同!
巷口酒肆
我很喜欢这篇文章,因为它深入浅出地介绍了 v$session_longops 这类动态性能视图的作用和价值。对于 Oracle 数据库的优化工作来说,这种工具是非常有用的,它可以帮助我们更快地找到数据库瓶颈,并制定相应的优化方案。学习这些技巧非常重要,值得我们不断探索!
有20位网友表示赞同!
拥菢过后只剰凄凉
Oracle 的开发文档有时候确实过于复杂,很难一下子理解所有内容。这篇针对 v$session_longops 的文章写得很通俗易懂,将复杂的概念解释得清晰简洁,很适合作为 Oracle DBA 学习的一个参考工具。
有10位网友表示赞同!
々爱被冰凝固ゝ
动态性能视图是 Oracle 数据库中非常宝贵的资源,能够帮助我们更好地了解数据库的运行状态和潜在问题。 这篇文章介绍 v$session_longops 的用法非常详细,希望能帮到更多人掌握这一重要技巧
有20位网友表示赞同!