oracle 11g R1企业版, 安装完毕后创建表空间是及其缓慢,cpu占100%,完毕创建表后的,空闲时cpu可能会降低到5%,可是执行sql任何语句时cpu立刻升至100%,而且长时间不下降
安装环境为:center os 5.3,8G,内存,300G sata硬盘,cpu为两个4核的志强菜谱

解决方案 »

  1.   

    你需要查它当前的等待事件是什么。
    SELECT b.EVENT, b.SID, b.SERIAL#, b.SQL_ID, a.ELAPSED_TIME, a.SQL_TEXT, a.SQL_FULLTEXT
    FROM   gv$sqlarea a, gv$session b
    WHERE  a.SQL_ID = b.SQL_ID
      

  2.   

    执行后的结果为:
    SQL> SELECT b.EVENT, b.SID, b.SERIAL#, b.SQL_ID, a.ELAPSED_TIME, a.SQL_TEXT, a.SQL_FULLTEXT FROM   gv$sqlarea a, gv$session b WHERE  a.SQL_ID = b.SQL_ID;EVENT
    --------------------------------------------------------------------------------
           SID    SERIAL# SQL_ID                     ELAPSED_TIME
    ---------- ---------- -------------------------- ------------
    SQL_TEXT
    --------------------------------------------------------------------------------
    SQL_FULLTEXT
    --------------------------------------------------------------------------------
    SQL*Net message from client
           124         92 8t8skhfa5hj38                    124428
    SELECT b.EVENT, b.SID, b.SERIAL#, b.SQL_ID, a.ELAPSED_TIME, a.SQL_TEXT, a.SQL_FU
    LLTEXT FROM   gv$sqlarea a, gv$session b WHERE  a.SQL_ID = b.SQL_ID
    SELECT b.EVENT, b.SID, b.SERIAL#, b.SQL_ID, a.ELAPSED_TIME, a.SQL_TEXT, a.SQL_FUEVENT
    --------------------------------------------------------------------------------
           SID    SERIAL# SQL_ID                     ELAPSED_TIME
    ---------- ---------- -------------------------- ------------
    SQL_TEXT
    --------------------------------------------------------------------------------
    SQL_FULLTEXT
    --------------------------------------------------------------------------------wait for unread message on broadcast channel
           137          3 2b064ybzkwf1y                    157767
    BEGIN EMD_NOTIFICATION.QUEUE_READY(:1, :2, :3); END;
    BEGIN EMD_NOTIFICATION.QUEUE_READY(:1, :2, :3); END;EVENT
    --------------------------------------------------------------------------------
           SID    SERIAL# SQL_ID                     ELAPSED_TIME
    ---------- ---------- -------------------------- ------------
    SQL_TEXT
    --------------------------------------------------------------------------------
    SQL_FULLTEXT
    --------------------------------------------------------------------------------
    不过小弟是oracle的初学者,看的还不太明白阿!还望大侠们不吝赐教!
      

  3.   

    上述的执行结果是在我创建表空间时得到的,此时cpu的使用率为100%
      

  4.   

    上述的执行结果是正在创建表空间时执行SELECT b.EVENT, b.SID, b.SERIAL#, b.SQL_ID, a.ELAPSED_TIME, a.SQL_TEXT, a.SQL_FULLTEXT
    FROM   gv$sqlarea a, gv$session b
    WHERE  a.SQL_ID = b.SQL_ID
    得到的结果,此时cpu的使用率为100%