數據移動工具對比
| 工具 | 支持格式 | 不支持格式 |
| IMPORT | DEL, ASC, IXF, WSF | — |
| EXPORT | DEL, IXF, WSF | ASC |
| LOAD | DEL, ASC, IXF | WSF |
| DB2MOVE | IXF | ASC, DEL, WSF |
監控體系兩大支柱
- 快照監控 (SNAPSHOT MONITOR):特定時間點數據庫活動快照。
- 事件監控 (EVENT MONITOR):記錄事件發生時的數據(如死鎖、語句執行歷史)。
監控數據元素六大類型
| 類型 | 含義 |
| 計數器 (COUNTER) | 活動發生次數 |
| 測量值 (GAUGE) | 當前狀態值(如當前連接數) |
| 水位線 (WATERMARK) | 歷史峰值/谷值 |
| 信息 (INFORMATION) | 參考類細節(如配置參數值) |
| 時間戳 (TIMESTAMP) | 事件發生日期時間 |
| 耗時 (TIME) | 活動消耗時間 |
監控堆大小估算公式
(監控應用數+1) * (數據庫數 * (800 + 訪問表數*20) + (連接應用數+1) * (200 + 表空間數*100)) / 4096
受 MON_HEAP_SZ 參數控制。
管道事件監控器創建全流程
Unix/Linux
- 定義:
CREATE EVENT MONITOR evmon FOR STATEMENTS WRITE TO PIPE '/tmp/evpipe1'
- 建管道:
mkfifo /tmp/evpipe1
- 打開管道:
open() 系統調用或 db2evmon -db sample -evm evmon
- 激活:
SET EVENT MONITOR evmon STATE 1
- 讀取:
read()
- 停止/關閉/刪除管道對應
close()、unlink()。
Windows
管道名稱格式 \\.\pipe\evpipe1,使用 CreateNamedPipe()、ConnectNamedPipe()、ReadFile()、DisconnectNamedPipe()、CloseHandle() 等 Win32 API,或同樣用 db2evmon 命令行工具。
SQL 語句三大類別
- DCL:
GRANT/REVOKE、CONTROL 權限(創建者自動擁有)。
- DDL:
CREATE/ALTER/DROP/DECLARE 等對象定義。
- DML:
SELECT/INSERT/UPDATE/DELETE 等數據操縱。
常用類型轉換函數
| 轉換方向 | 函數 |
| VARCHAR → INTEGER | CAST(expr AS INTEGER) |
| INTEGER → VARCHAR | CHAR(int_expr) |
| VARCHAR → DATE | DATE(str_expr) |
| DATE → VARCHAR | CHAR(date_expr) |
實用技巧速查
| 需求 | 方案 |
| 查詢內置函數文檔 | 自帶文檔:Administration → SQL Reference → Functions |
| 執行腳本文件 | db2 -tvf filename |
| 類 Oracle ROWNUM | ROW_NUMBER() OVER() |
| 錯誤代碼說明 | db2 ? SQLCODE 或 db2 ? DB2CODE |
| TRIGGER 修改 | 不支持,只能 DROP 再 CREATE |
| Windows 端口查看 | \WINNT\SYSTEM32\DRIVERS\ETC\SERVICES |
| 執行存儲過程 | db2 CALL proc_name |
| 進入 CLP 模式 | db2cmd |
| 查看應用進程 | db2 list applications |
| 強制斷開應用 | FORCE APPLICATION (handle) |
| 切換用戶啟動 DB | 在 .profile 添加 . /home/db2inst/sqllib/db2profile |