執行LoadRunner中指令碼時提示ORA-12519

wxjzqym發表於2011-05-16

    今天測試人員在使用LoadRunner對oracle db進行壓力測試時提示ORA-12519錯誤,錯誤內容如下:
    Error: System.err: java.sql.SQLException: Listener refused the connection with the following error:ORA-12519, TNS:no appropriate service handler foundThe Connection descriptor used by the client was:10.0.65.104:1521:sany1
   
測試人員在LoadRunner中編寫了一個帶java程式的指令碼,指令碼的內容是透過java連線oracle資料庫,並以某個特定的使用者執行一個sql查詢語句,然後退出會話,接著又再進行第二次連線,一直迴圈。當併發使用者數達到10之後就開始抱上述錯誤。
   
於是我根據ORA-12519錯誤在google中查到了yangtingkun大牛關於這個錯誤的論述:
   
根據Oracle文件,SESSIONSTRANSACTIONS的初始化引數應該源於PROCESSES引數,根據預設設定SESSIONS =PROCESSES * 1.1 + 5
  但是目前SESSIONS的設定達到了600,而PROCESSES的設定沒有改變,仍然為150,導致了過多的使用者會話連線到Oracle上時,Oracle沒有足夠的後臺程式來支援這些會話。
 
詳細的問題描述可以參考metalink的文件:Doc ID: Note:240710.1解決方法很簡單,直接設定合適的PROCESSES產生就可以了。
 
當前instance中sessions設定為800,processes設定為500,於是我將processes設定為900,之後讓測試人員繼續 進行壓力測試,這是併發連線數達到50也沒有再報錯,這是回到oracle中查詢到v$bgprocess中的後臺程式數達到了590,這也再次證明了當時報ORA-12519是由於processes這個引數設定不滿足當前壓力的需求而導致的。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/20801486/viewspace-695512/,如需轉載,請註明出處,否則將追究法律責任。

相關文章