今天是2014-01-23,
看到一个同事写的一个sql绑定变量转换挺有意思,再次转载一下:
--找到sql_id中的最后一个字值
select * from v$sql where sql_id='0z25ncfbunafk'
--转化对应的绑定变量值
select position,value_string
from table(dbms_sqltune.extract_binds('beda0a20050052366ece000307f0012003540cb9e2cfcbbdd3c8ebbacfcdacf0021604c32c6256f0012003540cb9e2cfcbbdd3c8ebbacfcdac'));
--如果v$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).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 sys.wrh$_sqlstat
where sql_id = '0z25ncfbunafk'
--查看对应的sql
select * from sys.wrh$_sqlstat where sql_id='0z25ncfbunafk';
select * from sys.wrh$_sql_bind_metadata where sql_id='0z25ncfbunafk';
select t.sql_id,t.name,t.position,t.datatype_string,t.value_string,t.last_captured from v$sql_bind_capture t where sql_id='f78cpkf8cc003';
