1. 程式人生 > >【DB2】表函式監控資料庫

【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)使用表函式查詢

image