IBM DB2 作為企業級關係型數據庫,功能強大但配置選項繁多。掌握核心命令與最佳實踐,能顯著提升開發運維效率。本文匯總 31 個高頻使用技巧,涵蓋節點編目、數據庫連接、模式管理、代碼頁設置、版本遷移、DDL 操作、性能診斷等核心場景,助你事半功倍。
db2 list node directory
db2 catalog tcpip node <節點名> remote <主機名/IP> server <服務名/端口> ostype <OS類型>
db2 uncatalog node <節點名>
db2 list database directory
db2 list database directory on <盤符>
注意:本地目錄有而系統目錄無的數據庫無法訪問。可在控制中心右鍵數據庫選「添加」,或點「刷新」選擇加入。
db2 catalog database <數據庫名> as <別名> at node <節點名>
db2 uncatalog database <數據庫別名>
db2 connect to <數據庫別名> user <用戶名> using <密碼>
set current schema = <Schema名>
初始默認為當前會話用戶的授權 ID。可交互式使用,也可在應用程序中使用。若包用 DYNAMICRULES BIND 綁定則無效。該語句不在事務控制下。
創建數據庫時指定字符集:
create database <數據庫名> using codeset <代碼集> territory <地區>
# 例:create database dbtest using codeset IBM-437 territory US
實例級環境變量設置(Windows):
DB2CODEPAGE=437 或 1386db2set DB2CODEPAGE=1386(需重啟 DB2 生效)db2 migrate database <數據庫名># 命令窗口
db2 select * from "<tabschema>"."<tabname>"
# CLP 交互模式
db2 => select * from "<tabschema>"."<tabname>"
db2look -d <數據庫> -e -c -o <輸出文件>
db2 -tvf <腳本文件路徑>
(原文缺失具體命令,常用 db2move 配合 LOBCOLS 或應用層轉換)
select * from sysibm.sysversions
僅支持 VARCHAR 類型增加長度,不支持減少或類型變更:
alter table <表名> alter column <列名> set data type varchar(<新長度>)
describe table <表名>
# 或
describe select * from <表名>
alter table <表名> activate not logged initially with empty table
此操作不記錄日志、極速完成,適合大表截斷。
select * from syscat.procedures
select * from syscat.checks where tabname = '<表名>'
select * from syscat.references where tabname = '<表名>'
select * from syscat.bufferpools
# 實例配置
db2 get dbm cfg
db2 update dbm cfg using <參數名> <新值>
# 數據庫配置
db2 get db cfg for <數據庫>
db2 update db cfg for <數據庫> using <參數名> <新值>
# 創建
create bufferpool <名稱> size <頁數> [pagesize 4096] {[not] EXTENDED STORAGE}
# 修改大小
alter bufferpool <名稱> size <頁數> {[not] EXTENDED STORAGE}
# 刪除
drop bufferpool <名稱>
注意: size = -1 表示由數據庫配置參數 BUFFPAGE 決定頁面數;BUFFPAGE 僅對 size=-1 的緩衝池生效。
select * from <schema>.<表>
where (colA, colB, colC) [not] in (
values (valA1, valB1, valC1), (valA2, valB2, valC2), ... (valAn, valBn, valCn)
)
db2 list application [show detail]
db2dart <數據庫> /DB
# /DB 表示檢查整個數據庫一致性
db2batch -d <數據庫> -f <SQL文件> [-a userid/passwd] [-r <結果文件>]
# -r 選項將查詢結果輸出到文件
export to <文件> of <格式> select * from <表>
# 例:export to c:\user.ixf of ixf select * from user
import from <文件> of <格式> <模式> into <表>
# 模式:insert / insert_update / replace / create(自動建表)
# 例:import from c:\user.ixf of ixf create into user
這 31 個技巧覆蓋了 DB2 日常運維開發的高頻場景。建議收藏備查,並在測試環境驗證後再應用於生產。掌握核心命令與系統目錄視圖,能讓你從容應對多數疑難雜症。