當無法使用 DB2 安裝媒體的圖形化實例建立功能時,可透過命令列手動完成。本文記錄在既有 db2inst1 環境下,手動建立 db2inst2 實例的完整流程,含目錄準備、用戶建立、實例創建、資料庫與驗證。
/opt/IBM/DB2/V8.1/home/db2inst1)
df -k # 確認剩餘空間足夠
cd /home
mkdir db2inst2
# 建立群組
groupadd db2grp1 # 主群組 (可共用既有)
groupadd db2inst2 # 實例專屬群組 (可選)
# 建立用戶 (主目錄指向 /home/db2inst2, 主群組 db2grp1, 附屬群組 db2inst2)
useradd -m -d /home/db2inst2 -s /bin/bash -g db2grp1 -G db2inst2 db2inst2
# 設定密碼 (root 下可先清空再由用戶自行設定)
passwd -d db2inst2 # 清空密碼
su - db2inst2
passwd # 用戶自行設定新密碼
# 切換至 root
cd /opt/IBM/DB2/V8.1/instance
./db2icrt -u db2inst2 db2inst2
# -u 指定 fenced 用戶,此處同用戶充當 (簡化測試環境)
# 生產環境建議: ./db2icrt -u db2fenc2 db2inst2
# 切換至實例用戶
su - db2inst2
# 若需指定資料庫目錄,先建立並授權
mkdir -p /home/db2inst2/pending
chown -R db2inst2:db2grp1 /home/db2inst2/pending
# 建立資料庫 (指定 codeset 與 territory)
db2 create db gpending on /home/db2inst2/pending using codeset UTF-8 territory US
# 連線驗證
db2 connect to gpending
# 輸出應包含:
# Database server = DB2/LINUX 8.2.7
# SQL authorization ID = DB2INST2
# Local database alias = GPENDING
# 建表測試
db2 "create table test (id int, name varchar(20))"
db2 "insert into test values (1, 'test')"
db2 "select * from test"
db2 "list tables for all" # 可見剛建立的表
db2set DB2COMM=TCPIP 並更新 svcename (指定唯一埠號)db2set DB2AUTOSTART=YES (非 HA 環境)雖然手動建立實例步驟較繁瑣,但能深入理解 DB2 實例架構。生產環境強烈建議使用 db2setup 或回應檔安裝,減少人為錯誤風險。