2条回答
默认
最新
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
墨值悬赏
匿名用户有什么方式可以查询正在执行的ORACLE sql语句?
根据 SID,获取正在执行的sql,参考示例:
DECLARE
CURSOR cur_sql(p_pre_sql_addr VARCHAR2) IS
SELECT t.sql_text
FROM v$sqltext_with_newlines t
WHERE t.address = p_pre_sql_addr
ORDER BY t.piece;
l_sql VARCHAR2(2400);
l_prev_sql_addr VARCHAR2(200);
BEGIN
BEGIN
SELECT v.prev_sql_addr
INTO l_prev_sql_addr
FROM v$session v
WHERE v.sid = &sid;
EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line('get prev sql addr error,' || SQLCODE || ':' ||
SQLERRM);
END;
FOR rec IN cur_sql(l_prev_sql_addr) LOOP
l_sql := nvl(l_sql
,'') || rec.sql_text;
END LOOP;
dbms_output.put_line('sql为:');
dbms_output.put_line(l_sql);
END;
评论
有用 2
墨值悬赏