反饋已提交

網絡繁忙

連結池滿問題

1. 問題描述

若日誌報 ORA-12519 TNS:no appropriate service handler found,是資料庫連結失敗的錯誤,12519 錯誤是監聽不能提供服務。

2. 原因

原因是我們定義資料連結後,點選連結時,此時會用掉一個連結池中的一個連結。
而在定義資料集後,點選預覽按鈕,此時連結池就會分配連結,可能會使用之前那個連結(之前的連結已釋放),或分配一個其他的連結或建立一個連結。
若此時連結池所有連結都已用完,就會報如下錯誤:

20240500173111.png

當客戶請求資料庫連結時,首先是查看連結池中是否有閒置連結(指當前沒有分配出去的連結)。
假如存在閒置連結,則把連結分配給使用者,並作相應的處理(即標記該連結為正在使用,引用計數加 1)。
假如沒有閒置連結,則查看當前所開的連結數是不是已經達到 maxConn(最大連結數),若沒達到就重建立立一個連結給請求的客戶;
若達到就按設定的 maxWaitTime(最大等待時間)進行等待;
若等待 maxWaitTime 後,仍沒有閒置連結,就丟擲無閒置連結的異常給使用者。

3. 解決方案

若您在FR 连接池属性 的設定中,已將最大連結數設定得過大,還出現如上的報錯,此時通常就是資料庫進程(processes)達到上限導致的,可增大數據庫中的連結數目來解決此問題。如下在資料庫中修改最大連結數:

查看當前的連結數

select count(*) from V$process;

查看資料庫允許的最大連結數

select value from V$parameter where name='processes';

修改最大連結數為1000

alter system set processes=1000 scope=spfile

重啟資料庫,再查詢最大連結數,數字改變就表示已修改成功。

說明:當客戶釋放資料庫連結時,先判定該連結的引用次數是否已超過規定值,假如超過就刪除該連結,並判定當前連結池內總的連結數是否小於 minConn(最小連結數),若小於就將連結池佈滿;假如沒超過就將該連結標記為開放狀態,可供再次複用。可看出正是這套策略保證了資料庫連結的有效複用,避免頻繁地建立、釋放連結所帶來的系統資源花費。

附件列表


主題: 資料準備
已經是第一篇
已經是最後一篇
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤
中文(繁體)

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

10s後關閉

獲取幫助
線上支援
獲取專業技術支援,快速幫助您解決問題
工作日9:00-12:00,13:30-17:30在线
頁面反饋
針對當前網頁的建議、問題反饋
售前咨詢
業務咨詢
電話:0933-790886或 0989-092892
郵箱:taiwan@fanruan.com
頁面反饋
*問題分類
不能為空
問題描述
0/1000
不能為空

反馈已提交

网络繁忙