在 Unix 環境下執行 db2 -td@ -vf <預存程序腳本> 建立預存程序失敗,db2diag.log 記錄顯示:
DIA8402C A disk error has occurred. ZRC=0x860F0004
...
instance owner does not belong to fenced user's primary group
雖然日誌提示「磁碟錯誤」,但實際上是權限配置問題導致。
DB2 Unix 平台要求:實例用戶必須屬於受防護用戶的主群組。錯誤發生時,實例用戶未加入受防護用戶的主群組,導致存取權限不足。
sqllib/adm 路徑。ls -l .fenced,輸出範例:-r--r--r-- 1 db2fencj db2fgrp2 0 Jul 30 09:57 .fenceddb2fencj 即為受防護用戶db2fgrp2 即為受防護用戶的主群組groups <instance_user>)。將實例用戶加入受防護用戶的主群組:
usermod -a -G db2fgrp2 <instance_user>
若加入後問題仍存在,請再次確認群組名稱是否正確,並重新登入使群組生效。
此問題常被誤判為磁碟故障,實際僅為 Unix 權限模型要求。建議在建立實例時即規劃好用戶/群組關係,避免後續維護困擾。