EBS 11i AP Tier CPU使用率偏高(Solaris系統)

 今天在觀察Oracle ERP的效能時,發現AP Tier的CPU有偏高的現象,而且持續了好幾天。

因為之前發生時,曾用過兩種方案,一個是重開ERP就可以恢復正常;另一個是強制刪掉可能的zombie process

以下記錄我自己參考Document 1330392.1後的操作,非官方正式的SOP


我們AP Tier的作業系統是Solaris,首先執行下列的指令來觀察Process(依使用率來排序)

# prstat -avm

結果如下圖,有兩個f60webmx的CPU使用率偏高,f60webmx就是EBS的Forms



將上面兩個PID記錄下來,以下列的SQL來反查是哪一個Sessions

SQL> select * from v$session where process in ( <PID> );


再將上面的PID以下列的SQL來查詢相關資料

SQL> select * from FND_LOGIN_RESP_FORMS WHERE audsid in ( <PID)> );


如果FND_LOGIN_RESP_FORMS的end_time的值不是null,則表示該session已經結束並且可以手動刪除。

我是會再看v$session的status是否為inactive,如果是,也是可以手動刪除。

上述步驟查詢可能沒有相關的Session或 FND_LOGIN_RESP_FORMS WHERE audsid,則直接刪掉pid


把找到的session記錄SID、SERIAL#後,再以下列的SQL來強制kill session

SQL> alter system kill session '<SID>,<SERIAL#>';


接著在再刪掉作業系統的pid

# kill -9 <PID>


另外我會特別注意查詢到的v$session欄位ACTION是不是像FRM:<USER_NAME>:<RESPONSIBILITY_NAME>,

或是Concurrnet Request,如果是,通常都是使用者開啟的程式,刪掉就比較不用擔心;

如果不是,就要特別注意是否是Oracle的背景程式或特殊程式。