`
womendu
  • 浏览: 1513604 次
  • 性别: 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等
分享到:
评论

相关推荐

    在Java中实现Oracle变量的绑定方法 .doc

    为了解决这些问题,我们可以使用预编译的PreparedStatement对象来绑定变量,例如: ```java String sql = "select name from oms_user where id=?"; PreparedStatement pstmt = connection.prepareStatement(sql); ...

    sql绑定变量

    标题与描述中的“SQL绑定变量”这一知识点,主要聚焦于SQL语句中如何使用变量,尤其是在存储过程或函数中动态构建SQL语句...对于任何从事数据库开发或维护的专业人士来说,掌握绑定变量的使用方法都是必不可少的技能。

    绑定变量解读PPT

    如果解析时间远超过数据获取时间和实际执行时间,那么使用绑定变量将带来巨大的性能提升。 #### 四、何时不使用绑定变量? 尽管绑定变量在很多情况下都带来了性能上的优势,但在某些特定场景下,其效果可能并不...

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

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

    C#net反射实现访问类中的私有变量或者方法

    - 调用未绑定的方法。 - 获取类型的信息。 ### 二、C#反射实现访问类中的私有变量或方法 #### 2.1 示例代码分析 首先,我们来看一下提供的示例代码: ```csharp using System; using System.Reflection; class ...

    oracle 的绑定变量

    【Oracle的绑定变量】在数据库管理系统中,尤其是Oracle OLTP(在线事务处理)系统中,绑定变量是一个关键的性能优化技术。它对于提高系统效率、减少资源消耗具有显著作用。绑定变量的基本思想是通过变量来替代SQL...

    Layui组件Table绑定行点击事件和获取行数据的方法

    通过上述方法,可以实现对Layui Table组件行点击事件的绑定,并且可以灵活地获取到行数据,为后续的业务处理提供支持。对于前端开发者来说,掌握如何操作DOM元素以及如何利用事件驱动的编程模式是十分必要的。通过对...

    layui动态绑定事件的方法

    本文将介绍使用layui框架来实现动态绑定事件的方法,并探讨其中的关键技术点。 首先,我们需要了解动态创建DOM元素后,原有的事件绑定可能不会生效。这是因为事件监听器是在元素创建时就绑定的,而对于后来添加到...

    Echarts后台获取数据绑定详细样例

    本文将详细介绍如何利用 ECharts 从后台获取数据并进行绑定的过程。 #### 一、准备工作 首先,我们需要了解本文档的基本结构。HTML 部分定义了一个用于展示饼图的 `<div>` 元素,并引入了必要的 JavaScript 库文件...

    使用变量前缀的画面窗口

    5. **绑定变量**:将每个对象与相应的变量关联,确保数据的正确显示和更新。 此外,还可以通过脚本编程进一步利用变量前缀。例如,编写自定义的函数或VBS(Visual Basic Script)脚本来批量处理或操作具有特定前缀...

    ASP.Net前台调用后台变量的方法

    在***开发中,前台页面...以上内容介绍了几种前台调用后台变量的方法,以及一些相关的技术要点,如数据绑定、类型转换、命名空间、数据库连接和命令对象等,这些知识点都是在实际的***开发过程中经常会遇到和使用到的。

    springmvc各种参数绑定

    本文将深入探讨Spring MVC的各种参数绑定方式及其源码实现。 1. **路径变量绑定**: Spring MVC 支持从URL路径中提取参数。例如,`@RequestMapping("/user/{id}")` 中的`{id}`就是一个路径变量。`@PathVariable`...

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

    ### 动态SQL 并且把返回的值赋给变量 在SQL Server中,动态SQL是一种强大...总之,`sp_executesql`为执行动态SQL提供了一种安全、高效的方法。通过合理地设计和使用动态SQL,可以在保持代码灵活性的同时减少安全风险。

    Unity3D脚本:如何调用更改其他脚本中的变量2

    3. 在需要修改变量的函数中,通过实例调用`setter`方法设置变量值,使用`getter`方法获取变量值。 4. 在Unity编辑器中将对应的对象实例拖放到相应的脚本字段上,完成实例的绑定。 通过这种方式,你可以轻松地在...

    C#数据绑定(DataBinding)简单实现方法

    `textBox1.DataBindings[0]` 就是获取到 `textBox1` 的第一个绑定,这样可以对绑定进行操作,如读取或设置值。 这个简单的例子很好地演示了C#数据绑定的基本用法。在实际应用中,数据绑定常用于MVVM(Model-View-...

    浅谈在页面中获取到ModelAndView绑定的值方法

    本篇文章将深入探讨如何在页面中,无论是JSP还是JavaScript(JS),获取ModelAndView绑定的值。 首先,我们可以通过Expression Language (EL)表达式在JSP页面中直接获取ModelAndView绑定的值。EL是一种简化JSP页面...

    Spring MVC 使用矩阵变量绑定参数.docx

    在Spring MVC框架中,@MatrixVariable注解是一个重要的特性,它允许开发者从URI路径中提取矩阵变量,并将这些变量绑定到控制器方法的参数上。这一功能的引入是基于RFC3986规范,该规范定义了如何在统一资源标识符...

    Autocad系统变量大全

    30. CHAMMODE:该变量设置 AutoCAD 创建倒角的输入方法:0.需要两个倒角距离、1.需要一个倒角距离和一个角度。 31. CIRCLERAD:该变量设置默认的圆半径:0.表示无默认半径。初始值:0.0000。 32. CLAYER:该变量...

    JavaScript给每一个li节点绑定点击事件的实现方法

    这种方法在循环中为每个li节点创建了一个独立的作用域,从而确保了绑定的事件函数内部的变量`x`能够正确地引用到循环变量`i`的当前值。这样一来,每个li节点点击时弹出的内容都是根据其在数组中的索引位置来确定的,...

    jQuery实现获取绑定自定义事件元素的方法

    在本例中,我们将探讨如何使用jQuery实现一个自定义事件`itemtab`,并学习如何获取绑定此事件的元素。这个功能对于构建响应式触摸界面特别有用,例如在移动端的列表或选项卡切换中。 首先,我们看到一个匿名函数 `...

Global site tag (gtag.js) - Google Analytics