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

DB2 核心維運命令大全:從實例管理到備份恢復的 45 條實戰指令

     編輯:DB2 教學

前言:構建標準化維運知識庫

龐大資訊系統的穩定運行離不開規範、可追溯的資料庫維運體系。本文彙總 45 條高頻 DB2 維運命令,涵蓋實例控制、資料庫生命週期、連接管理、備份恢復、效能監控、表空間操作、統計維護、實例管理、資料遷移等九大場景,附帶參數解析與避坑提示,作為 DBA 隨身速查手冊。

一、實例啟停與狀態控制

操作命令關鍵說明
正常停止db2stop腳本建議雙重保險:db2stop; db2stop force
強制停止db2stop force終結所有連接,慎用
啟動實例db2start背景實際執行 db2star2
建立實例db2icrt <實例名>Linux/UNIX 專用
刪除實例db2idrop <實例名>不可逆,確認無殘留資料
切換實例set DB2INSTANCE=db2Windows 環境變數
列出實例db2ilist顯示所有實例名稱

二、資料庫建立、刪除與連接管理

操作命令關鍵說明
建立資料庫 (預設)db2 create db <dbname>預設代碼頁/地域
建立資料庫 (指定編碼)db2 create db <dbname> using codeset GBK territory CN中文環境推薦
刪除資料庫db2 drop db <dbname>若失敗:db2 force application all 或重啟實例
連接資料庫db2 connect to <db> user <usr> using <pwd>隱式提交
斷開當前連接db2 connect reset 或 db2 disconnect current
斷開所有連接db2 disconnect all
強制斷開所有應用db2 force application all備份/重組前必執行
列出資料庫目錄db2 list db directory
進入 CLP 互動模式db2cmd (Win) / db2 (Unix)

三、配置參數查詢與修改

操作命令關鍵說明
檢視 DBM 配置db2 get dbm cfg實例級
檢視 DB 配置db2 get db cfg for <db> 或 連接後 db2 get db cfg資料庫級
啟用聯合功能db2 update dbm cfg using FEDERATED YES需重啟實例生效
調整日誌空間 (開發機)db2 UPDATE DB CFG FOR <db> USING LOGFILSIZ 25600 LOGPRIMARY 3 LOGSECOND 2 LOGRETAIN OFF4K 頁面下 ≈ 300MB;生產環境需依負載規劃

四、表空間與緩衝池管理

-- 建立 32K 頁面臨時表空間 (DMS)
DB2 CREATE USER TEMPORARY TABLESPACE STMASPACE PAGESIZE 32 K
  MANAGED BY DATABASE USING (FILE 'D:\DB2_TAB\STMASPACE.F1' 10000)
  EXTENTSIZE 256

-- 建立 8K 緩衝池與 Regular 表空間 (SMS)
db2 CREATE BUFFERPOOL STMABMP IMMEDIATE SIZE 25000 PAGESIZE 8K
db2 CREATE REGULAR TABLESPACE STMA PAGESIZE 8 K
  MANAGED BY SYSTEM USING ('D:\DB2Container\Stma')
  EXTENTSIZE 8 OVERHEAD 10.5 PREFETCHSIZE 8 TRANSFERRATE 0.14
  BUFFERPOOL STMABMP DROPPED TABLE RECOVERY OFF

五、備份與恢復核心指令

類別命令範例說明
離線完整備份db2 backup db <db>需先 force application all
表空間備份BACKUP DATABASE YNDC TABLESPACE (USERSPACE1) TO "D:\temp" WITH 2 BUFFERS BUFFER 1024 PARALLELISM 1 WITHOUT PROMPTING線上/離線均可
還原資料庫db2 restore db <src_db>覆蓋式還原
離線增量還原DB2 RESTORE DATABASE YNDC INCREMENTAL AUTOMATIC FROM D:\backup\autobak\db2 TAKEN AT 20060314232015自動套用增量鏈
前滾恢復 (含日誌)db2 ROLLFORWARD DATABASE TESTDB TO END OF LOGS AND COMPLETE NORETRIEVE暫掛狀態 → 可用

六、資料移動:Export / Import / Load

Export 腳本範例

db2 connect to testdb user test using test
db2 "export to aa1.ixf of ixf select * from table1"
db2 "export to aa2.ixf of ixf select * from table2"
db2 connect reset

Import/Load 腳本範例

db2 connect to testdb user test using test
-- Load 適合大量資料,不記錄細節日誌,速度極快
db2 "load from aa1.ixf of ixf replace into table1 COPY NO without prompting"
db2 "load from aa2.ixf of ixf replace into table2 COPY NO without prompting"
db2 connect reset

關鍵選擇:LOAD (大量、高速、不可恢復至時間點除非 COPY YES) vs IMPORT (少量、全記錄、可恢復)。兩者均支援 REPLACE/INSERT 模式。

七、監控與效能診斷

操作命令用途
資料庫管理器快照db2 -v get snapshot for dbm實例級資源視圖
列出應用程式詳情db2 list applications show detail獲取 PID、狀態、SQL
錯誤代碼查詢db2 ? SQL1403N / db2 ? 08004SQLCODE / SQLSTATE 解碼
開啟監控開關db2 -v update monitor switches using BUFFERPOOL ON預設部分關閉
獲取完整快照db2 -v get snapshot for all databases > snap.out
db2 -v get snapshot for dbm >> snap.out
db2 -v get snapshot for all bufferpools >> snap.out
離線分析
重置監控計數器db2 -v reset monitor all基準測試前必執行

八、緩衝池命中率計算與調整

目標:> 95%

公式:

(1 - (buffer pool data physical reads + buffer pool index physical reads)
   / (buffer pool data logical reads + buffer pool index logical reads)) * 100%

調整手段:

-- 將 NPAGES 設為 -1,由 BUFFPAGE 統一控制
db2 ALTER BUFFERPOOL IBMDEFAULTBP SIZE -1

-- 調大資料庫配置 BUFFPAGE
db2 UPDATE DB CFG FOR <db> USING BUFFPAGE <larger_value>

九、統計資訊維護:Runstats 與 Reorgchk

# 全庫統計更新 (含索引)
db2 -v connect to DB_NAME
db2 -v REORGCHK UPDATE STATISTICS ON TABLE ALL
db2 -v terminate

# 單表統計 (含所有索引)
db2 -v RUNSTATS ON TABLE TAB_NAME AND INDEXES ALL

# 檢視統計時間戳
db2 -v "SELECT TBNAME, NLEAF, NLEVELS, STATS_TIME FROM SYSIBM.SYSINDEXES"

十、工具目錄與樣本資料庫

操作命令
建立工具目錄db2 create tools catalog SYSTOOLS CREATE NEW DATABASE TOOLSDB
建立樣本資料庫Unix: sqllib/bin/db2sampl <path>; Windows: db2sampl [drive]
列出所有表db2 list tables
描述表結構db2 describe table <tab>
新增欄位ALTER TABLE STAFF ADD COLUMN PHONE VARCHAR(20)

避坑備忘錄

  • 備份前必斷連:線上備份除外,離線操作殘留連接導致失敗
  • 日誌參數修改需重啟:LOGFILSIZ、LOGPRIMARY 等靜態參數
  • Load COPY NO 環境:若需時間點恢復,必須 COPY YES 指定備份目標
  • Runstats 後必 Rebind:套件存取計劃失效,db2rbind 或應用重連觸發
  • 生產環境嚴禁 db2stop force:優雅停機流程:Quiesce → Force → Stop

提示:詳細命令語法請使用 db2 ? <command> 線上查閱。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved