博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
获取绑定变量语句中传入的值
阅读量:6902 次
发布时间:2019-06-27

本文共 1248 字,大约阅读时间需要 4 分钟。

查看绑定变量的值
 
--还有一种方式
--首先查询出这条SQL 语句的 HASH_VALUE
select A.SQL_ID,A.HASH_VALUE,A.CHILD_NUMBER,A.SQL_TEXT from v$sql a where A.SQL_TEXT like 'SELECT T_LTE_CARD_INFO.PK,%'
 
2621316314    0  SELECT T_LTE_CARD_INFO.PK,%.....
 
--传入HASH_VALUE的值
select * from table(dbms_xplan.display_cursor(2621316314,0,'ADVANCED'));
select * from table(dbms_xplan.display_cursor(2621316314,0,'ADVANCED ALLSTATS LAST PEEKED_BINDS'));
或者
select t.* from v$sql s,table(dbms_xplan.display_cursor(s.sql_id,s.child_number,'ADVANCED ALLSTATS LAST PEEKED_BINDS')) t where s.sql_id = '6g0tcbdcr08b9';
查询结果中有 如下的值就是传入的值及类型
Peeked Binds (identified by position):
--------------------------------------

   1 - (NUMBER): 99
   2 - (NUMBER): 100
 
--使用视图获取
【视图V$SQL_BIND_CAPTURE】
SQL> select name,datatype_string,VALUE_STRING from v$sql_bind_capture where sql_id='xxx';
需要注意三点:
1.这个视图是一个快照视图,并不会保存所有执行过的SQL的绑定变量,能不能看到完全靠运气
2.这个视图只保留同一SQL最后一次捕获到的绑定变量
3.如果绑定变量是DATE类型则无法直接查看到的,后面会讲查看的技巧
 
视图DBA_HIST_SQLBIND】
这个视图是v$sql_bind_capture的历史数据,有同一个SQL不同时间的绑定变量值。不过也是不完整的。
 
--这个sql从awr中读取绑定变量值信息
select instance_number,  sql_id,name, datatype_string, last_captured,value_string from dba_hist_sqlbind where sql_id='fahv8x6ngrb50'order by LAST_CAPTURED,POSITION;
 
 

转载于:https://www.cnblogs.com/cure-t-x-y/p/4241452.html

你可能感兴趣的文章
断点的技巧
查看>>
mariadb配置安装
查看>>
自己做网站怎么计算带宽需求
查看>>
流镜像,端口镜像
查看>>
3月23日作业
查看>>
C语言之枚举
查看>>
我的友情链接
查看>>
程序员学习能力提升三要素
查看>>
Mysqli的批量CRUD数据
查看>>
oracle 10g升级流程
查看>>
linux下DNS服务器的实现1
查看>>
BGinfo设置记录文档
查看>>
爆款打造之中小卖家如何做到零成本选/测款?(一)
查看>>
性能监测工具 dstat
查看>>
匿名无须交互输入用户名和密码的samba配置方法(security=user)
查看>>
我的友情链接
查看>>
UTM四公子
查看>>
6016.Cacti监控思科6509交换机告警灯和系统运行状态
查看>>
sed-n/N/g/G/h/H/x…
查看>>
供应链管理-初见
查看>>