数据库
首页 > 数据库> > 【DB笔试面试699】在Oracle中,如何查到会话正在执行的SQL语句?

【DB笔试面试699】在Oracle中,如何查到会话正在执行的SQL语句?

作者:互联网

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

题目部分

在Oracle中,如何查到会话正在执行的SQL语句?

     

答案部分

SQL语句如下所示:

1SELECT B.SQL_ID, B.SQL_TEXT
2  FROM GV$SESSION A, GV$SQL B
3 WHERE A.SQL_ID = B.SQL_ID
4   AND A.INST_ID = B.INST_ID
5   AND A.SID = 1070;

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

 通过SQL_ID这个字段,可以获取到某个会话正在执行的SQL语句。

SQL_ID

VARCHAR2(13)

正在执行的SQL语句ID

SQL_CHILD_NUMBER

NUMBER

正在执行的SQL语句的子游标的ID,从0开始

SQL_EXEC_START

DATE

该会话开始执行该SQL语句的时间。若SQL_ID为空,则该列为空。

SQL_EXEC_ID

NUMBER

SQL执行的标识符ID。若SQL_ID为空或SQL还未开始执行,则该列为空。对应于V$SQL_MONITOR.SQL_EXEC_ID列。


标签:语句,EXEC,699,DB,INST,SQL,执行,ID
来源: https://blog.51cto.com/lhrbest/2707542