查看正在执行中的SQL

来源:互联网 发布:淘宝整点聚秒杀神器 编辑:程序博客网 时间:2024/05/17 17:58

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

0 0
原创粉丝点击