在 DB2 架構中,「Catalog(編目)」是讓用戶端找到遠端資料庫的導航機制。DB2 採用層級結構:系統(節點)→ 實例 → 資料庫 → 表空間 → 物件。跨機器連線時,必須在客戶端建立兩層編目對應。
系統/節點(主機)
└─ 實例
└─ 資料庫
└─ 表空間
└─ 資料庫物件(表、索引、視圖...)
db2 catalog tcpip node <節點名> remote <Server_IP> server <Port>
範例:
db2 catalog tcpip node p570 remote 172.10.10.10 server 50000
執行後,資訊寫入本地 SQLNODIR 檔案,相當於「遠端伺服器地址指標」。
db2 catalog db <遠端資料庫名> at node <節點名>
範例:
db2 catalog db REMOTEDB at node p570
執行後,資訊寫入本地 SQLDBDIR 檔案,建立「資料庫別名 → 遠端節點」的映射。
當 Client 與 Server 同機時,建立實例與資料庫過程會自動執行隱含編目:
-- 建立實例時隱含執行
db2 catalog local node db2inst1 instance db2inst1 system p570 ostype aix
-- 建立資料庫時隱含執行
db2 catalog db mydb at node db2inst1

掌握編目機制,是排查 DB2 連線失敗(SQL30081、SQL1013 等)的基礎能力。