開發(fā)一個系統(tǒng)基本完畢的時候,為了提高系統(tǒng)的響應(yīng)時間,我們需要把經(jīng)常從數(shù)據(jù)庫獲取而又不經(jīng)常修改的內(nèi)容給緩存起來,但是,緩存起來,我們怎么知道是否緩存生效了,沒從數(shù)據(jù)庫去取呢?
對于DB2 V8.1數(shù)據(jù)庫,它提供了一個數(shù)據(jù)庫監(jiān)視器開關(guān),可以監(jiān)視系統(tǒng)訪問數(shù)據(jù)庫里表的記錄。
首先,db2cmd,然后db2 connect to dbname user username using pwd;
執(zhí)行db2 get dbm cfg ,其中可以看到:

 缺省數(shù)據(jù)庫監(jiān)視器開關(guān)
   緩沖池                         (DFT_MON_BUFPOOL) = OFF
   鎖定                                   (DFT_MON_LOCK) = OFF
   排序                                   (DFT_MON_SORT) = OFF
   語句                              (DFT_MON_STMT) = OFF
   表                                 (DFT_MON_TABLE) = OFF
   時間戳記                         (DFT_MON_TIMESTAMP) = ON
   工作單元                            (DFT_MON_UOW) = OFF

現(xiàn)在,我們把表的監(jiān)視器開關(guān)給打開,執(zhí)行 db2 update dbm cfg using dft_mon_table on,
這種方式是 在實例級別上設(shè)置監(jiān)視器開關(guān)(影響所有用戶和數(shù)據(jù)庫),還有另外一種方式,
執(zhí)行 db2 get monitor switches,顯示

            監(jiān)視器記錄開關(guān)

db 分區(qū)號 0 的開關(guān)列表
緩沖池活動信息        (BUFFERPOOL) = OFF
鎖定信息                    (LOCK) = OFF
排序信息                    (SORT) = OFF
SQL 語句信息           (STATEMENT) = OFF
表活動信息                 (TABLE) = OFF
獲取時間戳記信息(時間戳記)    = ON  06/08/2005 08:28:10.052196
工作單元信息                 (UOW) = OFF
    db2 update monitor switches using switchName ,這種方式是 在應(yīng)用程序級別上設(shè)置監(jiān)視器開關(guān)(只適合于特定的應(yīng)用程序)
再執(zhí)行 db2 get dbm cfg 的時候發(fā)現(xiàn) 表的監(jiān)視開關(guān)打開了:   表        (DFT_MON_TABLE) = ON
然后db2admin stop,db2admin start 讓表監(jiān)視器開關(guān)生效。
執(zhí)行 db2 reset monitor for database dbname 讓計數(shù)器復(fù)位,現(xiàn)在就可以運行應(yīng)用系統(tǒng)了。之后獲取數(shù)據(jù)庫的快照可以執(zhí)行 db2 get snapshot for database on dbname 就可以知道系統(tǒng)是否訪問數(shù)據(jù)庫了,緩存是否生效了。