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

DB2 實戰 32 條必備技巧:從編目、備份到性能調優的隨手查手冊

     編輯:DB2 教學

DB2 實戰 32 條必備技巧:從編目、備份到性能調優的隨手查手冊

整理 32 個高頻操作命令,覆蓋節點/數據庫編目、Schema 切換、代碼頁、版本遷移、DDL 導出、腳本執行、表結構查詢、大表清空、存儲過程/約束/緩衝池檢視、配置參數調整、緩衝池管理、多列 IN 查詢、應用監控、一致性校驗、SQL 性能測試、數據導出入、鎖快照等,適合貼在工位牆上隨時查閱。

連接與編目

  1. 查看本地節點目錄:db2 list node directory
  2. 編目 TCP/IP 節點:db2 catalog tcpip node <NODE> remote <HOST/IP> server <PORT/SVC> ostype <OS>
  3. 取消節點編目:db2 uncatalog node <NODE>
  4. 查看系統數據庫目錄:db2 list database directory
  5. 查看本地數據庫目錄:db2 list database directory on <驅動器>(本地有而系統無則無法訪問,Control Center 右鍵「添加」或刷新同步)
  6. 編目數據庫:db2 catalog database <DB> as <ALIAS> at node <NODE>
  7. 取消數據庫編目:db2 uncatalog database <DB>
  8. 測試遠程連接:db2 connect to <ALIAS> user <UID> using <PWD>

會話與環境

  1. 設置當前 Schema:SET SCHEMA = <SCHEMA>(交互/應用均可,動態 SQL 有效,不受事務控制)
  2. 代碼頁設置:
    • 建庫時:CREATE DATABASE <DB> USING CODESET IBM-437 TERRITORY US
    • 實例級:環境變量 DB2CODEPAGE=1386 或 db2set DB2CODEPAGE=1386(需重啟實例)
  3. 低版本數據遷移高版本:備份舊庫 → 新版本 RESTORE → db2 migrate database <DB>

對象操作與查詢

  1. 帶引號的表/Schema 訪問:db2 "SELECT * FROM \"schema\".\"table\""
  2. 導出表結構 DDL:db2look -d <DB> -e -c -o <FILE>
  3. 執行腳本文件:db2 -tvf <FILE>
  4. 查看 DB2 版本:SELECT * FROM SYSIBM.SYSVERSIONS
  5. 修改列長度限制:僅 VARCHAR 類型且只能增不能減:ALTER TABLE <T> ALTER COLUMN <C> SET DATA TYPE VARCHAR(<NEW>)
  6. 查看表結構:DESCRIBE TABLE <T> 或 DESCRIBE SELECT * FROM <S>.<T>
  7. 秒級清空大表:ALTER TABLE <T> ACTIVATE NOT LOGGED INITIALLY WITH EMPTY TABLE
  8. 查看存儲過程:SELECT * FROM SYSCAT.PROCEDURES
  9. 查看 CHECK 約束:SELECT * FROM SYSCAT.CHECKS WHERE TABNAME = '<T>'
  10. 查看引用完整性約束:SELECT * FROM SYSCAT.REFERENCES WHERE TABNAME = '<T>'
  11. 查看緩衝池狀態:SELECT * FROM SYSCAT.BUFFERPOOLS

配置參數管理

  1. 實例配置:
    • 查看:db2 get dbm cfg
    • 修改:db2 update dbm cfg using <PARM> <VAL>
  2. 數據庫配置:
    • 查看:db2 get db cfg for <DB>
    • 修改:db2 update db cfg for <DB> using <PARM> <VAL>

緩衝池管理

  1. 創建:CREATE BUFFERPOOL <NAME> SIZE <PAGES> [PAGESIZE 4096] {[NOT] EXTENDED STORAGE}
  2. 修改:ALTER BUFFERPOOL <NAME> SIZE <PAGES> {[NOT] EXTENDED STORAGE}
  3. 刪除:DROP BUFFERPOOL <NAME>
  4. 自動模式:SIZE 設為 -1,由 BUFFPAGE 參數控制(僅對 SIZE=-1 的池生效)

進階查詢技巧

  1. 多列 IN 子查詢:WHERE (colA, colB, colC) IN (VALUES (vA1,vB1,vC1), (vA2,vB2,vC2), ...)
  2. 查看當前連接應用:db2 list applications [SHOW DETAIL]
  3. 數據庫一致性校驗:db2dart <DB> /DB(/DB 檢查整庫)
  4. SQL 性能基準測試:db2batch -d <DB> -f <SQL_FILE> [-a UID/PWD] [-r <OUT_FILE>]
  5. 導出數據:EXPORT TO <PATH/FILE> OF IXF SELECT * FROM <T>(例:EXPORT TO C:\user.ixf OF IXF SELECT * FROM user)
  6. 導入數據:IMPORT FROM <FILE> OF IXF [CREATE/INSERT INTO/UPDATE] <T>
  7. 鎖快照查詢:SELECT * FROM TABLE(SNAPSHOT_LOCK('<DB>', -1)) AS LOCK

使用建議

  • 將常用命令做成別名或腳本,減少輸入錯誤。
  • 生產環境執行修改類命令(UPDATE CFG、ALTER BUFFERPOOL、IMPORT 等)前必須備份並經變更流程。
  • 定期運行 db2dart 和 RUNSTATS,及早發現隱患。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved