簡介
如果您正在學習如何使用 DB2 Express,那麼您很可能有使用其他數據庫(比如 MySQL)的經驗。本文幫助 MySQL 數據庫管理員學習 IBM DB2 Express-C GUI 管理。IBM DB2 Express-C 提供了豐富的 GUI 管理功能,我們先概述這些功能,然後進行詳細介紹。如果有 MySQL 背景,您就會發現 IBM DB2 Express-C 為管理員提供了更多的 GUI 選項。DB2 Express-C 版本基本上為所有命令提示功能都提供了對應的 GUI 選項,而開放源碼的 MySQL GUI 管理功能並沒有覆蓋全部命令行功能。
本文主要針對 IBM DB2 Express-C 9.1 的功能,突出了 MySQL 和 IBM DB2 Express-C 版本之間的相似性和差異。
我們將研究以下主題:
一般管理
備份和恢復
與性能相關的任務
與開發相關的任務
與系統健康狀態相關的任務
概述
對於 DB2 Express-C,要記住三個 F(free):
免費開發
免費部署
免費發布
每個服務器上最多允許有兩個物理 CPU 和 4GB 的 RAM。另外,應該知道 DB2 Express 沒有提供以下特性:
復制
數據庫分區特性
Connection Concentrator
DB2 Geodetic Extender
Query Patroller
Net Search Extender
這些特性在 DB2 for Linux®, UNIX®, and Windws® 的其他版本中是可用的,比如 DB2 Workgroup and Enterprise 版本。
MySQL GUI 功能 - 快速概述
對於 MySQL,GUI 管理選項需要單獨 下載 和安裝。MySQL Administrator 功能可以分成幾類,包括:
一般信息 - 服務器信息和服務
服務器健康狀態 - 啟動參數、在線健康狀態指示和錯誤日志
管理 - 備份和恢復、用戶管理、模式對象管理和連接管理
MySQL Administrator(在編寫本文時是 1.1.9 版)提供以下特性:
一般信息
服務器信息:這提供服務器啟動/關閉狀態、服務器硬件規格說明等等。
圖 1. MySQL 服務器信息
服務控制:這提供啟動和停止 MySQL 服務的功能以及在線日志。還允許配置啟動配置文件、存儲引擎等等。
圖 2. MySQL 服務控制
圖片看不清楚?請點擊這裡查看原圖(大圖)。
服務器健康狀態
啟動參數:這些參數包括一般內存設置、網絡端口設置和存儲引擎特有的參數。
圖 3. MySQL 參數設置
圖片看不清楚?請點擊這裡查看原圖(大圖)。
健康狀態指示:這允許根據預定義的參數監視數據庫系統的健康狀態。
圖 4. MySQL 健康狀態指示
圖片看不清楚?請點擊這裡查看原圖(大圖)。
日志:這為 MySQL 提供錯誤日志和一般日志。
圖 5. MySQL 錯誤日志
圖片看不清楚?請點擊這裡查看原圖(大圖)。
管理 - 備份和恢復可以對數據庫進行在線和離線備份,還能夠恢復到特定時間點。用戶管理允許創建新用戶和組並分配特權。最後,還可以管理模式對象。
與 MySQL Administrator 工具一起提供的另一個工具是 MySQL Query Browser,它使管理員能夠通過拖放和點擊方式來管理數據庫對象以及創建、管理和優化查詢。與 MySQL Administrator 相似,Query Browser 也需要單獨下載和安裝。
MySQL 與 IBM DB2 Express-C GUI 的快速對比
回顧了 MySQL Administrator 之後,在研究 IBM DB2 Express-C GUI 功能之前,我們應該從總體上看看在這兩種數據庫中有什麼特性,缺少什麼特性。這樣的話,作為 MySQL DBA,您就可以快速地了解它們的差異,發現 IBM DB2 Express-C 提供的好處,避免一些誤解。
下面的表對比了 MySQL Administrator 當前版本和 IBM DB2 Express-C 中的可用特性。這個表還顯示了日常管理任務所需的其他 DB2 Express-C GUI 管理特性。DB2 Control Center 提供的特性比 MySQL Administrator 多得多。看一眼這個表就可以證實這一點。
表 1. MySQL 和 IBM DB2 Express-C GUI 管理功能對比 特性/功能 在 MySQL(MySQL Administrator)中是否可用 在 IBM DB2 Express-C(DB2 Control Center)中是否可用 備注 一般信息 服務器和服務信息 √ √ 這兩種數據庫都提供了與服務器和服務相關的信息。 一般管理(實例級) 創建/刪除實例 × √ 這個特性在 MySQL 中不可用。 啟動/停止實例 × √ 這個特性在 MySQL 中不可用。 實例靜默/非靜默 × √ 這個特性在 MySQL 中不可用。 設置通信協議 √ √ 但是,IBM DB2 Express-C 版本不只支持 TCP/IP 協議。它還支持其他網絡協議,比如 NetBiOS 和與 GUI 工具連接的命名管道。 應用程序連接的在線狀態 √ √ 這兩種數據庫都支持這個特性。 在線查看內存使用狀態 √ √ 這兩種數據庫都允許實時顯示內存使用情況。 實例活動監視 × √ IBM DB2 Express-C 版本提供以下領域中的性能監視:
應用程序性能
應用程序並發性
資源消耗
SQL 性能
鎖監視
一般管理(數據庫級) 創建/刪除數據庫 × √ MySQL 不支持這個特性。 連接數據庫/斷開連接 √ √ 這兩種數據庫都包含連接管理。 啟動/停止數據庫 √ √ 這兩種數據庫都提供啟動和停止數據庫的特性。 數據庫靜默/非靜默 × √ IBM DB2 Express-C 可以將用戶擋在數據庫外以便進行維護。 特權/授權管理 √ √ 這兩種數據庫都提供用戶和組管理,包括特權分配。 管理進行節流的實用程序 × √ IBM DB2 Express-C 版本的節流特性能夠根據高峰和低谷時段調整使用的資源。在高峰時段,進行節流的實用程序的 CPU 使用率會保持最低;在低谷時段則相反。進行節流的實用程序的一個例子是數據庫備份。 自動維護 × √ IBM DB2 Express-C 在以下領域提供自動維護:數據庫備份
表和索引的重組
優化的數據訪問
設計顧問 × √ IBM DB2 Express-C 版本提供設計顧問,這種內置機制的任務是幫助數據庫做出正確的配置決策。盡管它在以下方面都能夠發揮作用,但是我們主要關注的是索引建議。它能夠指出為了優化查詢需要構建哪些索引。索引
MQT
MDC
對表進行重新分區
MQT、MDC 和表重新分區要使用數據分區特性(DPF),因此這些特性只能在 DB2 for Linux, UNIX, and Windows 的其他版本中使用。DPF 需要單獨購買。
配置顧問 × √ IBM DB2 Express-C 版本的配置顧問是一種內置機制,它選擇優化的配置參數,從而幫助實現良好的數據庫性能。 配置參數 √ √ 這兩種數據庫都支持手工參數配置。 配置數據庫日志 √ √ 這兩種數據庫都支持數據庫日志配置。 數據庫備份和恢復 √ √ 這兩種數據庫都支持數據庫備份和恢復。 數據庫前滾 √ √ 這兩種數據庫都支持數據庫前滾。 顯示解釋計劃 × √ IBM DB2 Express-C 版本顯示圖形化的解釋計劃、總成本和與每個訪問路徑相關聯的成本。 為數據庫對象生成 DDL × √ IBM DB2 Express-C 允許管理員為數據庫對象生成 DDL。這些數據庫對象包括:表
視圖
索引
觸發器
序列
存儲過程
主鍵、引用完整性和檢查約束
用戶定義的函數
等等 ...
存儲管理 √ √ MySQL 支持對 MyISAM 和 InnoDB 表進行存儲管理。 應用程序連接的在線狀態 √ √ 與實例級上一樣,IBM DB2 Express-C 版本允許管理員監視連接到數據庫的所有應用程序。可以迫使某些或所有應用程序斷開與數據庫的連接。 數據庫活動監視 √ √ 與實例級上一樣,IBM DB2 Express-C 版本在以下領域提供了數據庫級性能監視:應用程序性能
應用程序並發性
資源消耗
SQL 性能
鎖監視
啟用和禁用 Web 服務 × √ 到目前為止,這是 IBM DB2 Express-C(版本 9)提供的最新最重要的特性之一。這個特性允許本機存儲/檢索 XML 數據,而不需要任何映射或轉換。 用戶和組管理 √ √ 這兩種數據庫都支持用戶和組管理,包括特權和授權。 模式對象管理 √ √ 這兩種數據庫都支持管理模式對象。 事件監視 × √ IBM DB2 Express-C 版本以事件的形式跟蹤連接、死鎖、語句和事務。事件中收集的數據可以用來警告管理員應該注意某些異常情況。事件監視器的輸出可以寫入表、文件或命名管道中。 表空間管理 × √ IBM DB2 Express-C 版本支持表空間管理,包括創建、刪除以及執行備份和恢復。 緩沖池管理 √ √ IBM DB2 Express-C 提供了緩沖池管理,包括創建緩沖池、修改緩沖池的值以及刪除緩沖池。 健康狀態指示 × √ IBM DB2 Express-C 允許管理員通過設置健康狀態指示阈值來檢查數據庫的健康狀態。阈值可以在警告或警報級上設置。可以根據警告或警報向管理員發送通知,提醒他們采取糾正措施。另外,可以配置腳本或任務操作來解決問題,而不需要管理員的干預。這是 IBM DB2 Express-C 提供的自管理特性之一。 聯邦對象管理 × √ IBM DB2 Express-C 版本允許通過設置聯邦對象與外部數據庫進行通信。 XML 模式存儲庫(XSR)管理 × √ 從 IBM DB2 Express-C 9 開始,提供了本機 XML 存儲和檢索功能。IBM DB2 Express-C GUI 功能
與 MySQL 相反,IBM DB2 Express-C 版本附帶了一組豐富的工具,這些工具不需要單獨下載和安裝。因此,在進行典型、定制或完全安裝之後,管理員就可以使用全部的 GUI 管理功能。DB2 Express-C 附帶的 GUI 工具可以分成以下幾類(這裡只提及 GUI 工具):
一般管理工具
Control Center
Journal
License Center
Replication Center
Task Center
DB2 Control Center 是 DB2 Express-C 版本提供的 GUI 工具的中心。它支持日常操作任務,比如模式對象管理、用戶和組管理以及特權和授權管理。另外,它支持監視功能,比如以圖形化方式顯示內存使用情況和事件監視,從而可以執行各種任務來解決性能問題。DB2 Control Center 包含三個控制外觀的選項。管理員可以在啟動時選擇 Basic、Advanced 或 Custom。盡管 DB2 Control Center 本身非常全面,對於管理員已經足夠了,但是還可以使用 DB2 Express-C 附帶的插件來擴展它。這些擴展使 DB2 Control Center 能夠在菜單樹、工具欄和彈出菜單中包含對象。
Journal 工具記錄歷史事件,比如任務歷史、數據庫活動、數據庫消息和通知日志。它常常用來對過去數周的事件進行審計。
Task Center 用來創建作業或任務的調度計劃。任務可以根據定義的成功或失敗碼運行。
圖 6. 一般管理工具
信息
Check for DB2 updates
Information Center V9.0
監視工具
Event Analyzer
Health Center
Indoubt Transaction Manager
Memory Visualizer
Event Analyzer 工具用來分析 Event Monitor 生成的事件數據。Event Monitor 用來監視數據庫的性能;它提供關於數據庫對象(比如表、緩沖池、表空間)和應用程序級監視器(比如連接、SQL 語句、死鎖等等)的信息。
圖 7. 監視工具
設置工具
Activity Monitor
Configuration Assistant
Configure DB2 .Net Data Provider
Default DB2 Selection Wizard
First Steps
Register Visual Studio Add-Ins
圖 8. 設置工具
盡管 Replication Center、DB2 .Net Data Provider 和 Visual Studio Add-Ins 是可用的,但是這裡不討論它們。現在,我們詳細討論每個類別。
一般管理工具
對於執行日常的管理任務,DB2 Express-C 提供的工具主要是 DB2 Control Center、Journal 和 Task Center。但是,DB2 Control Center 可以完成的管理任務太多了,我們無法詳細地一一講解它們。
Control Center
DB2 Control Center 可以執行許多任務,從模式對象管理、用戶和組管理以及特權和授權管理等日常操作,到用來解決性能問題的監視功能,比如以圖形化方式顯示內存使用情況和監視各種任務。可以通過 DB2 Control Center 執行的管理任務分為兩類:在實例級操作的任務和在數據庫級操作的任務。
DB2 實例級管理 - 如下所示,可以使用 DB2 Control Center 進行 DB2 實例級管理:
圖 9. DB2 實例管理
在可以使用 DB2 Control Center 執行的實例級管理任務中,我們主要關注參數配置、應用程序連接監視、內存利用率和活動監視。
參數配置 - 這是根據環境修改參數的簡便方法。沒有在文件級更新參數的選項。盡管這些參數可以在線修改,但是也提供了命令行處理程序(CLP)。要查詢數據庫實例參數,可以發出命令 GET DATABASE MANAGER CONFIGURATION;要更新它們,可以發出命令 UPDATE DATABASE MANAGER CONFIGURATION。注意,這些參數中的一部分要求實例重新啟動才能生效。例如,將 Adminstration 類別下的 AUTHENTICATION 參數從默認值 Server 改為 client,頁面上會出現以下輸出。在這種情況下,只有在實例重新啟動之後,新的值 clIEnt 才會生效。
圖 10. 修改身份驗證方法
圖片看不清楚?請點擊這裡查看原圖(大圖)。
在下面的 圖 11 中可以看到,在這個頁面中可以設置許多領域的配置參數。它們分為以下類別:
管理:管理級參數包括插件、授權和與連接相關的設置。
應用程序:應用程序級參數。例如,MAX_CONNECTIONS 指定每個數據庫分區允許的最大客戶機連接數量。在 DB2 Express-C 版本中,不能應用分區。
通信:與節點和數據庫發現相關的參數。
診斷:DB2 診斷,與 db2diag.log 相關的參數。例如,DIAGLEVEL 指定在 db2diag.log 中進行哪一級診斷。它的范圍是 0-4。
0 - 不捕捉診斷數據
1 - 只捕捉嚴重的錯誤
2 - 捕捉所有錯誤
3 - 捕捉所有錯誤和警告
4 - 捕捉所有錯誤、警告和信息性消息
環境:數據庫服務器的服務器環境參數。例如,參數 JDK_PATH 提供默認路徑 C:\Program Files\IBM\SQLLIB\Java\jdk,參數 NUMDB(默認值是 8)允許 8 個數據庫同時處於活動狀態。
監視器:快照監視器的相關 開關。
並行:只在使用 DPF 的 DB2 for Linux, UNIX, and Windows 高級版本中使用。這不能應用於 DB2 Express-C 版本。
性能:與性能相關的參數。
圖 11. 參數配置
圖片看不清楚?請點擊這裡查看原圖(大圖)。
另外,還可以從 DB2 Control Center 活動面板調用這些參數配置。
圖 12. 調用參數配置 — 替代方法
應用程序連接監視:監視誰和哪些應用程序正在連接數據庫的快速方法。可以在這個頁面中獲得的值是:
連接(本地或遠程)
數據庫名
應用程序名 - 連接同一行中列出的數據庫的應用程序。
狀態
應用程序處理程序
授權 ID
圖 13. 應用程序連接
圖片看不清楚?請點擊這裡查看原圖(大圖)。
實際上,還可以監視一個應用程序獲得的鎖的總數以及鎖鏈如何使多個應用程序發生關聯。這樣的話,就可以在線監視鎖的使用情況,開發人員或管理員還可以監視可能出現的死鎖。例如,下面的圖形用來監視鎖。
圖 14. 應用程序鎖鏈
最後,當發生某些情況時,可以迫使應用程序離線。這對於某些不允許連接的維護任務是必要的。迫使應用程序離線通常以異步方式完成。
查看內存使用情況:在線監視共享內存和私有內存。
圖 15. 實例級內存監視
活動監視:通過監視資源消耗、應用程序並發性和 SQL 語句性能來監視應用程序的性能。設置活動監視需要幾個步驟(取決於您選擇的選項):
選擇要監視的數據庫。選擇數據庫之後,點擊 Next。
圖 16. 選擇要執行活動監視的數據庫
假設我們通過定制一些選擇來監視四個預定義監視任務之一,Tuning the dynamic SQL cache。對於這個任務,最好復制系統定義的任務來創建一個用戶定義的任務,然後點擊 Continue。下圖顯示我們所做的操作。還要注意,根據選擇的監視任務的不同,左上角列出的步驟會有所不同。
圖 17. 選擇要執行的監視任務
選擇 Tuning dynamic SQL statement cache 單選按鈕並點擊 Next,就會進入下一個頁面。為了簡化,我決定只監視預定義列表中的三個選項。任何種類的監視都不是沒有開銷的。記住,在同時運行幾個監視任務時,性能會受到損害。
圖 18. 選擇動態 SQL 緩存報告
DB2 數據庫級管理:對於 DB2 Express-C 數據庫,可以執行許多數據庫級管理任務。例如,右擊希望執行任務的目標數據庫,會看以下列表:
圖 19. 數據庫級的任務
盡管這個列表很長,但是我們只關注以下幾個任務,因為其他任務的作用是一目了然的:
AuthoritIEs & privileges(權力和特權):在這個頁面中進行用戶和組的權力管理。在默認情況下,創建數據庫的用戶被授予對這個數據庫的最大權力。可以通過選擇權力列表,將權力授予用戶或組。
圖 20. 管理權力
如果沒有特權,權力就不完整。授予權力就是允許執行某一任務,而以特定方式訪問數據庫對象需要特權。要使用 Control Center 管理特權,應該使用 User and Group Objects,在這個圖標下面有用戶和組管理。點擊一個用戶就會顯示選項;這裡列出所有數據庫模式對象特權,可以為每個用戶或組選擇或取消選擇這些特權。
圖 21. 管理特權
UtilitIEs management(實用程序管理):進行節流的實用程序(比如備份和 runstat)可以是對資源敏感的。通過使用節流特性,甚至可以在高峰時段使用這些實用程序。它確保生產系統中高峰時段的工作負載不與進行節流的實用程序發生沖突。這些實用程序在適當的時候利用(或者說 “偷取”)CPU 周期,而不會影響當前的生產工作負載。例如,對於備份操作,可以用某一優先級設置節流特性。
圖 22. 節流管理
Configuring automatic maintenance(配置自動維護):從 8.2 版本開始,在 DB2 for Linux, UNIX, and Windows 中就有了自動維護。它提供了自動維護備份、重組和 runstat 等活動的方法。管理員只需要打開自動開關就可以讓這些活動進行自管理。通常,DB2 會根據某些條件決定是否需要進行維護。如果需要維護,就會在下一個維護時間窗中執行自動維護。也就是說,可以完全讓 DB2 自己選擇執行維護的時機,因為它有能力判斷什麼時候需要進行維護。(您不可能指望更多了,因為 DB2 知道最佳時機)。換句話說,即使指定了維護時間窗,如果 DB2 認為沒有必要進行維護,它就可以選擇忽略維護。最後,還可以通知負責維護活動的人。配置自動維護的步驟如下:
點擊 Next 以便打開自動維護。另一個選項是禁用自動維護。
圖 23. 自動維護 - 步驟 1
在這一步中,可以配置在線和離線維護時間窗。DB2 Express-C 提供的節流特性使在線維護時間窗成為可能。
圖 24. 自動維護 - 步驟 2
為了添加要通知的聯系人,可以搜索網絡上可用的 SMTP 服務器,選擇 Test 按鈕來測試輸入的電子郵件地址。設置了聯系人之後,發生維護活動時就會通知列表中的用戶。
圖 25. 自動維護 - 步驟 3
當前,只有三種活動可以進行自動維護:備份、重組和 runstat。在這個頁面上,可以選擇運行在線或離線維護時間窗,選擇是否進行自動維護和通知。
圖 26. 自動維護 - 步驟 4
圖片看不清楚?請點擊這裡查看原圖(大圖)。
最後,顯示一個總結頁面,其中總結了前面所做的選擇。
圖 27. 自動維護 - 步驟 5
Design Advisor(設計顧問):這個工具根據一組條件部署智能化的 DB2 構建,從而提高工作負載性能。對於管理員,這個設計顧問幾乎是完美的。您是否曾經花費大量時間只是為了決定創建哪些索引來優化查詢訪問?盡管這個特性主要用於 DB2 系列產品的其他特性(比如 MQT 和 MDC)的優化,但是對於 DB2 Express-C 來說,它可以用來優化索引的創建,比如什麼時候創建索引和創建哪些索引。讓設計顧問對索引進行評估的步驟如下:
選擇 Indexes。
圖 28. 配置設計顧問 - 步驟 1
輸入工作負載名稱和用戶 id。可以通過導入、添加或修改 SQL 來改變工作負載中的 SQL。
圖 29. 配置設計顧問 - 步驟 2
圖片看不清楚?請點擊這裡查看原圖(大圖)。
選擇要更新表統計數據的表。在下一步中點擊 Next,因為我們采用默認值。
圖 30. 配置設計顧問 - 步驟 3
可以立即進行建議計算,也可以以後進行。另外,還可以限制執行這種計算所需的總時間。我們采用默認值 10 分鐘。
圖 31. 配置設計顧問 - 步驟 4
建議計算對評估前後的開銷進行分析,我們可以通過其結果決定保留或取消哪些索引。
圖 32. 配置設計顧問 - 步驟 5
不但可以發現需要哪些索引,還可以發現哪些索引對於指定的工作負載是多余的,因此可以刪除它們。通常情況下,一定要刪除不影響工作負載的索引。要認識到,我們有時候會創建不必要的索引,當設計顧問指出它們時就應該刪除它們。
圖 33. 配置設計顧問 - 步驟 6
Configuration Advisor(配置顧問):有時候,管理員無法決定數據庫應該使用什麼參數值。通過在配置顧問中執行幾個簡單的步驟,管理員可以獲得是否需要手工調整參數的建議。配置顧問應該定期運行,因為數據庫對象和系統環境會隨時間變化。
選擇數據庫管理程序可以使用的內存。
圖 34. 運行配置顧問 - 步驟 1
選擇 OLTP 事務類型,因為這是最適合 DB2 Express-C 版本的類型。
圖 35. 運行配置顧問 - 步驟 2
選擇事務類型:長或短。另外,估計每分鐘的事務總數。
圖 36. 運行配置顧問 - 步驟 3
下一個步驟是決定要創建的日志文件的大小和數量。日志文件越大,性能越好,但是恢復時間也更長。
圖 37. 運行配置顧問 - 步驟 4
為了與表的大小匹配,需要執行下一步驟,從而確保建議的參數是准確的。例如,如果某些表最初只有 10000 行,但是以後增長到數百萬行,那麼配置顧問原來建議的參數值就不再合適了。在這種情況下,建議重新運行配置顧問。
圖 38. 運行配置顧問 - 步驟 5
下一個步驟決定 MAXAPPLS 參數。例如,允許的應用程序連接總數等等。
圖 39. 運行配置顧問 - 步驟 6
可以在這裡設置隔離級別,也可以從應用程序代碼動態地設置。在這個示例中,將它設置為 Cursor Stability,因為它對於比較小的環境是最合適的。注意,DB2 Express-C 版本在本質上符合 ACID。隔離級別決定在訪問數據時如何鎖定數據以及如何與其他進程隔離。
圖 40. 運行配置顧問 - 步驟 7
最後,會顯示建議的值,如果與當前值不一樣,就會以粗體顯示。因為 IBM 正在努力使它的數據庫服務器自動化,這些建議值是很可靠的。它給出了大量選項並考慮到了這些參數之間的關系,因此老練的 DBA 只需要提供少數幾個配置參數。對於維護數據庫的高性能,配置顧問提供了一個很好的起點。如果您只是聽說過這個特性,還沒有嘗試過,那麼最好盡快開始使用它。
圖 41. 運行配置顧問 - 步驟 8
配置參數:這是修改配置參數的一種手工方法。與實例級參數一樣,大多數數據庫級參數要求數據庫管理程序重新啟動才能生效。在數據庫級參數配置中,我們只關注以下類別(這與實例級配置相似,只是參數類別不同):
應用程序
環境
日志
維護
性能
恢復
狀態
圖 42. 配置參數
配置參數 的完整列表可以在網上獲得。通常,需要斷開所有應用程序的連接並重新啟動數據庫,參數設置才能生效。
備份和支持前滾的恢復:DB2 Control Center 允許離線和在線備份。它還允許 DBA 將數據庫前滾到某一時間點或最近的狀態。執行數據庫離線備份的步驟如下:
在介紹頁面上點擊 Next。在這個頁面上可以獲得少量信息。例如,正在使用循環日志,沒有為備份配置自動維護。
圖 43. 離線備份 - 步驟 1
指定要將數據庫備份到哪個文件系統並點擊 Next。
圖 44. 離線備份 - 步驟 2
注意,如果使用了循環日志,那麼只有離線數據庫備份選項是可用的,只能對數據庫進行完整的備份。可以選擇對備份活動進行節流和壓縮備份映像。
圖 45. 離線備份 - 步驟 3
我們可以保持性能參數為默認值。點擊 Next 之後,可以立即運行備份,也可以安排在以後運行。
圖 46. 離線備份 - 步驟 4
可以使用 DB2 Control Center 全面控制離線和在線備份,包括表空間級備份。還提供了支持前滾的恢復選項,使管理員只需幾次鼠標點擊就能夠快速備份和恢復數據庫。更好的是,還可以自動維護 備份。通過將備份設置為自動維護,管理員只需要處理異常事件,因此減輕了負擔。
解釋查詢和語句歷史:解釋查詢可以指出總開銷和 SQL 執行時的查詢路徑。為了獲得精確的開銷數據,必須運行 runstat 來更新統計數據。過時的統計數據會使整個解釋查詢及其訪問計劃失去意義。
圖 47. 解釋查詢
Web 服務:為了在數據庫中使用本機 XML 功能,必須啟用 Web 服務。DB2 Express-C 9 提供了本機 XML 查詢和存儲功能,這是 DB2 最大的 改進 之一。利用本機 XML 功能,XML 數據訪問的 性能 會顯著提高。為數據庫啟用 Web 服務支持很容易;在 DB2 Control Center 上,右擊數據庫並選擇 Web Services 和 Enable Web Services。啟用之後,出現以下屏幕。
圖 48. 啟用 Web 服務
Journal
Journal 是 DB2 Express-C GUI 管理功能的固有部分,它記錄歷史日志和發生的任務、數據庫事件、通知等事件。換句話說,發生的活動被在線記錄下來,以便進行歷史分析。
可以在 Control Center 中啟動 Journal,或者選擇 Start -> All Programs -> IBM DB2。有四個與 Journal 相關的選項卡。我們來詳細地看看它們。
Task History(任務歷史):所有失敗或成功的任務在任務歷史中都有對應的條目。通過查看任務歷史,管理員可以知道哪些任務已經成功地執行了。對於失敗的任務,管理員可以在 Task Center 中重新安排它們運行。除了任務的執行狀態之外,任務歷史還提供啟動時間、結束時間和持續時間。
圖 49. 任務歷史
圖片看不清楚?請點擊這裡查看原圖(大圖)。
還可以對顯示進行排序和過濾。例如,為了顯示最近執行的任務,選擇 Journal 面板底部向右的箭頭。可以根據您的喜好進一步定制預填充的視圖列表。
圖 50. 在 Journal 中選擇視圖
為了進一步定制顯示的外觀,點擊右下角的 VIEw 按鈕。可以用以下方式定制外觀:
通過過濾 - 可以選擇許多過濾參數,從而只顯示符合特定標准的內容。
圖 51. 在 Journal 中進行過濾
通過排序 - 為了對排序進行定制,將排序列移動到右邊的面板中。
圖 52. 在 Journal 中進行排序
圖片看不清楚?請點擊這裡查看原圖(大圖)。
通過對列進行定制 - 與對排序進行定制相似,將需要的列移動到右邊的面板中。
圖 53. 在 Journal 中對列進行定制
圖片看不清楚?請點擊這裡查看原圖(大圖)。
最後(但並非不重要),可以對單獨的任務執行幾個選項,比如編輯任務的細節、顯示統計數據等等。
圖 54. 任務歷史選項
例如,下圖顯示用來編輯任務細節的選項卡。請您自己研究它的使用方法。
圖 55. 編輯任務細節
最後,用一個新名字(比如 Backup-July 2006)保存剛才定制的視圖。對於其他的選項卡(數據庫歷史、消息和通知日志),我們只簡單地提一下,不做詳細介紹。
Database History(數據庫歷史):所有數據庫活動都記錄在數據庫歷史中。提供的列包括開始和結束日期、開始和結束時間等等。也可以對排序、過濾和列進行定制。
圖 56. 數據庫歷史
Messages(消息):可以像前面一樣對排序、過濾和列進行定制。
圖 57. Journal 中的消息
通知日志:可以像前面一樣對排序、過濾和列進行定制。
圖 58. 通知日志
圖片看不清楚?請點擊這裡查看原圖(大圖)。
Task Center
Task Center 是用來根據任務是否成功調度某一任務或任務集的 DB2 GUI 工具。Task Center 允許管理員執行以下任務:
DB2 腳本
操作系統腳本
任務的分組
Task Center 允許管理員設置電子郵件通知或者將通知發送到 DB2 Journal(見上面的討論)。它有分組功能,能夠根據返回的成功或失敗碼執行多個任務。成功和失敗碼是使用成功碼集設置的。這個編碼集定義了編碼范圍,這個范圍內的編碼被認為是成功的,所以如果返回碼在定義的范圍之外,那麼這個任務就被認為是失敗的。在默認情況下,返回碼集 0 被認為是成功的,而其他編碼都表示失敗。這樣的話,就可以根據以前的返回碼禁用或運行任務。
圖 59. 在 Task Center 中創建新任務
在下圖中可以看到,在創建新任務之後,管理員可以執行許多選項。例如,修改、啟用或禁用調度、通知和任務操作。另外,還可以將多個任務分組在一起。最後,可以利用歷史和統計數據進行審計。
圖 60. DB2 Task Center 中的任務選項
盡管可以在 DB2 Task Center 中創建新任務,但是數據庫備份這樣的任務常常是用 DB2 Control Center 執行的,然後再進行任務調度。這一步驟通常會在 Task Center 中創建一項,所以對於比較簡單的任務不一定非在 DB2 Task Center 中創建新任務。例如,在備份向導的末尾是下面的任務調度設置:
圖 61. 在備份向導中調度任務
如果需要修改時間和日期,那麼點擊 Change 按鈕。可以將它設置為重復運行或只運行一次。
圖 62. 在備份向導中調度任務
監視工具
管理員的主要工作是確保系統的健康,所以監視系統的性能(包括網絡、服務器或數據庫級性能)應該是他們日常生活的一部分。即使有了適當的網絡帶寬和硬件,如果沒有適當的數據庫級調整和監視,那麼一個編寫得很差的 SQL 語句就可能使整個系統中斷。另外,利用數據庫對象監視,可以高效地使用索引並更精確地預測表的增長。
幸運的是,DB2 Express-C 通過提供監視工具解決了這個問題,這些工具包括 Event Analyzer、Health Center、InDoubt Transaction Manager 和 Memory Visualizer。這些工具在 DB2 Express-C 安裝時就提供了(不需要單獨下載),實現的監視詳細程度足以滿足大多數情況下的需求。對於運行非任務關鍵型應用程序的中小型數據庫,這些內嵌的監視工具完全可以滿足您的性能需求。要想使用更高級的工具監視 DB2 數據庫,可以選擇 IBM DB2 Performance Expert 等 DB2 工具。
管理員可以使用兩種監視方法進行監視,即快照 和事件監視;前者就像是用相機拍照,將某一時間點的數據庫狀態記錄下來;而事件監視記錄重要的數據庫日志信息,以便進行更好的分析。這兩種方法都允許將輸出重定向到文件或表,而且可以通過各種方式呈現,比如 GUI、CLP 或定制的代碼。例如,可以使用提供的 示例代碼 將快照輸出重定向到標准輸出。
在本文中,我們主要關注事件監視。
Event Analyzer
可以從 DB2 Control Center 創建事件監視器,而實際的分析在 Event Analyzer 中進行。Event Analyzer 可以分析事件監視器的數據,監視的目標包括數據庫對象(比如表、緩沖池、表空間)和應用程序級監視器(比如連接、SQL 語句、死鎖等等)。
創建事件監視器的步驟如下。
創建事件監視器很簡單;右擊 DB2 Control Center 菜單樹中的 Event Monitors 圖標,然後選擇 Create。
圖 63. 創建事件監視器 - 步驟 1
為了簡單,我們選擇三個要監視的事件:表、表空間和死鎖。注意,顯示的列表是當前可以監視的事件;其中的連接、事務和語句可以根據授權 id、應用程序 id 和應用程序名稱 等參數進行過濾。
圖 64. 創建事件監視器 - 步驟 2
創建事件監視器之後,就會在 DB2 Control Center 中登記一個項目。
圖 65. 在 DB2 Control Center 中登記的事件監視器
圖片看不清楚?請點擊這裡查看原圖(大圖)。
至少有兩種分析事件的方法:通過選擇 Start->All Programs -> IBM DB2 -> Monitor Tools -> Event Analyzer 來啟動 Event Analyzer,或者通過 DB2 Control Center 活動面板。啟動之後,從下拉列表中選擇要分析的監視器(一次只能選擇一個)。
啟動 Event Analyzer。
圖 66. 選擇要分析的事件監視器
可以查看事件監視器啟動以來或運行期間的所有記錄,也可以研究特定時間段的記錄來分析問題。
圖 67. 選擇監視的時間段
選擇了要查看的時間段之後,在左下角的 Navigate to 下拉列表中選擇一項,比如 table。
圖 68. 鑽探表事件監視器
Table 級鑽探顯示以下數據元素,其中的 data_object_pages 表示基表的大小,index_object_pages、lob_object_pages 和 long_object_pages 分別代表索引、lob 和長對象空間消耗。
圖 69. 表級數據元素
關於事件監視要注意的一點是,不要僅僅出於好奇而打開事件監視,因為進行監視會影響系統性能。
Health Center
Health Center 是與自動維護特性相關聯的。IBM 正在努力實現自動化的自管理數據庫環境,讓管理員可以避免執行某些比較重要的任務,Health Center 就是 IBM 在這方面采取的措施之一。它通過為數據庫對象設置阈值,應用 “按異常管理” 模型。在達到阈值時,會向負責的管理員發送警告。這樣的話,管理員就可以讓數據庫系統自己運行,直到收到警報時才進行干預。Health Center 是一個復雜的組件,它知道要監視什麼以及數據在 DB2 中是如何相互關聯的。簡單地說,在發生異常時,它會評估數據、進行適當的診斷並提出合適的解決方案建議。另外,管理員可以先閱讀建議的細節,然後再接收建議。既然 Health Center 是一個至關緊要的組件,我們將多花點兒時間討論它。
可以在 DB2 Control Center 中啟動 Health Center,或者選擇 Start->All Programs->IBM DB2->Montitoring Tools->Health Center。在主頁面中,可以看到以下內容(見圖 70):
Health Center 狀態標志:左邊面板上的彩色圖標顯示被評估對象的警報狀態。從左到右依次為:
處於警報狀態的對象
處於警報或警告狀態的對象
處於任何警告狀態的對象
所有對象
可以通過右擊數據庫來配置健康狀態指示、自動維護(前面討論過這個主題)和管理節流的實用程序。
可以深入每個警告。右擊一個警告,就會出現三個選項:
Show Details(顯示細節)這會顯示警告的細節。
Recommendation Advisor(建議顧問):這讓 DB2 建議適當的操作供管理員選擇。
Disable Evaluation(禁用評估):這個選項關閉評估。
可以通過過濾定制這個視圖,這樣管理員就能夠在主頁面中顯示特定的對象類別和列,從而更好地查看信息。
通知日志:可以在 Health Center 中查看通知日志。
警告通知:為警告通知配置要接收警告的管理員。
圖 70. Health Center - 主頁面
圖片看不清楚?請點擊這裡查看原圖(大圖)。
DB2 Express-C 附帶一組預定義的健康狀態指示,包括應用程序並發性、數據庫、內存 等類別。在後面的討論中,我們將糾正自動存儲利用率超標問題,並將警告阈值由默認的 90 改為 85。以下步驟說明如何通過幾次鼠標點擊完成這個任務。
為了糾正自動存儲利用率 問題,高亮顯示這個警告,右擊並選擇 Recommendation Advisor。
圖 71. 糾正健康狀態指示超標 - 步驟 1
這個向導首先提供足夠的描述,說明這個健康狀態指示是關於什麼的。還提供警告或警報的阈值。可以查看它捕獲的歷史數據(在默認情況下是 10 分鐘),這樣管理員就可以更好地了解這個警告的歷史。還可以閱讀其他信息來了解增長速度。
圖 72. 糾正健康狀態指示超標 - 步驟 2
點擊 Next 會提供兩個解決問題的選項。管理員可以選擇顯示所有建議,也可以只選擇最適合自己環境的建議。在這個示例中,我們只選擇第一個選項 —— 在數據庫中添加額外的存儲路徑。
圖 73. 糾正健康狀態指示超標 - 步驟 3
點擊 Launch 開始添加新的存儲路徑。DB2 Health Center 能夠根據上下文顯示適當的操作對話框。例如,在我們的示例中,將打開 add new storage path 窗口。但是,如果我們要糾正堆大小超標問題,就會啟動 Memory Visualizer。DB2 Health Center 會根據管理員選擇的建議解決方案顯示適當的界面。這樣就可以減少管理員糾正問題所需的總時間。
圖 74. 糾正健康狀態指示超標 - 步驟 4
在現有的 C:\ 中添加新的存儲路徑,比如 E:\。
圖 75. 糾正健康狀態指示超標 - 步驟 5
點擊 OK,就會顯示下面這樣的成功屏。點擊 Next 繼續。
圖 76. 糾正健康狀態指示超標 - 步驟 6
點擊 Close 接受修改。刷新健康狀態指示。現在應該沒有警告了。
圖 77. 糾正健康狀態指示超標 - 步驟 7
現在,我們要把警告阈值由默認的 90 改為 85。為了配置健康狀態指示設置,選擇 Selected->Configure->Health Indicator Settings。注意,Health Indicator Settings 旁邊是 Alert Notification 配置。
圖 78. 配置健康狀態指示設置 - 步驟 1
點擊 Object Settings,因為我們希望在單獨的對象上修改設置。Global Settings 選項可以讓設置在同一實例中全局地生效。但是,Object Settings 是優先的;如果兩者都設置了,那麼采用 Object Settings 中的設置。
圖 79. 配置健康狀態指示設置 - 步驟 2
在樹中找到數據庫 Sample。點擊 OK 繼續。這時會顯示參數頁面。
圖 80. 配置健康狀態指示設置 - 步驟 3
右擊 Database Automatic Storage Utility 並選擇 Edit。還要注意,在這個頁面中可以看到所有參數;有些參數打開了評估,其他參數在默認情況下關閉了評估。
圖 81. 配置健康狀態指示設置 - 步驟 4
圖片看不清楚?請點擊這裡查看原圖(大圖)。
將警告阈值改為 85。注意,選中了 Evaluation 框,敏感性(sensitivity)是 0 分鐘。如果在發生警告或警報阈值超標時,需要運行腳本來解決問題,那麼可以使用 Action 選項卡來定義一系列要運行的腳本或任務操作。最後,如果您認為需要進一步了解這個健康狀態指示,那麼點擊 Tell Me More 按鈕來獲得更多的解釋。
圖 82. 配置健康狀態指示設置 - 步驟 5
結束語
本文首先概述了 MySQL 的 GUI 管理功能,並通過一個對照表與 DB2 Express-C 進行了對比。其余部分介紹了 DB2 Express-C GUI 管理工具的特性和功能,向讀者解釋了如何在 DB2 環境中完成管理任務。DB2 Express-C 提供了豐富的智能化的 GUI 管理工具,可以執行對象管理、性能監視、自動配置等等任務,這些工具減輕了管理員的負擔,使他們不必執行某些重要的任務。