Oracle一个大事务的sql往往不知道运行到了哪里,可以使用如下sql查看执行进度。
代码如下:
404_6@
set linesize 400;@H_404_6@
set pagesize 400;@H_404_6@
col sql_text format a100;@H_404_6@
col opname format a15;@H_404_6@
SELECT se.sid,@H_404_6@
opname,@H_404_6@
TRUNC (sofar / totalwork * 100,2) pct_work,@H_404_6@
elapsed_seconds elapsed,@H_404_6@
ROUND (elapsed_seconds * (totalwork - sofar) / sofar) remain_time,@H_404_6@
sql_text@H_404_6@
FROM v$session_longops sl,v$sqlarea sa,v$session se@H_404_6@
WHERE sl.sql_hash_value = sa.hash_value@H_404_6@
AND sl.sid = se.sid@H_404_6@
AND sofar != totalwork@H_404_6@
ORDER BY start_time;@H_404_6@
或者
代码如下:
404_6@
set linesize 400;@H_404_6@
set pagesize 400;@H_404_6@
set long 4000;@H_404_6@
col sql_fulltext format a100;@H_404_6@
col opname format a15;@H_404_6@
SELECT se.sid,@H_404_6@
sql_fulltext@H_404_6@
FROM v$session_longops sl,v$session se@H_404_6@
WHERE sl.sql_hash_value = sa.hash_value@H_404_6@
AND sl.sid = se.sid@H_404_6@
AND sofar != totalwork@H_404_6@
ORDER BY start_time;@H_404_6@
总结
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。