我已經使用jsp/servlet創建了一個數據庫應用程序,該應用程序現在託管在生產服務器中。但是,當我使用應用程序執行一些任務時,數據庫會話數量超過150,則連接丟失。如果我不重新啓動數據庫服務器,我無法使用該應用程序。我正在使用ORACLE 11g。爲什麼運行我的應用程序會創建多餘的會話並刪除數據庫連接?
-1
A
回答
0
對於這個問題,你可以做兩件事情,
可以超過其可使用以下命令從數據庫處理的進程數。
alter system set sessions = 300 scope = spfile;
要做到這一點,你必須先登錄到數據庫系統的用戶。
您可以檢查是否所有打開的數據庫連接都已關閉。
0
問題是缺少正確的數據庫連接關閉。當我們在每次迭代中關閉數據庫連接時執行一些重複的活動時。它增加了與數據庫的連接數量,並達到了根據每個定義的最大連接數。爲了避免這個問題,我們可以做兩件事,
- 我們可以增加最大會話金額。如果你正在增加會話參數,你應該考慮增加進程和事務參數。以下是可用於確定其值的公式。
過程= X
會話= X * 1.1 + 5
交易=會話* 1.1
爲此使用波紋管SQL腳本
SQL>改變系統設置進程= 500 scope = both sid ='';
sql> alter system set sessions = 555 scope = both sid ='';
sql> alter system set transactions = 610 scope = both sid ='*';
- 另一種方法是你可以設計你的應用程序在同一時間比預先定義的多種不超過數據庫的連接。 Oracle會自動刪除當前沒有使用的連接。但是這需要時間。
相關問題
- 1. 當我運行我的應用程序時,爲什麼會創建很多「postgres.exe」?
- 2. JSF應用程序創建了太多的數據庫連接
- 3. 爲什麼Informatica會話不會繼續刪除數據?
- 4. 我可以創建綁定到會話的數據庫記錄,並在會話被銷燬時被刪除嗎?
- 5. 關閉並重新連接SQLAlchemy會話的數據庫連接?
- 6. 爲什麼Firebase數據庫中的數據會自動刪除?
- 7. 創建數據庫並連接原生android應用程序
- 8. 爲什麼CloudFormation不會創建我的數據庫?
- 9. 爲什麼這會繼續重新創建我的數據庫?
- 10. 爲什麼我的Swift應用程序沒有連接到我的數據庫?
- 11. 即使未加載codeigniter會話庫,也會在數據庫中創建新的會話條目。爲什麼?
- 12. 爲什麼我無法連接到新創建的數據庫?
- 13. 爲什麼ng-content會刪除我的其餘內容?
- 14. 爲什麼數據庫行會自動刪除sql 2008
- 15. 護照在我的數據庫中創建多個會話
- 16. 當應用程序被刪除時,Sqlite數據庫會發生什麼變化
- 17. 爲什麼Kafka不會刪除數據?
- 18. 爲什麼不會這個程序運行,但它會建立?
- 19. 如何創建並運行刪除數據庫文件的cronjob
- 20. 爲什麼我的程序沒有連接到數據庫?
- 21. 爲什麼我的Cocoa應用程序中的某些行會永遠運行?
- 22. 爲什麼我的IIS 7應用程序池爲每個請求創建多個會話?
- 23. 對於單次運行應用程序,創建greenDAO數據庫連接的最佳方式是什麼?
- 24. greendao刪除數據庫和會話
- 25. 當我運行我的程序時,爲什麼會出現NullPointerException?
- 26. 爲什麼當我刪除TextView時,我的Android應用程序無法運行?
- 27. 爲什麼運行媒體播放器會刪除我的VB.NET應用程序的音頻延遲?
- 28. 爲什麼Android調試模式會刪除我的應用程序首選項?
- 29. 數據庫初始化程序也刪除我的會員表
- 30. 如何處理連接到同一數據庫的多個應用程序的Hibernate創建 - 刪除模式?
「連接損失」是什麼意思?你有錯誤嗎?如果是這樣,有什麼錯誤?這是Oracle錯誤嗎?應用程序服務器發生錯誤?還有別的嗎?您是通過查看數據庫的數據字典(即'v $ session')來測量150個連接嗎?或者你正在尋找其他地方?您正在進行負載測試的活動是否需要150個物理連接?如果沒有,你幾乎可以確定你的代碼中存在連接泄漏。 –
是的,我想知道如何處理定向到數據庫的更多進程,我發現與我的程序有關的錯誤,我沒有關閉一些數據庫連接。謝謝Justin –