美文网首页
oracle杀掉占用cpu高的进程

oracle杀掉占用cpu高的进程

作者: 寄居他乡 | 来源:发表于2019-07-25 10:03 被阅读0次

    1:首先使用TOP命令找到占用CPU高的SPID号
    PID USERNAME THR PRI NICE SIZE RES STATE TIME CPU COMMAND
    3575 oracle 1 12 0 0K 0K run 748.6H 24.98% oracle
    3571 oracle 1 22 0 0K 0K sleep 706.2H 22.84% oracle

    2:使用DBA账户登录数据库,使用以下SQL语句查询:
    SELECT
    sql_text
    FROM vsqltext a WHERE (a.hash_value, a.address) IN (SELECT DECODE(sql_hash_value, 0, prev_hash_value, sql_hash_value), DECODE(sql_hash_value, 0, prev_sql_addr, sql_address) FROM vsession b
    WHERE b.paddr =
    (SELECT addr FROM v$process c WHERE c.spid = '&pid'))
    ORDER BY piece ASC

    通过操作系统的spid查询到oracle的sid:

    select t1.saddr,t1.sid,t1.serial#,t1.paddr,t1.username,t1.status from vsession t1,vprocess t2 where t1.paddr=t2.addr and t2.SPID='15274';

    取出上一步得出的sid和serial#,并使用命令杀掉:

    alter system kill session '2775,42446'

    相关文章

      网友评论

          本文标题:oracle杀掉占用cpu高的进程

          本文链接:https://www.haomeiwen.com/subject/gkscrctx.html