執行LoadRunner中指令碼時提示ORA-12519(後續)

wxjzqym發表於2011-05-18

    在之前做壓力測試時報出ORA-12519錯誤,於是透過增加process這個引數的上限值暫時抑止了這個錯誤的產生,不過今天開發人員在進行壓力測試持續10分鐘左右後又報出了這個錯誤.這時在metalink上一篇名為" Troubleshooting Guide TNS - 12519 TNS - 12516 ORA -12519 ORA - 12516 [ID 552765.1]"的文章給了我思路。
    該文章清晰的分析了出現該錯誤最普遍的原因是由於sessions的上限已經達到,TNS lisnter的service handler會被置為block狀態。而listener會計算每個建立到instance的連線數,但是並不會立即得到已經斷開的連線的資訊。而只有當PMON透過service_update來更新listener的時候才能獲得真實的負載情況。具該文件描述PMON對listener提供service_udpate資訊的頻率是根據instance的負載變化的,最大的間隔為10分鐘。從以上就可以得知,在PMON並沒有向listenter提供最新的service_update資訊時,listener獲得的當前insatnce load和實際的insatnce load是不同的。而壓力測試中的java程式的實現過程是每個併發使用者對oracle建立一個連線,執行一個sql接著馬上關閉改連線,如此迴圈下去。根據以上分析通知測試人員在jiava程式中設定1~2秒的一個休眠時間,再次進行壓力測試結果一直沒有出現ORA-12519錯誤了。

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

相關文章