以sys执行脚本,创建相关对象
version_rpt3_23.sql
-
--根据所有版本数超过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)
阅读(1095) | 评论(0) | 转发(0) |