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

AIX 平台 DB2 徹底卸載與重裝標準作業程序 (SOP)

     編輯:DB2 教學

卸載前強制動作

  1. 全量備份:db2 backup db <dbname> online to /backup include logs
  2. 導出 DDL 與授權:db2look -d <dbname> -e -x -o ddl_backup.sql
  3. 記錄實例/用戶/組信息:id db2inst1; id db2fenc1; id dasusr1; lsgroup db2iadm1 db2fgrp1 dasadm1

方法一:圖形化卸載 (推薦,SMIT)

# 1. 掛載 DB2 安裝介質
mount -V cdrfs -o ro /dev/cd0 /mnt

# 2. 啟動 SMIT
smit install_remove

# 3. 路徑導航
Software Installation and Maintenance
  → Software Maintenance and Utilities
    → Remove Installed Software
      → 輸入 "db2" 搜索,選中所有 db2* 包
      → 確認刪除 (F10=Exit, Enter=Do)

方法二:命令行徹底清理 (根治殘留)

階段 1:停止服務並刪除實例/DAS

# 以實例用戶
su - db2inst1
db2stop force
db2 terminate

# 以 root
# 刪除 DAS
/opt/IBM/db2/V11.5/instance/dasidrop dasusr1

# 刪除實例
/opt/IBM/db2/V11.5/instance/db2idrop db2inst1
/opt/IBM/db2/V11.5/instance/db2idrop db2fenc1

階段 2:移除 RPM/安裝包

# 查詢已安裝 DB2 包
lslpp -l | grep -i db2

# 移除 (示例包名,實際以 lslpp 輸出為準)
installp -u db2.client.rte db2.server.rte db2.java db2.jdbc ...

# 或使用 db2_deinstall (介質自帶)
/mnt/db2_deinstall -a  # 移除所有特性

階段 3:手工清理殘留目錄與配置 (關鍵)

# 核心殘留路徑 (逐一確認後刪除)
rm -rf /var/db2
rm -rf /usr/opt/db2_*
rm -rf /opt/IBM/db2   # 若非共享其他版本
rm -rf /tmp/db2* /tmp/das*

# 用戶/組清理 (確認無其他實例使用)
rmuser -p db2inst1
rmuser -p db2fenc1
rmuser -p dasusr1
rmgroup db2iadm1
rmgroup db2fgrp1
rmgroup dasadm1

# /etc/services 清理 DB2 端口條目
sed -i '/^db2c_/d; /^DB2_/d' /etc/services

# 內核參數還原 (若專為 DB2 調整)
# /etc/sysctl.conf 移除 DB2 相關行
sysctl -p

重裝前驗證環境乾淨

# 確認無殘留進程
ps -ef | grep -i db2 | grep -v grep

# 確認無殘留共享內存/信號量
ipcs -m | grep db2
ipcs -s | grep db2
# 若有,ipcrm 移除

# 確認端口釋放
netstat -an | grep -E '50000|523|524'

重裝最佳實踐

  1. 預先規劃:實例用戶/組 ID 固定化 (如 db2inst1:209/206),跨節點一致。
  2. 響應文件安裝:db2setup -r /path/db2ese.rsp 實現無人值守、版本可控。
  3. FixPack 同步:安裝基礎版本後立即應用最新 FixPack,再創建實例。
  4. 配置即代碼:實例創建、DBM CFG、註冊表、用戶環境變量全部腳本化、版本控制。

常見殘留導致的重裝失敗案例

「乾淨卸載是成功重裝的前提」,將清理步驟腳本化、檢查清單化,納入變更管理流程,杜絕手工遺漏。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
殘留項現象根因
/var/db2 未清新實例啟動報「實例已存在」全局註冊表殘留實例條目
/usr/opt/db2_* 未清db2setup 檢測到舊版本阻止安裝安裝元數據殘留
/tmp/db2* 未清啟動報「臨時文件鎖定衝突」舊實例 IPC 資源未釋放
用戶/組 ID 不一致多節點環境權限錯誤、文件系統 ACL 亂碼UID/GID 衝突