# 建立資料庫(指定 GBK 碼頁,預設為 UTF-8/1208)
db2 "create database DB2TEST1 using codeset GBK territory CN collate using system pagesize 4096"
# 驗證配置
db2 get db cfg for db2test1
# 關鍵參數:Database codepage = 1386, Database codeset = GBK, Territory = CN
# 確認版本
db2level
# DB2 code release "SQL09050" → 確為 9.5
# 建立測試表 PROJECT(20 筆資料)
db2 connect to db2test1 user rhette
db2 -tvf project.sql -- 含 CREATE TABLE、PK、INDEX
db2 "select * from project" -- 驗證資料
-- 先清理舊物件(須先 DISABLE 再 DROP)
alter service class subclass_rhette under super_class disable;
alter service class subclass_db2admin under super_class disable;
alter service class super_class disable;
drop service class subclass_rhette under super_class;
drop service class subclass_db2admin under super_class;
drop service class super_class;
-- 建立父類
create service class super_class;
-- 建立子類 rhetor(繼承父類預設優先級,開啟完整活動採集)
create service class subclass_rhette under super_class
agent priority default
prefetch priority default
collect activity data on all with details and values
collect aggregate activity data base
collect aggregate request data base;
-- 建立子類 db2admin(提高代理優先級 + 高預取優先級)
create service class subclass_db2admin under super_class
agent priority 6
prefetch priority high;
| 屬性 | 選項/範圍 | 效用 | 預設/繼承規則 |
|---|---|---|---|
| AGENT PRIORITY | DEFAULT / integer (-6~6 on Windows, -20~20 on Linux/Unix,值越小優先級越高) | 代理執行緒 CPU 排程優先級(相對於作業系統基準) | 父類 DEFAULT;子類 DEFAULT 繼承父類;預設子類不可改 |
| PREFETCH PRIORITY | HIGH / MEDIUM / LOW / DEFAULT | 預取 I/O 請求優先序 | 父類 MEDIUM;子類 DEFAULT 繼承父類 |
| COLLECT ACTIVITY DATA | NONE / ON COORDINATOR / ON ALL + WITHOUT/WITH DETAILS + AND VALUES | 活動完成後送事件監視器:NONE/僅協調器分區/所有分區;是否含 SQL 文本/編譯環境/輸入參數值 | 僅適用子類;預設 NONE |
| COLLECT AGGREGATE ACTIVITY DATA | BASE / EXTENDED / NONE | 定期彙總活動統計(頻率由 wlm_collect_int 控制) | 僅適用子類;預設 NONE |
| COLLECT AGGREGATE REQUEST DATA | BASE / NONE | 定期彙總請求統計 | 僅適用子類;預設 NONE |
x * wlm_collect_int 分鐘收集並重設統計,送活動統計事件監視器(寫檔或寫表)。db2pd -db DB2TEST1 -serviceclasses
輸出關鍵欄位:
Service Class Name / ID / Type (Superclass/Subclass)Agent Priority / Prefetch PriorityCollect Activity Opt / Collect Aggr Activity Opt / Collect Aggr Request OptAccess Count / Activities HWM / Completed / Rejected / AbortedAssociated Agents / Non-agent threads範例輸出確認:SUPER_CLASS (ID=14)、SYSDEFAULTSUBCLASS (ID=15, 自動建立)、SUBCLASS_RHETTE (ID=16, 採集全開)、SUBCLASS_DB2ADMIN (ID=17, Agent Priority=6, Prefetch=High)。

WORKLOAD 映射至特定 SERVICE SUBCLASS(依連接屬性、Session 變數等分類)。THRESHOLD 限制資源濫用。WORK CLASS SET + WORK ACTION SET 針對活動類型/成本採集或阻擋。WLM_GET_* 表函數族即時監控活動分布、資源爭用、統計趨勢。服務類是 DB2 9.5 WLM 資源管控的核心容器。透過父類統一資源配額、子類差異化優先級與採集策略,配合 Workload 映射與 Threshold 保護,即可構建出「關鍵業務高優先、批次報表可控、異常查詢可觀測可阻擋」的企業級工作負載管理體系。