【DB2】表函式監控資料庫
1.快照表函式
在DB2 V9中能夠使用SQL表函式捕獲快照,以下是部分表函式列表:
快照表函式 返回的資訊
SNAPSHOT_DBM
SNAPSHOT_AGENT 返回代理程式資訊
SNAPSHOT_CONTAINERS 返回表空間容器資訊
SNAPSHOT_TBS 返回表空間的資訊
SNAPSHOT_DATABASE 資料庫資訊(至少一個應用程式連線至資料庫時)
SNAPSHOT_APPL 連線至分割槽上資料庫的應用程式上的有鎖等待的應用程式資訊(需要監視器開關)
SNAPSHOT_APPL_INFO 每個連線至分割槽上資料庫的應用程式的常規應用程式標誌資訊
SNAPSHOT_LOCKWAIT 有關鎖等待連線至分割槽上資料庫的應用程式的應用程式資訊
SNAPSHOT_STATEMENT 有關連線至分割槽上的資料庫的應用程式的語句的應用程式資訊
SNAPSHOT_TABLE 每個表的活動資訊(需要監視器開關)
SNAPSHOT_LOCK 資料庫級別上的鎖資訊(需要監視器開關)
SNAPSHOT_TBS 表空間資訊(需要緩衝池開關)
SNAPSHOT_TBS_CFG 表空間的配置資訊
SNAPSHOT_BP 資料庫緩衝池的活動計數器
SNAPSHOT_DYN_SQL 來自用於資料庫的SQL語句快取記憶體的某個時間點的語句資訊
以上只是部分表函式資訊,想要返回所有的表函式資訊,使用下面語句即可獲取:
db2 "select distinct funcname from syscat.functions where funcname like 'SNAPSHOT%'"
2.捕獲快照表函式
例子為捕獲表活動資料的快照
語法示例:
select * from table(<FunctionName>(<DBName>,<PartitionNum>)) as CorrelationName
- FunctionName為表函式
- DBName指從哪個資料庫的快照監控中收集
- PartitionNum設定為-1,表示收集當前連線的快照資訊,設定為-2,表示獲取所有分割槽的快照監視器資料
特殊說明:如果收集當前數連線的快照資訊,可以將DBName設定為CAST(NULL AS CHAR)
(1)連線至資料庫
[email protected]:/qinys> db2 connect to qindb user db2inst1 using db2inst1
Database Connection Information
Database server = DB2/LINUXX8664 9.7.6
SQL authorization ID = DB2INST1
Local database alias = QINDB
(2)啟用TABLE監視器開關
[email protected]:/qinys> db2 update dbm cfg using DFT_MON_TABLE ON
DB20000I The UPDATE DATABASE MANAGER CONFIGURATION command completed
successfully.
(3)使用表函式查詢