問題描述:
數據庫不斷出現大量無用連接,超過數據庫最大連接數,導致新的連接無法建立,訪問不通數據庫
問題分析:
服務器netstat連接數,大量連接來自辦公網連接,不斷在增加,通過服務器spid查看數據庫對應的sid,查看session會話,點擊pl/sql 工具菜單,選擇會話,選擇所有會話,查看到sid對應的事務是pl/sql.exe為pl/sql客戶端連接,關閉所有技術人員的pl/sql客戶端,依然不釋放連接,原因是技術人員使用pl/sql出現非主動關閉,如網絡異常斷開,斷電等導致關閉客戶端連接也不釋放
問題處理:
初步使用netstat -anop 命令查session進程對應的pid,kill掉,但是清理之后又有連接不斷在增加(辦公網網絡不好),不能人工不斷去清理,解決方案如下1、修改數據庫sqlnet配置,oracle 11g 默認在/oracle/product/11.2.0/network/admin/下沒有sqlnet.ora文件,從samples復制sqlnet.ora文件到路徑下,添加配置SQLNET.EXPIRE_TIME=10,設置無用連接自動清理,間隔為10分鍾,自動清理。2、創建job自動定時清理到空閑連接。