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

DB2 常用命令與操作技巧 20 連發:導入導出、鎖排查、存儲過程、快照、別名、序列、重啟全掌握

     編輯:DB2 教學

高頻命令速查表

#場景命令 / SQL關鍵參數說明
1 字串連接 SELECT 'A' || 'B' FROM sysibm.sysdummy1 標準 SQL ||,非 +
2 快速清空大表 ALTER TABLE t ACTIVATE NOT LOGGED INITIALLY WITH EMPTY TABLE 不寫日誌、瞬間完成,最快;次選 IMPORT FROM /dev/null OF DEL REPLACE INTO t
3 導出 (IXF 含元資料) db2 "EXPORT TO file.ixf OF IXF SELECT * FROM tab" IXF 支援 LOAD 重建索引/約束
4 導入 db2 "IMPORT FROM file.ixf OF IXF INSERT INTO tab" 寫日誌、觸發器生效,適合小量
5 檢查表存在 SELECT * FROM sysibm.systables WHERE lower(name)='tab_name' 不區分大小寫比對
6 鎖排查三步曲 db2 "CONNECT TO db"
db2 "GET SNAPSHOT FOR LOCKS ON db"
db2 "TERMINATE"
找 Application Handle → FORCE APPLICATION(<handle>)
7 建立存儲過程 (自定分隔符) db2 -td@ -vf proc.sql @ 為分隔符,避免語句內 ; 衝突
8 檢查索引生效 (先 RUNSTATS) RUNSTATS ON TABLE schema.tab WITH DISTRIBUTION AND DETAILED INDEXES ALL 再看 EXPLAIN 或 db2expln
9 全庫快照 db2 "CONNECT TO db"
db2 "UPDATE MONITOR SWITCHES USING LOCK ON SORT ON BUFFERPOOL ON UOW ON TABLE ON STATEMENT ON"
db2 "GET SNAPSHOT FOR ALL ON db"
開啟所有監控開關再抓
10 查看存儲過程原始碼 SELECT procname, text FROM sysibm.sysprocedures
11 列出所有表 LIST TABLES 或 LIST TABLES FOR SCHEMA xxx
12 字串搜尋位置 LOCATE('y', 'xyz') → 2 1-based,0=未找到
13 日期相減天數 DAYS(DATE('2007-03-01')) - DAYS(DATE('2007-02-28')) DAYS 從 0001-01-01 起算
14 跨 Schema 別名 CREATE ALIAS my_alias FOR other_schema.tab 應用端無感知跨 Schema
15 檢視表結構 DESCRIBE TABLE tab 或 DESCRIBE SELECT * FROM tab
16 重啟資料庫 (崩潰恢復) RESTART DATABASE db_name
17 啟用資料庫 (預熱緩衝池) ACTIVATE DATABASE db_name 避免首次連線延遲
18 停用資料庫 DEACTIVATE DATABASE db_name 配合 ACTIVATE 管理資源
19 重命名表 RENAME TABLE old_name TO new_name 需獨佔存取
20 建立序列 CREATE SEQUENCE seq_name START WITH 1 INCREMENT BY 1 NO MAXVALUE NO CYCLE CACHE 24 CACHE 提升高併發取號效能
21 查看索引詳細 DESCRIBE INDEXES FOR TABLE tab SHOW DETAIL

進階組合招

  • 大表重建索引:ALTER TABLE ... ACTIVATE NOT LOGGED INITIALLY → REORG INDEXES ALL FOR TABLE ... ALLOW WRITE ACCESS → RUNSTATS ...。
  • 批量 FORCE:db2 "FORCE APPLICATION ALL" (慎用)。
  • 快照自動化:排程 GET SNAPSHOT 輸出檔案,配合腳本解析 Top SQL/鎖等待。

結語

這 21 條命令覆蓋日常運維 90% 場景。建議存為 db2_cheatsheet.sql,配合 db2 -tvf 批次執行。熟練掌握「導出/導入/載入三選一」、「鎖快照三步曲」、「ACTIVATE/RESTART 雙重啟動」、「序列/別名/重命名 DDL」,DB2 運維效率將質變。

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