以sys执行脚本,创建相关对象
-
--根据所有版本数超过100 的游标的 sql_id 生成报告(10g 和更高版本)
-
-
set pages 2000 lines 100
-
select b.*
-
from v$sqlarea a ,
-
table(version_rpt(a.sql_id)) b
-
where loaded_versions >=100; /*如果是11.2.0.3或者包含了patch 10187168, 那么设置为30 */
-
-
-- 对 sql_id 的游标生成报告
-
set pages 2000 lines 100
-
select * from table(version_rpt('cyzznbykb509s'));
-
在11g数据库及以上版本,这个脚本只会对因为 bind* 原因导致的废弃的游标做统计, 详见"consolidated details for bind* columns"部分。,如果你想统计其它废弃的游标,你必须查询 v$sql 视图,并且用 is_obsolete='y' 作为条件统计行数。
该版本报告脚本试图通过检查 is_obsolete 字段来统计废弃的游标。但是这个字段在 v$sqlarea 视图中仅仅为了向后兼容---不管游标废弃与否,它的值都是’n’。对于某条 sql 语句,不管有多少 parent cursor 或者被废弃的游标存在,在 v$sqlarea 中只显示一行记录。
参考
sql 版本数过高 – 原因判断脚本 (doc id 1985045.1)
故障排除:高版本计数问题(文档 id 296377.1)
阅读(944) | 评论(0) | 转发(0) |