gpt4 book ai didi

oracle - oracle中如何获取最后执行的SQL语句并绑定(bind)变量值

转载 作者:行者123 更新时间:2023-12-04 00:03:16 25 4
gpt4 key购买 nike

我编写了以下查询来获取特定 session 的 oracle 数据库中最后执行的 SQL 语句。 SQL 文本不包含绑定(bind)变量的实际值。如何获取绑定(bind)变量值以及 SQL 文本。

SELECT * FROM v$SQLTEXT_WITH_NEWLINES WHERE address = 
(SELECT prev_sql_addr FROM v$session WHERE audsid = userenv('SESSIONID'))
ORDER BY piece;

最佳答案

如果您在 sqlplus 中,则可以执行

select * from table
( dbms_xplan.display_cursor (null,null, 'ADVANCED'));

或者,如果您正在寻找其他人执行的 SQL,只需输入他们的 SQL_ID 和子游标#:

select * from table
( dbms_xplan.display_cursor ('sql_id',child_cursor#, 'ADVANCED'));

如在

select * from table
( dbms_xplan.display_cursor ('a18asdr99x',0, 'ADVANCED'));

此方法显示仅显示偷看的绑定(bind)变量。唯一可靠的方法是使用绑定(bind)变量进行跟踪
dbms_monitor.session_trace_enable(session_id => 127,
serial_num => 29,
waits => FALSE,
binds => TRUE)

但当然这必须在查询执行之前完成

关于oracle - oracle中如何获取最后执行的SQL语句并绑定(bind)变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1707291/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com