dbms_sqltune解析SQL的BIND_DATA绑定变量值

作者:eygle |English
链接:http://www.eygle.com/archives/2010/11/dbms_sqltune_bindata.html

最近在用户案例分析中,需要解析一下SQL的绑定变量以分析SQL逻辑,通过wrh$_sqlstat的BIND_DATA可以将Oracle存储的绑定变量分析出来。

使用DBMS_SQLTUNE包可以很容易实现这个目的:

SQL> select dbms_sqltune.extract_bind(bind_data, 1).value_string||'-'|| dbms_sqltune.extract_bind(bind_data, 2).value_string ||'-'|| dbms_sqltune.extract_bind(bind_data, 3)
2         .value_string ||'-'|| dbms_sqltune.extract_bind(bind_data, 4).value_string ||'-'|| dbms_sqltune.extract_bind(bind_data, 5)
3         .value_string ||'-'|| dbms_sqltune.extract_bind(bind_data, 6).value_string
4    from wrh$_sqlstat
5   where sql_id = '88dz0k2qvg876'
6  /

DBMS_SQLTUNE.EXTRACT_BIND(BIND
--------------------------------------------------------------------------------
1-银-5299%-1-银-5299%
1-%-5399%-1-%-5399%
1-%-3399%-1-%-3399%
1-徐洪-2399%-1-徐洪-2399%
1-李有-1599%-1-李有-1599%
1-李有-1599%-1-李有-1599%
1-金星-1599%-1-金星-1599%
1-金星-1599%-1-金星-1599%
1-金星-1599%-1-金星-1599%
1-%-3699%-1-%-3699%
1-%-3699%-1-%-3699%
1-%-3599%-1-%-3599%

很有用的一个过程,记录一下。


如果给你带来帮助,欢迎微信或支付宝扫一扫,赞一下。