ITPub博客

首页 > 数据库 > Oracle > SELECT_CURSOR_CACHE

SELECT_CURSOR_CACHE

原创 Oracle 作者:wanghao2979 时间:2017-03-16 10:53:47 0 删除 编辑
DBMS_SQLTUNE.SELECT_CURSOR_CACHE (
  basic_filter        IN   VARCHAR2 := NULL,
  object_filter       IN   VARCHAR2 := NULL,
  ranking_measure1    IN   VARCHAR2 := NULL,
  ranking_measure2    IN   VARCHAR2 := NULL,
  ranking_measure3    IN   VARCHAR2 := NULL,
  result_percentage   IN   NUMBER   := 1,
  result_limit        IN   NUMBER   := NULL,
  attribute_list      IN   VARCHAR2 := NULL)
 RETURN sys.sqlset PIPELINED;


 


上面是 SELECT_CURSOR_CACHE 的定义


我们根据官方提供的例子做一下测试


1.获取  cache 里的所有 sql


SELECT *  FROM table(DBMS_SQLTUNE.SELECT_CURSOR_CACHE());


2.获取 指定 sql_id 信息


SELECT * FROM table(DBMS_SQLTUNE.SELECT_CURSOR_CACHE('sql_id = ''4rm4183czbs7j'''));


3.获取 非系统用户的 SQL信息


SELECT *  FROM table(DBMS_SQLTUNE.SELECT_CURSOR_CACHE('parsing_schema_name not in  (''SYS'',''SYSTEM'')'));


4.获取 module 为 DBMS_SCHEDULER ,action 为 HZ_BASEDATA 的存储过程


SELECT *  FROM table(DBMS_SQLTUNE.SELECT_CURSOR_CACHE('module = ''DBMS_SCHEDULER'' and action = ''HZ_BASEDATA'''));


5.获取 elapsed_time  时间大于 5000000 (5 seconds)的cache 中的 sql


SELECT *  FROM table(DBMS_SQLTUNE.SELECT_CURSOR_CACHE('elapsed_time > 5000000'));


6.获取  buffer get 为 100 用户为 JC800 的 cache 中的  sql


SELECT *  FROM table(DBMS_SQLTUNE.SELECT_CURSOR_CACHE('buffer_gets > 100 and parsing_schema_name = ''JC800'''));


7.获取用户为  JC800, 按 执行时间取前 100条SQL


SELECT *  FROM table(DBMS_SQLTUNE.SELECT_CURSOR_CACHE('parsing_schema_name=''JC800''',NULL,'ELAPSED_TIME', NULL, NULL,1,100));


8.获取 buffer_get 超过 90% 的


SELECT *  FROM table(DBMS_SQLTUNE.SELECT_CURSOR_CACHE(NULL,NULL,'BUFFER_GETS', NULL, NULL,0.9));


9.获取 elapsed_time  时间大于 5000000  (5 seconds)的
SELECT *  FROM table(DBMS_SQLTUNE.SELECT_CURSOR_CACHE( 'elapsed_time > 5000000', NULL, NULL, NULL, NULL, 1, NULL, 'EXECUTION_STATISTICS, SQL_BINDS, SQL_PLAN'));




大家可以根据这个函数的定义,自由发挥,还是很不错的.你们学会了么


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/7569309/viewspace-2135458/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: SQL PROFILE
下一篇: SQL PLAN BASELINE
请登录后发表评论 登录
全部评论
主要负责客户现场exadata与exalogic设备的维护工作, 擅长于ORACLE数据库环境/高可用环境的搭建及故障诊断, 并且也获有 11g ocp 证书,10g ocm 证书

注册时间:2017-01-10

  • 博文量
    90
  • 访问量
    84716