當 DB2 伺服器的主機名稱修改後,系統 hostname 命令返回的設定值發生了變化,要將這一修改應用到 DB2 系統中,需要進行如下相應的一系列操作:
1) 停止 DB2 管理伺服器(DAS)和執行個體:
a) db2admin stop
b) db2stop
2) 修改伺服器的主機名稱(hostname)
3) 修改全域註冊表變數 DB2SYSTEM:
Linux 和 UNIX 下:
以 root 使用者登入執行:
cd /<DB2 安裝目錄>/adm
./db2set -g DB2SYSTEM=<新主機名稱>
Windows 下:
db2set -g DB2SYSTEM=<新主機名稱>
4) 修改 db2nodes.cfg 檔案中的主機名稱為新主機名稱
Linux 和 UNIX 下:
<DB2 執行個體使用者主目錄>/sqllib/db2nodes.cfg
Windows 下:
<DB2 安裝目錄>/SQLLIB/<執行個體名>/db2nodes.cfg
5) 依次執行下面的命令,更新 DB2 管理伺服器中的相關配置:
a) 通過列出本地管理伺服器節點目錄的命令,擷取本地管理伺服器節點名:
db2 list admin node directory show detail
如果有本地管理伺服器節點(協議為“本地”),則繼續如下操作,否則直接執行步驟 d)。
b) 除去原始本地管理伺服器節點目錄編目(同時也除去了原始主機名稱的編目資訊):
db2 uncatalog node <本地管理伺服器節點名>
c) 以新的主機名稱重新編目本地管理伺服器節點目錄:
db2 catalog admin local node <本地管理伺服器節點名> system <新主機名稱>
d) 更新管理伺服器配置中配有原始主機名稱設定的參數:
db2 update admin cfg using DB2SYSTEM <新主機名稱>
db2 update admin cfg using SMTP_SERVER <新主機名稱> --(若為空白可不修改)
6) 修改 DB2 執行個體配置中配有原始主機名稱設定的參數:
db2 update dbm cfg using SPM_NAME <新主機名稱> --(若為空白可不修改)
7) 重新啟動管理伺服器和執行個體服務:
a) db2admin start
b) db2start