在 AIX 平台部署 DB2 UDB 時,若使用作業系統原生安裝工具(而非 DB2 圖形化安裝程式),授權檔案不會自動註冊,導致啟動資料庫或連線時拋出 SQL8008N(「No valid license」或「License expired」)。本文提供從授權檢查、檔案安裝到基礎驗證的標準化流程,適用於 DB2 V5/V6/V7 版本。
以 root 身份 登入系統執行以下檢查。
vi /usr/lib/netls/conf/nodelock
尋找 DB2 相關授權行,確認過期時間戳記(Unix epoch 格式)。若當前日期已超過該時間戳,或檔案中無 DB2 授權資訊,則需安裝授權檔案。
切換至實例擁有者環境:
su - <實例名稱>
db2licm -l
正常輸出範例:
Product Name = DB2 Enterprise - Extended Edition Product PassWord = DB2UDBEEE Version Information = 7.2 Expiry Date = Permanent Concurrent Connect User Policy = Disabled Registered Connect User Policy = Disabled Enforcement Policy = Soft Stop Number of processors = 1 Number of licensed processors = 1
判斷準則:Expiry Date = Permanent 表示永久授權;若顯示具體日期且已過期、或完全無輸出,均視為授權缺失。
原因說明:使用 AIX installp 或 smitty 安裝 DB2 時,授權檔案不會自動註冊,必須手動執行安裝命令。
授權檔案通常位於 DB2 安裝媒體的 /db2/license 目錄下,副檔名為 .lic。以 root 身份執行對應版本命令:
/usr/lpp/db2_05_00/cfg/db2licinst <授權檔完整路徑>
/usr/lpp/db2_07_01/adm/db2licm -a <授權檔完整路徑>
執行成功後,授權資訊會被寫入系統中央授權倉 /var/ifor/nodelock。此時可先跳至步驟 9(下篇)驗證授權狀態;若仍異常,請繼續執行下篇完整 LUM 配置流程。
| 項目 | DB2 V5 | DB2 V6 / V7 |
|---|---|---|
| 授權查詢命令 | vi /usr/lib/netls/conf/nodelock | db2licm -l (需 su - 實例擁有者) |
| 授權安裝命令 | /usr/lpp/db2_05_00/cfg/db2licinst | /usr/lpp/db2_07_01/adm/db2licm -a |
| LUM 配置必要性 | 強制執行完整流程 | 可選(建議完整執行以確保穩定) |
| 中央授權檔位置 | /var/ifor/nodelock (所有版本共通) | /var/ifor/nodelock |
db2licm -l 查詢需切換至實例擁有者;安裝命令需 root。完成步驟 2 後,請立即閱讀《AIX 環境下 DB2 授權問題完整排解指南(下)》(文章 ID: 97520),依序執行 LUM 服務檢查、版本確認、配置腳本執行、授權重新註冊、實例更新等深度步驟,確保授權在作業系統層面與 DB2 實例層面雙重生效。
掌握上下兩篇標準化流程,即可從容應對 AIX 平台上 DB2 授權的各類部署與遷移場景。