達夢資料庫專用機報錯會話讀取資料頁數超過資源限制設定值

xuchuangye發表於2024-06-10

應用報錯:專用機報錯會話讀取資料頁數超過資源限制設定值

1、 問題描述
某單位程式中某個賬戶連線操作達夢資料庫,日誌中報錯“會話讀取資料頁數超出超過資源限制值”,程式丟擲異常處理並回退事務。此類問題一般出現在安全版ZYJ資料庫上,像通用機的企業版資料庫所有新建使用者的資源限制預設都是無限制

2、解決方法

檢查該業務使用者的資源限制是否合理(尤其關於會話讀取資料頁總量和每次請求的資料頁量)

-- 查詢使用者資源限制項(CPU、記憶體、讀取頁數) SELECT B.NAME AS "使用者名稱", A.CPU_PER_CALL AS "使用者的一個請求能夠使用的 CPU 時間上限(秒)", A.CPU_PER_SESSION AS "一個會話允許使用的 CPU 時間上限(秒)", A.MEM_SPACE AS "會話佔有的私有記憶體空間上限(MB)", A.READ_PER_CALL AS "每個請求能夠讀取的資料頁數", A.READ_PER_SESSION AS "一個會話能夠讀取的總資料頁數上限", A.INFO1 AS "一個會話連線、訪問和運算元據庫伺服器的時間上限(10分鐘)" FROM SYSRESOURCES A, SYSOBJECTS B WHERE B.TYPE$ ='UR' AND B.SUBTYPE$='USER' AND B.ID = A.ID;

注意:查詢結果中欄位引數值為0表示無限制。

3 、重新調整該業務使用者的資源限制(根據實際情況設定某資源項)
此處報錯主要是因為磁碟讀取資料頁報錯。
使用SYSSSO使用者登入達夢資料庫(管理工具或disql)執行以下SQL語句即可解決問題。
注意:建議不要在安全版的管理工具圖形介面上設定資源限制,或許遇到意想不到BUG。

ALTER USER 使用者名稱 LIMIT READ_PER_SESSION UNLIMITED, READ_PER_CALL UNLIMITED;

再次驗證已解決



相關文章