Oracle绑定变量类型为timestamp导致V$SQL_BIND_CAPTURE不显示值

 

Oracle绑定变量类型为timestamp导致V$SQL_BIND_CAPTURE不显示值

 

前言

版本:11.2.0.4.0

今天做优化发现一条问题SQL存在绑定变量,其中存在绑定变量类型为timestamp无法通过V$SQL_BIND_CAPTURE或者dba_hist_sqlbind查询到值,显示为空值。

(实际表的这个字段是date,不知道开发在想什么)。

 

原因

根据V$SQL_BIND_CAPTURE Does Not Show The Value For Binds Of Type TIMESTAMP (Doc ID 444551.1)

这是一个BUG:6156624 - BIND VALUE IS NOT CAPTURED FOR COLUMN WITH TIMESTAMP DATATYPE。

可以通过另外种方式查出绑定变量的值。

select name, position, datatype_string, was_captured, value_string,
anydata.accesstimestamp(value_anydata) from gv$sql_bind_capture where sql_id =
'1mf1ch9vsr06a';

其中,anydata.accesstimestamp(value_anydata)这个列就是绑定变量(类型为timgstamp)的值。

 

参考

V$SQL_BIND_CAPTURE Does Not Show The Value For Binds Of Type TIMESTAMP (Doc ID 444551.1)

Not Every Bind Values Captured in v$sql_bind_capture (Doc ID 1370816.1)

posted @   PiscesCanon  阅读(562)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示