• 查询正在执行的SQL


    将美元符号替换成$

    --Oracle正在执行的sql语句及执行该语句的用户
    SELECT B.SID ORACLEID,
    B.USERNAME ORACLE用户,
    B.SERIAL#,
    SPID 操作系统ID,
    PADDR,
    SQL_TEXT 正在执行的SQL,
    B.MACHINE 计算机名
    FROM V美元符号PROCESS A, V美元符号SESSION B, V美元符号SQLAREA C
    WHERE A.ADDR = B.PADDR
    AND B.SQL_HASH_VALUE = C.HASH_VALUE;

    --SQL_FULLTEXT 包含完整的SQL
    SELECT A.USERNAME, A.SID, B.SQL_TEXT, B.SQL_FULLTEXT
    FROM V美元符号SESSION A, V美元符号SQLAREA B
    WHERE A.SQL_ADDRESS = B.ADDRESS;
    ---执行过的
    SELECT B.SQL_TEXT, B.FIRST_LOAD_TIME, B.SQL_FULLTEXT
    FROM V美元符号SQLAREA B
    WHERE B.FIRST_LOAD_TIME BETWEEN '2016-10-1/09:24:47' AND
    '2016-10-1/09:24:47'
    ORDER BY B.FIRST_LOAD_TIME;

    --正在执行sql的发起者的发放程序
    SELECT A.SERIAL#,
    OSUSER 电脑登录身份,
    PROGRAM 发起请求的程序,
    USERNAME 登录系统的用户名,
    SCHEMANAME,
    B.CPU_TIME 花费CPU的时间,
    STATUS,
    B.SQL_TEXT 执行的SQL
    FROM V美元符号SESSION A
    LEFT JOIN V美元符号SQL B
    ON A.SQL_ADDRESS = B.ADDRESS
    AND A.SQL_HASH_VALUE = B.HASH_VALUE
    ORDER BY B.CPU_TIME DESC;

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

    --kill掉当前的锁对象可以为

    alter system kill session 'sid, s.serial#‘;

    --查找前十条性能差的sql
    SELECT *
    FROM (SELECT PARSING_USER_ID,
    EXECUTIONS,
    SORTS,
    COMMAND_TYPE,
    DISK_READS,
    SQL_TEXT
    FROM V美元符号SQLAREA
    ORDER BY DISK_READS DESC)
    WHERE ROWNUM < 10;

    --查看占io较大的正在运行的session
    SELECT SE.SID,
    SE.SERIAL#,
    PR.SPID,
    SE.USERNAME,
    SE.STATUS,
    SE.TERMINAL,
    SE.PROGRAM,
    SE.MODULE,
    SE.SQL_ADDRESS,
    ST.EVENT,
    ST. P1TEXT,
    SI.PHYSICAL_READS,
    SI.BLOCK_CHANGES
    FROM V美元符号SESSION SE, V美元符号SESSION_WAIT ST, V美元符号SESS_IO SI, V美元符号PROCESS PR
    WHERE ST.SID = SE.SID
    AND ST. SID = SI.SID
    AND SE.PADDR = PR.ADDR
    AND SE.SID > 6
    AND ST. WAIT_TIME = 0
    AND ST.EVENT NOT LIKE '%SQL%'
    ORDER BY PHYSICAL_READS DESC;

  • 相关阅读:
    在DNN站点中加上Tabs效果,并实现在tab中添加模块
    真正的机器人操作系统Android
    将使用AJAX的DNN模块部署到.net 2.0站点上的问题
    顶级企业招聘N多技术人员,有信心的请来看看,薪资不错
    {欢迎加入成都程序员QQ群82041229}
    用C#编程实现检查Scroll Lock键的状态
    成都程序员求职、招聘QQ群29359494 欢迎加入
    帮朋友发个“招10年以上开发经验的技术人员”
    vs2008中,不能将控件拖到页面上之问题解决
    DNN中使用XSD dataset之tableadapter出错
  • 原文地址:https://www.cnblogs.com/ritchy/p/14109952.html
Copyright © 2020-2023  润新知