DB2 將環境變量封裝為「簡要註冊表」,並提供 db2set 命令統一管理,屏蔽了作業系統層面的差異。本文深入解析註冊表分級機制、優先級遞邏輯、核心命令語法與實戰注意事項,助您精準掌控 DB2 運行環境。
DB2 按作用域劃分三級註冊表,採「就近原則」——越接近用戶/會話,優先級越高:
| 層級 | 範圍 | 存儲位置 | 優先級 |
|---|---|---|---|
| 實例級 | 單一 DB2 實例所有進程 | 實例目錄下 db2profile / 註冊表 | 高 |
| 全局級 | 機器上所有實例 | 系統級註冊表 / /etc/db2greg | 中 |
| 節點級 | 分區環境特定節點 | 節點目錄註冊表 | 低(最接近硬體) |
生效邏輯:會話啟動時按「節點 → 全局 → 實例」順序疊加,後讀取者覆蓋先讀取者,最終實例級設定生效。
# 查看所有層級變量
db2set -all
# 查看特定層級
db2set -g # 全局
db2set -i # 實例級
db2set -n # 節點級
# 設定變量(實例級示例)
db2set DB2COMM=TCPIP -i db2inst1
# 刪除變量
db2set DB2COMM= -i db2inst1
# 顯示變量當前生效值(含來源層級)
db2set -lr
-g 全局、-i 實例、-n 節點、-lr 列出解析後最終值、-all 全量顯示。DB2PATH、DB2INSTANCE)僅安裝/建立實例時寫入,運行期禁止修改。DB2COMM、DB2AUTH、DB2CODEPAGE)變更需重啟實例生效。| 變量 | Windows | Linux/UNIX |
|---|---|---|
| DB2PATH | 註冊表 | /etc/db2greg + db2profile |
| DB2INSTANCE | 註冊表 | 環境變數 + db2profile |
| DB2COMM | 註冊表 | 註冊表 + db2set |