在使用linux的时候用top发现ORACLE用户下的ora_j00*进程占用CPU很高,基本上是90%,100%
ora_j00*这些是oracle的什么进程呀,占用CPU这么高的话,会不会影响linux的使用???

解决方案 »

  1.   

    oracle在运行job的进程,看看你的数据库在跑什么job
    你可以通过相关视图查询到当前进程在执行什么sql语句
      

  2.   

    先查看有哪些job:
    select * from dba_jobs;
    select * from dba_jobs_running;
    然后看一下都在执行些什么东西:
    根据v$session、v$process和v$sqltext定位出在执行什么东西
    SELECT  sql_text
        FROM v$sqltext 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 v$session b
                  WHERE b.paddr = (SELECT addr
                                    FROM v$process c
                                    WHERE c.spid = '&pid'))
    ORDER BY piece ASC; 或者作个做个statspack报告,也许更清楚
      

  3.   


    停掉这些进程的话,会对oracle使用造成影响吗
      

  4.   


    select * from dba_jobs_running;  怎么查不到数据