oracle 怎样查看数据库在做什么事情 ,会导致cpu过高? 谢谢

解决方案 »

  1.   

    1,有些第三方工具可以帮助你
    2,如果你使用的是linux服务器,可以找出当前服务器中使用cpu较高的进程id
      # ps aux|head -1; ps aux|sort -rn +3|grep ora
      然后利用占用内存较高的pid到oracle的动态性能视图中找出目前正执行的语句
      select t.SQL_TEXT
    from v$session s, v$process p , v$sqltext t
    where s.PADDR = p.ADDR
      and s.SQL_ADDRESS = t.ADDRESS and s.SQL_HASH_VALUE = t.HASH_VALUE
      and p.SPID = 1835120
    order by t.PIECE