Welcome 微信登录

首页 / 数据库 / MySQL / 获取Oracle SQL语句中绑定变量值的方法

在诊断SQL的性能问题时,我们有时候需要获取其绑定变量的实际值,然后将此实际值带入到SQL语句当中,用原来的SQL构成select语句(带where条件),实际的执行一下,看一下选择性如何。
 
本文就是说获取其绑定变量值的方法。本文的编写得到枯荣长老的帮助,在此表示感谢。
 
本文适用于与Oracle 10G或者更高版本的db。
 
alter session set nls_date_format = "yyyy-mm-dd,hh24:mi:ss";
 
set linesize 400
 
col sql_Id format a20
 
col name format a20
 
col datatype_string format a14
 
col value_string format a20
 
--这个sql从内存中读取绑定变量值信息,若是不在内存中,则使用下一个sql
 
select sql_id,name, datatype_string, last_captured,value_string from v$sql_bind_capture where sql_id="dxfcacn4t4ppw" order by LAST_CAPTURED,POSITION;
 
--这个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;--------------------------------------------------------------------------------Linux-6-64下安装Oracle 12C笔记 http://www.linuxidc.com/Linux/2013-07/86805.htm在CentOS 6.4下安装Oracle 11gR2(x64) http://www.linuxidc.com/Linux/2014-02/97374.htmOracle 11gR2 在VMWare虚拟机中安装步骤 http://www.linuxidc.com/Linux/2013-09/89579p2.htmDebian 下 安装 Oracle 11g XE R2 http://www.linuxidc.com/Linux/2014-03/98881.htm--------------------------------------------------------------------------------更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12本文永久更新链接地址