您的位置:首页 > 数据库

查看正在执行中的SQL

2015-06-25 13:39 302 查看
1.查询Oracle正在执行的sql语句及执行该语句的用户

SELECT  TO_CHAR(SES.LOGON_TIME, 'HH24:MI:SS') AS LOGON_TIME,

        SES.USERNAME                          AS LOGON_USER,

        SES.SID                               AS SID,

        SES.program,

        SES.SERIAL#                           AS SERIAL,

        SES.STATUS                            AS STATUS,

        SQL.SQL_TEXT                          AS SQL_TEXT

FROM    V$SESSION SES,

        V$SQLAREA SQL

WHERE   SES.SQL_ADDRESS    = SQL.ADDRESS(+)

    AND SES.SQL_HASH_VALUE = SQL.HASH_VALUE

    AND SES.TYPE           = 'USER'

ORDER BY SES.LOGON_TIME; 

2.查出oracle当前的被锁对象

SELECT l.session_id sid,

       s.serial#,

       l.locked_mode 锁模式,

       l.oracle_username 登录用户,

       l.os_user_name 登录机器用户名,

       s.machine 机器名,

       s.terminal 终端用户名,

       o.object_name 被锁对象名,

       s.logon_time 登录数据库时间

FROM v$locked_object l, all_objects o, v$session s

WHERE l.object_id = o.object_id

   AND l.session_id = s.sid

ORDER BY sid, s.serial#;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: