利用開源工具監控DB2資料庫

2021-06-01 23:15:54 字數 1865 閱讀 6961

在筆者所管理的系統中,執行著十幾個v8 db2資料庫,當中還開啟了分割槽並行的功能。長期以來一直受監控手段缺乏的問題困擾。能夠對db2進行有效監控的管理軟體乏善可陳。同為ibm出品的tivoli軟體集裡,有一套名為tivoli monitor的管理軟體,該軟體號稱集網路管理,主機管理,資料庫管理等功能一身,能對it基礎設施進行綜合統一的管理。然而,從5.x版本到6.2版本(期間經歷了數年之久),仍然未能實現對db2資料庫進行有效的監控管理,尤其不能支援分割槽型的資料庫(該型別資料庫一般執行在資料中心系統裡)。根據ibm技術支援團隊的官方回應,tivoli monitor 6.2版本只支援v9的db2資料庫。tivoli monitor對其他型別的db2資料庫的監控管理也不能盡如人意,特別是agent軟體的穩定性和對受管系統的影響這些問題比較突出。

為能夠實現對db2資料庫的監控管理,採集效能資料,為系統監控、擴容、調優、問題發現提供資料依據,筆者利用開源的工具實現了一些db2資料庫的管理功能,主要是歷史效能資料的採集、分析和展示,以及狀態和效能資料的即時檢視等功能。用到的工具主要有:centos(乙個免費的linux作業系統)、perl、rrdtool、apache、php。

下面介紹一些實現的方法。

一直以來來,db2資料庫服務於多數的金融行業的機構和企業,是乙個成熟的大型資料庫軟體。其在執行過程中,不停的採集、維護和更新自身的執行資料。這些資料可以通過乙個叫做快照(snapshot)的介面獲取。db2的命令列處理器(clp)和sql函式都支援通過快照介面提供db2資料庫的狀態和效能資料。基於這些資料,可以了解、監控和分析db2資料庫各個方面的運**況,如:緩衝池、表空間、鎖、事務、負載、應用程式等。

為了可以對多個db2資料庫進行管理,管理軟體必須具備遠端連線db2資料庫的能力,並通過這個連線獲取資料庫的執行資料。為此需要在管理主機上安裝db2 runtime client(rtcl),該軟體提供db2資料庫的連線庫,隨db2資料庫軟體一起發布,也可從ibm的官網上獲取。

安裝了rtcl後,需要為程式語言(perl)安裝db2資料庫的介面模組(dbi和dbd::db2)。dbi一般隨perl的發行版本一併安裝,dbd::db2可通過cpan獲取和安裝。

到此,可以用perl編寫監控db2資料庫的程式。但為了能讓程式有效執行,還須在管理主機上用clp對受管的db2資料庫進行編目。所謂編目,是將受管db2資料庫的ip位址、服務埠、資料庫名等資訊向rtcl註冊儲存,在連線資料庫時使用。

連線到db2資料庫後,主要通過sql語句呼叫快照介面獲取資料庫的執行資料,以下是乙個例子:

select * from table( snapshot_database('資料庫名', 『分割槽號』) ) as snapshot_database

其中資料庫名是受管db2資料庫的名稱(建立時指定的名字);分割槽號可以為-2,代表整改資料庫,-1當前節點的資料庫;

snapshot_database函式獲取資料庫的整體運**況。還有很多這類的快照函式,分別提供db2資料庫不同方面的資訊,例如snapshot_dbm函式獲取資料庫例項的執行資訊;snapshot_tbs函式獲取表空間的執行資訊;snapshot_bp函式獲取緩衝池的執行資訊。

還需注意的是:

1)db2資料庫存在一些開關設定來控制快照資料的生成,因此需要根據監控需求開關相應的控制開關,以讓db2資料庫生成快照資料

2)對快照介面的呼叫需要一定的許可權,因此程式連線資料庫時所使用的帳號應具備獲取快照資料的許可權

獲取到快照資料後,將其整理,然後存入rrd檔案中。

rrd檔案中的資料,主要由php程式讀取、分析、處理,然後通過web發布。

以下是監控效果圖

1)  事務量監控

2)  sql語句監控

3)排序監控

4)表空間容量監控

5)根據歷史資料執行的表空間的容量**分析

6)根據歷史資料而執行的資料庫的年度分析

DB2 表函式監控資料庫

1.快照表函式 在db2 v9中能夠使用sql表函式捕獲快照,以下是部分表函式列表 快照表函式 返回的資訊 snapshot dbm 資料庫管理資訊 snapshot agent 返回 程式資訊 snapshot containers 返回表空間容器資訊 snapshot tbs 返回表空間的資訊 ...

建立 DB2 資料庫

可以使用 tivoli privacy manager 資料庫建立程式或使用資料庫產品介面可以建立 tivoli privacy manager 資料庫 表和配置資料庫。使用 db2 資料庫建立程式 使用 tivoli privacy manager 資料庫建立程式來建立 tivoli privac...

DB2 資料庫物件

資料庫物件 sql可分為三大類 1 ddl,資料定義語言,用於建立 修改 刪除資料庫物件 2 dml,資料操縱語言,用於選擇 插入 更新和刪除資料庫記錄 3 dcl,資料控制語言,用於提供資料物件訪問控制 資料型別 1 內建資料型別 2 用於自定義資料型別 a 自定義區分型別,udt允許在已有的內建...