使用SQL调优包抽取绑定变量值

版权归属:天凯科技
本文链接: https://blog.csdn.net/dbs_service/article/details/102717584

最近在用户案例分析中,需要解析一下SQL的绑定变量以分析SQL逻辑,通过wrh$_sqlstat的BIND_DATA可以将Oracle存储的绑定变量分析出来。
使用DBMS_SQLTUNE包可以很容易实现这个目的:

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)
       .value_string || '-' || dbms_sqltune.extract_bind(bind_data, 4)
       .value_string || '-' || dbms_sqltune.extract_bind(bind_data, 5)
       .value_string || '-' || dbms_sqltune.extract_bind(bind_data, 6)
       .value_string
  from wrh$_sqlstat
 where sql_id = 'gs9w1bt69t49b'

得到以下结果:

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%

查询结果可以得到此SQL绑定变量的传入参数值,可以方便跟踪排查问题,很有用的一个过程,记录一下。


天凯科技-数据库技术支持
7*24小时提供数据库运维与优化服务,十年DBA实战经验,长期服务于国内关键行业,深受好评!
服务热线/微信:13926108245
本企业定期分享DBA实战处理经验,同时分享精品视频教程,更多资源请点击访问"天凯运维资讯"获得!

猜你喜欢

转载自blog.csdn.net/dbs_service/article/details/102717584
今日推荐