关于v$sql_bind_capture 的问题
---先清空shared_pool
SQL> alter system flush shared_pool;
System altered.
SQL> col value_STRING format a30
SQL> desc v$sql_bind_capture
Name Null? Type
----------------------------------------- -------- ----------------------------
ADDRESS RAW(4)
HASH_VALUE NUMBER
SQL_ID VARCHAR2(13)
CHILD_ADDRESS RAW(4)
CHILD_NUMBER NUMBER
NAME VARCHAR2(30)
POSITION NUMBER
DUP_POSITION NUMBER
DATATYPE NUMBER
DATATYPE_STRING VARCHAR2(15)
CHARACTER_SID NUMBER
PRECISION NUMBER
SCALE NUMBER
MAX_LENGTH NUMBER
WAS_CAPTURED VARCHAR2(3)
LAST_CAPTURED DATE
VALUE_STRING VARCHAR2(4000)
VALUE_ANYDATA SYS.ANYDATA
为了方便测试 从之前测试中得到了select * from test where owner=:n order by 1,2,3,4,5,6语句对应的sql_id为0g3vjcu3d6510
SQL> select a.sql_id, a.name, to_char(a.last_captured,'yyyy-mm-dd hh24:mi:ss'), a.value_string
from v$sql_bind_capture a
where sql_id = '0g3vjcu3d6510' 2 3 ;
no rows selected
SQL> /
SQL_ID NAME TO_CHAR(A.LAST_CAPT VALUE_STRING
------------- -------------------- ------------------- ------------------------------
0g3vjcu3d6510 :N 2000-11-19 01:14:07 SCOTT
SQL> ! date
Sun Nov 19 01:14:22 CST 2000
SQL> ! date
Sun Nov 19 01:13:17 CST 2000
先给变量赋值为SCOTT
---------variable 定义sqlplus变量
SQL> variable n varchar2(10)
SQL> execute :n := 'SCOTT';
PL/SQL procedure successfully completed.
select * from test where owner=:n order by 1,2,3,4,5,6;
SQL> /
SQL_ID NAME TO_CHAR(A.LAST_CAPT VALUE_STRING
------------- -------------------- ------------------- ------------------------------
0g3vjcu3d6510 :N 2000-11-19 01:14:07 SCOTT
SQL> ! date
Sun Nov 19 01:14:22 CST 2000
再给变量赋值为SYS
SQL> variable n varchar2(10)
SQL> execute :n := 'SYS';
PL/SQL procedure successfully completed.
select * from test where owner=:n order by 1,2,3,4,5,6;
SQL> ! date
Sun Nov 19 01:15:32 CST 2000
SQL> /
SQL_ID NAME TO_CHAR(A.LAST_CAPT VALUE_STRING
------------- -------------------- ------------------- ------------------------------
0g3vjcu3d6510 :N 2000-11-19 01:14:07 SCOTT
可以看到绑定变量分值并没有变化
查看资料后发现:
还有个视图v$sql_bind_capture,查看是当前的捕获。捕获的间隔有一个隐含参数控制。默认是900秒,才会重新开始捕获。
说明这个视图不是实时刷新的
SQL>SELECT x.ksppinm NAME, y.ksppstvl VALUE, x.ksppdesc describ
2 FROM SYS.x$ksppi x, SYS.x$ksppcv y
3 WHERE x.inst_id = USERENV ('Instance')
4 AND y.inst_id = USERENV ('Instance')
5 AND x.indx = y.indx
6 AND x.ksppinm LIKE '%&par%'
7 /
Enter value for par: bind_ca
old 6: AND x.ksppinm LIKE '%&par%'
new 6: AND x.ksppinm LIKE '%bind_ca%'
NAME VALUE DESCRIB
------------------------------ -------------------- ------------------------------------------------------------
_cursor_bind_capture_area_size 400 maximum size of the cursor bind capture area
_cursor_bind_capture_interval 900 interval (in seconds) between two bind capture for a cursor
SQL_ID NAME TO_CHAR(A.LAST_CAPT VALUE_STRING
------------- -------------------- ------------------- ------------------------------
0g3vjcu3d6510 :N 2000-11-19 01:33:02 PUBLIC
最新文章
- 开源跨平台IOT通讯框架ServerSuperIO,集成到NuGet程序包管理器,以及Demo使用说明
- List集合的迭代器方法
- jQuery入门(3)事件与事件对象
- linux socket连接中 ERRNO错误
- clang 搭建和编译boost 和zero ICE库 (Ubuntu10 64)
- (转)教你实现Winform窗体的四边阴影效果
- 字符串匹配--manacher算法模板
- PowerShell定时记录操作系统行为
- chrome浏览器关闭标签页面
- Android开发指南-框架主题-安全和许可
- POJ-2528 Mayor's posters (线段树区间更新+离散化)
- hdu 2818 Building Block(加权并查集)2009 Multi-University Training Contest 1
- HBase Shell输入命令无法删除问题解决技巧
- xcode设置项目图标玻璃镜效果
- Android 设置让EditText不自动获取焦点
- js插入节点appendChild和insertBefore
- SQL Server 2012 - Transact-SQL
- 通过日期在js中求出判断间隔天数,周期等实现分享
- 下篇:python的基本数据类型以及对应的常用方法(列表、元组、字典、集合)
- EF Core Model更新迁移