首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> DB2 資料庫 >> DB2 教學

DB2 服務器主機名變更完整操作手冊:跨平台步驟、註冊表修改與 db2nodes.cfg 維護

     編輯:DB2 教學

變更影響範圍評估

主機名變更涉及 DB2 註冊表(DB2SYSTEM)、節點配置文件(db2nodes.cfg)、DAS 實例、所有數據庫實例連接配置。本文覆蓋 Windows、Linux、AIX、Solaris、HP-UX 全平台,適用 DB2 V8/V9.1/V9.5。

標準化操作流程

階段一:停止所有 DB2 服務

# Windows(管理員 CMD)
db2admin stop
set DB2INSTANCE=INST1
db2stop force

# Linux/UNIX(root 切換至實例用戶)
su - dasusr1 -c "db2admin stop"
for inst in $(db2ilist); do su - $inst -c "db2stop force"; done

階段二:作業系統層面修改主機名

  • Windows:系統屬性 → 計算機名 → 更改 → 重啟
  • Linux:hostnamectl set-hostname newname + 修改 /etc/hosts + 重啟網絡/主機
  • AIX:chdev -l inet0 -a hostname=newname + 修改 /etc/hosts + 重啟

階段三:更新 DB2 註冊表 DB2SYSTEM(關鍵步驟)

# Windows(實例用戶 CMD)
db2set -g DB2SYSTEM=newname
db2terminate

# Linux/UNIX(需 root 權限操作全局註冊表)
su root
db2set -g DB2SYSTEM=newname
db2terminate
# 返回實例用戶驗證
db2set -all | grep DB2SYSTEM
# 輸出應顯示 [g] DB2SYSTEM=newname

避坑指南:V8/V9.1 執行 db2set -g 可能報 rc=-2029059830;V9.5 報 DBI1309E。原因均為實例用戶無權寫入全局註冊表文件,**必須用 root/su root 不帶減號**(保留實例環境變量)執行。

階段四:修改 db2nodes.cfg

# Linux/UNIX 路徑
$INSTHOME/sqllib/db2nodes.cfg
# 內容示例(單分區)
0 newname 0
# 多分區示例
0 newname 0
1 newname2 1

若有 DAS 實例(如 das91),同步修改其 db2nodes.cfg 並重啟 db2admin start。

階段五:啟動驗證

# 依次啟動
db2start
db2admin start
# 驗證連接
db2 connect to sample
db2 "SELECT * FROM SYSIBM.SYSDUMMY1"

客戶端同步更新

所有遠程客戶端需重新 CATALOG TCPIP NODE 指向新主機名/IP,並 CATALOG DATABASE 更新別名映射。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved