题目部分

在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;

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

 通过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列。

本文选自《Oracle程序员面试笔试宝典》,作者:小麦苗

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

---------------优质麦课------------

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