`
womendu
  • 浏览: 1484121 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

获取绑定变量的各种方法

 
阅读更多

1、查询v$sql视图
selectsql_id, sql_text, bind_data,HASH_VALUE from v$sql where sql_text Like '%select * from test where id1%';
它的记录频率受_cursor_bind_capture_interval 隐含参数控制,默认值900,表示每900秒记录一次绑定值,可以通过alter system set "_cursor_bind_capture_interval"=10;

此时查询到的data值得形式是这样的:BEDA0B2002004F8482D10065FFFF0F00000000000000000000C0021602C102C0021602C102F0018003691532303132303431313032504F443834363135313635F0018003691532303132303431313032504F443834363135313730F0018003691532303132303431313032504F443834363135313731F0018003691532303132303431313032504F443834363135313734F0018003691532303132303431313032504F443834363135313735F0018003691532303132303431313032504F443834363135313739F0018003691532303132303431313032504F443834363135313830F0018003691532303132303431313032504F443834363135313833F0018003691532303132303431313032504F443834363135313834F0018003691532303132303431313032504F443834363135313838F0018003691532303132303431313032504F443834363135313839F0018003691532303132303431313032504F443834363135313933F0018003691532303132303431313032504F443834363135313934F0018003691532303132303431313032504F443834363135313937F0018003691532303132303431313032504F443834363135313938F0018003691532303132303431313032504F443834363135323033F0018003691532303132303431313032504F443834363135323034F0018003691532303132303431313032504F443834363135323037
这样肯定是没法看懂的

需哟进行转换
select dbms_sqltune.extract_binds(bind_data) bind from v$sql WHERE SQL_TEXT LIKE '%FROM TEST11%';


2、查询SELECT VALUE_STRING FROM V$SQL_BIND_CAPTURE WHERE SQL_ID='abhf6n1xqgrr0';
通过v$sql_bind_capture视图,可以查看绑定变量,但是这个视图不太给力,只能捕获最后一次记录的绑定变量值。

而且两次捕获的间隔有一个隐含参数控制。默认是900秒,才会重新开始捕获。在900内,绑定变量值的改变不会反应在这个视图中。

10G以后可以通过如下方法查看AWR报告里记录的SQL的绑定变量值。

select snap_id, name, position, value_string,last_captured,WAS_CAPTUREDfrom dba_hist_sqlbind where sql_id = '576c1s91gua19' and snap_id='20433';

----------SNAP_ID就是AWR报告的快照ID

----------name,绑定变量的名称

----------position,绑定值在SQL语句中的位置,以123进行标注

---------value_string,就是绑定变量值

---------,last_captured,最后捕获到的时间

---------WAS_CAPTURED,是否绑定被捕获,where子句前面的绑定不进行捕获。

dba_hist_sqlbind视图强大的地方在于,它记录了每个AWR报告里的SQL的绑定变量值,当然这个绑定变量值也是AWR生成的时候从v$sql_bind_capture采样获得的。

通过这个视图,我们能够获得比较多的绑定变量值,对于我们排查问题,这些值一般足够了。

还有一个需要注意的地方是,这两个视图中记录的绑定变量只对where条件后面的绑定进行捕获,这点需要使用的时候注意。

3、查询dba_hist_sqlbind VALUE_STRING列
DBA_HIST_SQLBIND是视图V$SQL_BIND_CAPTURE历史快照

4、查询wrh$_sqlstat
select dbms_sqltune.extract_bind(bind_data, 1).value_string
from wrh$_sqlstat
where sql_id = '88dz0k2qvg876'----根据绑定变量的多少增加dbms_sqltune.extract_bind(bind_data, 2).value_string等
分享到:
评论

相关推荐

    jansu-dev#Oracle-Learning-Notes#[Oracle]--捕获绑定变量的方法1

    捕获绑定变量when 180 then --TIMESTAMP可以获取绑定变量,前提是还没被清出sga.

    动态SQL 并且把返回的值赋给变量

    动态SQL 并且把返回的值赋给变量,sp_executesql,动态sql语句基本语法

    Python面向对象程序设计类变量与成员变量、类方法与成员方法用法分析

    本文实例讲述了Python面向对象程序设计类变量与成员变量、类方法与成员方法用法。分享给大家供大家参考,具体如下: 类变量与成员变量 在类中声明的变量我们称之为类变量[静态成员变量], 在init()函数中声明的变量...

    Java多态中的动态绑定与静态绑定

    1.动态绑定(auto binding):也叫后期绑定,在运行时,虚拟机根据具体对象的类型进行绑定,或者说是只有对象在虚拟机中创建了之后,才能确定方法属于哪一个对象,与引用变量实际引用的对象绑定,调用重写的方法,由...

    解决vue项目input输入框双向绑定数据不实时生效问题

    我就废话不多说了,大家还是直接看代码吧~ <input type=”text” maxlength=”11″ ...解决方法如下: this.$set(this.form,”phone”,this.$route.query.mobile) 或者绑定到data里边的一个字符串,也是可以解决

    巧用DataGridView表格绑定编辑显示自定义类的二维数组数据

    主要通过DataGridView表格来绑定自动输入自定义类的二维数组数据,...不能调用变量获取数据,因为这是针对二维数组扩展的 getValues(object[] rtobjs)取所有数据数组 getValue(int rowIndex,object rtobj)取每一行数据

    cardSlideAround-卡片滑动切换特效.zip

    同时绑定的变量也会切换,达到了内容随卡片切换的效果如果不去除移动的话,就不能1、2卡片绑定同一个变量,因为移动上面卡片会看到下面的卡片解决方法1(个人思考,如果有更好的欢迎交流)绑定两个变量,切换卡片的...

    【数据库维护】-oracle远程维护程序

    通过远程连接Oracle数据库的方式实现对数据库进行管理维护 ... 7) 获取SQL语句中绑定变量的信息。 8) 查询REDO日志切换速度。 9) 表空间自动添加数据文件(仅支持ASM)。 10) 生成SQL语句优化建议。

    Vue父组件如何获取子组件中的变量

    注:可以通过获取id/class来操作,这里我就不介绍这种方法了,至于jquery的话,在vue中还是慎用。 介绍:这里通过给子组件绑定ref属性,引号命名自定义,然后父组件通过 this.$refs.名字 就可以操作子组件的元素,以...

    VC++轻松获取硬盘序列号(包括类文件和程序,一看便知)

    轻松获取硬盘序列号和硬盘其他的一些信息,如果大家想实现软件和计算机绑定功能,该程序无疑就是您的最佳选择。...只要导入类文件,调用其中的一个方法,就可以直接获取硬盘序列号的一个变量值了。

    jquery配合.NET实现点击指定绑定数据并且能够一键下载

    2.后台获取到隐藏变量的值,并将它循环数组取值,得到绑定值的下载地址,最后打包下载 首先html中div根据后台绑定 <div id=downloadInfo runat=server></div>  其次是下载附件的选择,利用jquery实现,并且将值...

    asp.net获取后台之间传值

    这是我从网上找到的不错的获取(绑定)后台代码中变量值,有好几种方法,挺详细的,就复制下来了

    ThinkPHP3.1新特性之Action参数绑定

    ThinkPHP3.1版的Action参数绑定功能提供了URL变量和操作方法的参数绑定支持,这一功能可以使得你的操作方法定义和参数获取更加清晰,也便于跨模块调用操作方法。这一新特性对以往的操作方法使用没有任何影响,你也...

    SpringMVC MyBatis项目实战 入门

    第一部分是Java开发环境的搭建,包括JDK的下载与安装、环境变量的配置、MyEclipse的下载与基本配置。第二部分是MyBatis技术入门,包括剖析JDBC的弊端、MyBatis的背景介绍、入门程序的编写、配置文件的剖析、高级映射...

    解决使用attachEvent函数时,this指向被绑定的元素的问题的方法

    但是在IE中,函数内的this指针并没有指向被绑定元素,而是function对象,在应用中,这是很难受的一件事,如果试图用局部变量传送元素,会因为闭包而引起内存泄漏。那么,我们应该如何解决这一难题呢? 我给Function...

    微信小程序mpvue点击按钮获取button值的方法

    在小程序里面是没有dom元素的,这个我们只要会小程序的应该都知道,但是在平时开发中我们偶尔会遇到需要点击某个元素获取它的值的情况,在这里给大家列举了两种情况解决方法 方式一:数据绑定 这种情况的话,对应的场景是...

    大更新【CHENI纯组件列表框1.5】修复部分BUG,新增绑定数据功能-易语言

     (作用:首次绑定自定义文本数组,该方法绑定后的数组会和各个表项之间互相对应,例如点击按钮后可使用 打开指定网址()方法配合下列获取方法从而达到于数组对接的效果)  8.1.1、参数: 关键字:用于获取时的...

    js用name做变量名

    昨天帮室友写作业的时候发生了一件很奇怪的事情,我使用var关键字定义了一个name,目的是为了获取一个input标签中的value值,因为是很简单的操作,所以我直接绑定了点击事件,后来发现点击事件不生效,打印name发现其实...

    学学Python_43类的成员02 调用父类构造函数

    调用父类构造函数,对应文件:ClassElement2,文章:https://blog.csdn.net/yysyangyangyangshan/article/details/84311848

Global site tag (gtag.js) - Google Analytics