Unix/Linux 下執行 db2 -td@ -vf <proc_script> 創建存儲過程失敗,db2diag.log 出現:
DIA8402C A disk error has occurred. ZRC=0x860F0004
...
instance owner does not belong to fenced user's primary group
表象像磁盤錯誤,實則為權限配置問題。
DB2 要求:實例用戶必須屬於受防護用戶的主組。若不滿足,存儲過程進程無法訪問受防護用戶目錄下的編譯/運行臨時文件,拋出偽裝的磁盤錯誤。
sqllib/adm:cd ~db2inst1/sqllib/adm.fenced 文件屬性:ls -l .fenced
-r--r--r-- 1 db2fenc1 db2fgrp1 0 Jul 30 09:57 .fenced
db2fenc1 = 受防護用戶db2fgrp1 = 受防護用戶主組groups db2inst1,輸出需包含 db2fgrp1。usermod -a -G db2fgrp1 db2inst1groups db2inst1 顯示組已生效。.fenced 文件顯示的主組,而非附屬組。db2icrt -u <fenced_user> <inst_user> 會自動處理組關係。groups <inst_user> 校驗步驟。db2diag.log 關鍵字 fenced user's primary group。一條命令、一個組關係,解決看似「磁盤故障」的權限謎題。