使用快照表函数捕获快照的前提,需要完成以下步骤:
1.连接至数据库。
2.打开需要监控的快照类型的开关。
dbm cfg ...
***************************************************
Default database monitor switches
Buffer pool (DFT_MON_BUFPOOL) = OFF
Lock (DFT_MON_LOCK) = ON
Sort (DFT_MON_SORT) = OFF
Statement (DFT_MON_STMT) = OFF
Table (DFT_MON_TABLE) = OFF
Timestamp (DFT_MON_TIMESTAMP) = ON
Unit of work (DFT_MON_UOW) = OFF
Monitor health of instance and databases (HEALTH_MON) = ON
***************************************************
3.使用快照表函数发出查询。
例如:select * from table(SNAPSHOT_TABLE('db2fxs',-1)) as B
该例子中的SQL语句是获取当时表快照的信息。其中有两个参数,一个是数据库的名称,本例中'sample',数据类型是VARCHAR(255)。如果输出NULL,那么就用当前已连接的数据库名称。另一个参数用于分区号,数据类型是SMALLINT.对于这个参数,输入一个整数(0-999)以对应需要监控的分区号。如果要捕获当前已连接分区的快照,请输入值-1或NULL,要捕获全局快照,请输入值-2.