在日常開發與維護 DB2 數據庫時,開發人員常因缺乏現成的「小抄」而被迫中斷思路去查閱文檔。本文整理了 10 個高頻使用的 DB2 管理操作技巧,涵蓋節點管理、數據庫編目、連接測試、模式設置與代碼頁配置等核心場景,助你快速定位命令,保持開發流暢度。
在命令行窗口執行以下指令,即可列出當前實例已編目的所有遠程節點信息:
db2 list node directory
當需要連接遠程 DB2 服務器時,必須先在本地編目該節點。語法如下:
db2 catalog tcpip node <節點名> remote <服務器IP/主機名> server <端口號> ostype <作業系統類型>
參數說明:
<節點名>:自定義的本地節點別名remote:遠程服務器地址server:DB2 監聽端口(默認 50000)ostype:遠程服務器作業系統(如 LINUX, WIN, AIX 等)若需移除已編目的節點,使用 uncatalog 命令:
db2 uncatalog node <節點名>
系統數據庫目錄記錄了實例層面可見的所有數據庫別名:
db2 list database directory
本地目錄顯示特定磁盤分區上的數據庫:
db2 list database directory on <盤符>
注意: 僅存在於本地目錄而不在系統目錄中的數據庫無法直接訪問。可通過控制中心(Control Center)右鍵選擇「添加」或點擊「刷新」將其加入系統目錄,使其可訪問。
將遠程或本地數據庫編目到系統目錄,建立別名以便連接:
db2 catalog database <數據庫真實名> as <別名> at node <節點名>
從系統目錄中移除數據庫別名:
db2 uncatalog database <別名>
驗證網路、認證及編目是否正確:
db2 connect to <數據庫別名> user <用戶名> using <密碼>
通過 CURRENT SCHEMA 專用寄存器,可為當前連接指定默認模式,避免 SQL 中重複寫入 Schema 名稱。初始值為當前會話用戶的授權 ID。
SET SCHEMA = <Schema名稱>
特性:
DYNAMICRULES BIND 選項綁定,該語句無效在 CREATE DATABASE 時通過 CODESET 和 TERRITORY 子句定義字符集與地區設置:
CREATE DATABASE <數據庫名> USING CODESET <代碼集> TERRITORY <地區代碼>
示例: 創建一個使用 IBM-437 代碼頁、美式地區設置的數據庫:
CREATE DATABASE dbtest USING CODESET IBM-437 TERRITORY US
在 Windows (Win2000/NT/XP) 上,可通過系統環境變量或 db2set 命令設置 DB2CODEPAGE,影響該實例下新建數據庫的默認代碼頁或客戶端連接的代碼頁轉換:
DB2CODEPAGE=437 (或 1386 等)db2set DB2CODEPAGE=1386提示: 修改後需重啟 DB2 實例 (db2stop && db2start) 方能生效。