歡迎您光臨本站 註冊首頁
  
IBM® Informix® Dynamic Server (IDS) 因其管理的簡便性而聞名。OpenAdmin Tool (OAT) 是一種開放源碼的獨立於平台的新工具,它的開發讓 IDS 用戶可以輕鬆地管理伺服器。OpenAdmin Tool 提供用於執行管理任務的圖形界面和性能分析工具。OAT 是在 IBM Informix Dynamic Server 11.10 中引入的,它是一種基於 PHP 的 Web 瀏覽器管理工具,支持從單一位置管理多個資料庫伺服器實例。本文介紹非常有用的一些 OAT 特性並幫助您入門。

簡介

IBM Informix Dynamic Server 提供豐富的特性,能夠滿足不同用戶群的需要,包括開發人員和管理員。IDS 的優點之一是管理成本低。IDS 因其無需手動管理而聞名。OpenAdmin Tool (OAT) 是一種開放源碼的獨立於平台的新工具,它的開發讓 IDS 用戶可以輕鬆地管理伺服器。OAT 包含一個用於執行管理任務的圖形界面和性能分析工具。OAT 是在 IBM Informix Dynamic Server 11.10 中引入的,它是一種基於 PHP 的 Web 瀏覽器管理工具,支持從單一位置管理多個資料庫伺服器實例。非常有用的 OAT 特性包括 SQL Explorer、Session Explorer、Task Scheduler、Health Center、Space Administration、Server Administration 等等。除了 OAT 提供的內置特性之外,用戶還可以輕鬆地插入自己的擴展以創建所需的功能。本文介紹非常有用的一些 OAT 特性並幫助您入門。

前提條件

OAT 要求安裝以下產品。圓括弧中的版本是測試過 OpenAdmin Tool 的版本。圖 1 說明這些產品如何支持 OAT。

  • Web 伺服器 (Apache 2.2.6)
  • IBM Informix I-Connect 或 IBM Informix Client SDK (3.00)
  • PHP 5.2.4(最低版本),在啟用 PDO、PDO_SQLITE、GD 和 SOAP 的情況下編譯 (5.2.4)
  • Informix PDO Module

 


圖 1. OpenAdmin Tool 軟體組合

在 OpenAdmin Tool 附帶的 readme 文件中可以找到安裝說明(參見 參考資料)。

登錄並連接 IDS 伺服器

完成安裝之後,訪問 OAT 根 URL(例如,http://SERVERNAME/LOCATION,其中的 SERVERNAME 是運行 Web 伺服器的伺服器的名稱,LOCATION 是 OAT 在 Web 伺服器文檔根目錄中的位置,也就是解壓 OAT 的 tar 或 zip 的位置)。圖 2 顯示登錄屏幕:


圖 2. 登錄屏幕

在登錄屏幕的左上角有兩個單選按鈕,Login 和 Admin。默認選擇 Login。Group 列表框包含連接組名。可以使用默認組,也可以使用一個用戶定義的組,您的所有伺服器連接都屬於這個組。在選擇 Admin 單選按鈕時會啟用一些選項,可以通過選擇這些選項設置組的配置、伺服器的詳細信息及其密碼。

此屏幕上的 Get Servers 按鈕會顯示一個列表框,其中包含屬於所選組的所有伺服器連接。填充屏幕右邊的列表框。現在,單擊屏幕右邊的 Login 按鈕,就可以開始使用所選的伺服器連接。

選擇 Admin 單選按鈕就會切換到管理屏幕。管理屏幕提供用來配置 OAT、管理連接的選項。


圖 3. 打開管理菜單

OAT Config 選項

在管理菜單中,選擇 OAT Config 以設置運行 OAT 所需的參數。圖 4 顯示 OAT 配置屏幕。


圖 4. 配置屏幕

在此屏幕上,可以設置以下參數:


表 1. 配置參數
參數 說明
Default language 默認情況下,語言是英語。可以切換到德語
Base URL 這個 URL 指向 OAT 管理控制台
Install directory 安裝 OAT 之後,存放與 OAT 相關的所有文件和文件夾的位置
Connections database location 存儲與伺服器連接所需的資料庫詳細信息
Pinger interval 可以根據需求和環境設置此值。默認值是 300
IDS protocol 可以選擇 onsoctcp 或 ontlitcp 協議(onsoctcp 是默認協議)

Manage Connections:

可以使用 Manage Connections 添加組、添加連接或查看 Connection Admin 屏幕。

  • Add Group

 

在 Manage Connection 下面,選擇 Add A Group。屏幕應該與圖 5 相似。


圖 5. 添加一個新組

要想添加一個 IDS 伺服器組,需要提供您選擇的伺服器組名和伺服器組密碼。如果選擇 Read only,就會禁用此組中定義的所有伺服器的 OAT 管理特權,比如添加區塊(chunk)的特權。決定是否把此組標為 “Read only” 並單擊 Add 以確認添加此組。

 

  • Add Connection

 

添加新的 IDS 伺服器連接需要設置以下參數。


表 2. 添加 IDS 伺服器連接所需的參數
參數 說明
Group 每個伺服器連接都應該屬於已經定義的組。如果沒有選擇組名,新的伺服器連接就屬於 'Default' 組
Username IDS 伺服器所在的主機的用戶名
Password 與用戶名相關聯的密碼
Informix Server IDS 伺服器實例的名稱
Host Name 駐留 IDS 伺服器的主機的名稱
Port IDS 伺服器使用的埠號
Attributes 決定是在當前日誌後面添加邏輯日誌,還是在日誌的末尾追加它

緯度、經度和 IDS 埠值有助於確定 Informix 伺服器的位置。

選擇 Test the connection 按鈕測試連接。如果為參數提供的任何值是錯的,或者此伺服器關閉了,用戶可能會看到下面的錯誤消息。


圖 6. 連接錯誤消息

如果 Informix 伺服器正在運行,參數值也是正確的,就會成功地建立連接。用戶會看到成功消息(顯示 “online”),見圖 7。


圖 7. 連接成功消息

成功地測試這個新連接之後,單擊 Save 把它添加到選擇的組中。

 

  • Connection Admin

 

在 Connection Admin(圖 8)屏幕上,可以刪除不再需要的組。單擊要刪除的組旁邊的複選框,然後選擇 Delete。這會刪除整個組以及其中配置的連接。這個操作對於管理許多組的管理員很有用。


圖 8. Connection Admin 屏幕

OAT login

這個選項返回到前面解釋的 OAT 登錄屏幕。也可以通過直接單擊 Login 到達 OAT 登錄屏幕。

Health Center

可以通過 Health Center 全面了解系統和伺服器的狀態。Health Center 由警報和一個 dashboard 組成。

警報

如果單擊 Health Center > Alerts,就會看到與圖 9 相似的屏幕。可以選擇要查看的警報的嚴重程度、警報類型和狀態。還可以選擇以不同顏色顯示不同類型的警報,從而使輸出更清晰。


圖 9. Health Center 警報

管理 dashboard

如果選擇 Dashboard,就會看到系統的相關信息。Dashboard 提供兩個選項卡 —— Default 和 Space。Default 選項卡(圖 10)顯示系統的當前內存消耗量和事務信息,Space 選項卡(圖 11)包含關於 dbspace 和鎖的使用情況。


圖 10. Health Center dashboard —— Default


圖 11. Health Center dashboard —— Space

Logs

這個部分可以顯示與資料庫伺服器相關的各種日誌,包括管理命令、在線消息和 OnBar 活動。

  • Admin Command
如果選擇 Admin Command 選項,就會看到與圖 12 相似的屏幕,其中以表格形式列出通過 dbcorn 調度的命令的執行狀態。
圖 12. Admin Command

  • Online Messages
如果選擇 Online Messages 選項,就會看到資料庫伺服器的在線日誌的內容(圖 13)。錯誤和警告分別以紅色和黃色顯示。
圖 13. Online Messages

  • OnBar Activity

如果選擇 OnBar Activity 選項,就會看到資料庫伺服器配置變數 BAR_ACT_LOG 指向的文件的內容(圖 14)。這個日誌是在通過 OnBar 實用程序執行備份時生成的。錯誤和警告消息分別以紅色和黃色顯示。


圖 14. OnBar Activity 日誌

Task Scheduler

通過使用 OAT 的 Task Scheduler 特性,可以在預先指定的時間(或由伺服器內部決定的時間)運行維護、監視和管理任務。可以監視活動(例如,檢查空閑的日誌空間)並創建自動的糾正操作。可以使用一個基於 SQL 的管理系統和一組任務收集信息、監視和調整伺服器。

Task Scheduler 是由任務定義和驅動的。sysadmin 資料庫是帶有日誌信息的資料庫,其中包含存儲 Task Scheduler 信息的表。在默認情況下,只有 Informix 用戶有權訪問 sysadmin 資料庫。任務屬性存儲在 sysadmin 資料庫中的 ph_task 表中。此表中的每一行是一個單獨的任務,每個列是一個任務屬性。可以修改任務屬性,也可以通過在表中插入行來設置新任務。PH_RUN、PH_ALERT、PH_THRESHOLD、PH_GROUP 等表也與任務調度有關。關於這些表的更多信息,請參見 參考資料。

OAT 中的 Task Scheduler 分為三部分 —— Scheduler、Task Details 和 Task Runtimes,見圖 15。


圖 15. Task Scheduler

  • Scheduler

Dynamic Server 中的調度器包含下表所示的任務。可以使用 Task Scheduler 提供的 Task Scheduler Wizard 修改這些任務和設置新任務。表 3 給出修改任務和設置新任務所需的參數。


表 3. Task Scheduler 中的參數
參數 說明
mon_command_history 清空命令歷史表
mon_config 保存在 ONCONFIG 文件中所做的修改
mon_config_startup 在每次伺服器啟動時保存 ONCONFIG 文件
mon_sysenv 跟蹤資料庫伺服器啟動環境
mon_profile 保存伺服器概況信息
mon_vps 收集虛擬處理器信息
mon_checkpoint 保存關於檢查點的信息
mon_memory_system 監視系統內存消耗量
mon_table_profile 保存表概況信息,包括在此表上發生的更新、插入和刪除的總數
mon_table_names 保存表名和創建時間
mon_users 保存每個用戶的概況信息
check_backup 檢查備份是否已經運行
ifx_ha_monitor_log_reply_task 監視 HA 次級日誌重放位置
Alert Cleanup 從系統中刪除所有舊的警告項
post_alarm_message 發出警告的系統函數
Auto Update Statistics Evaluation 評估哪些列和表的統計數據和分佈應該刷新
Auto Update Statistics Refresh 刷新評估器建議的統計數據和分佈

圖 16. Scheduler 屏幕

單擊 Add New Task 按鈕,使用 Task Scheduler Wizard 定義新任務。


圖 17. Task Scheduler Wizard

有兩種調度器任務,任務和感測器。任務 (task) 在特定時間或以特定的時間間隔運行特定的作業。感測器 (sensor) 用來收集和保存信息。如果選擇 Run Only at Server Startup,那麼只在伺服器啟動時執行任務。

提供任務名稱、任務組(例如,DISK、NETWORK、CPU、BACKUP 等等)和描述。單擊 Next。圖 18 顯示這些步驟。


圖 18. New Task Setup Wizard

現在,要為新任務指定調度計劃,見圖 19。輸入任務的啟動和停止時間以及頻率。單擊 Next。


圖 19. 新任務的調度計劃

為了指定新任務應該運行的命令,在這裡輸入在每次運行任務時執行的多個 SQL 語句(以分號分隔)或一個用戶定義函數。


圖 20. 新任務運行的命令

Task Scheduler Wizard 的最後一個屏幕顯示新任務的設置匯總,要求用戶確認這些設置值。確認之後,就會創建新任務。

使用 Task Scheduler Wizard 創建感測器

正如前面提到的,DBA 可以使用感測器收集伺服器數據,從而維護關於伺服器上活動的歷史記錄。可以使用 Task Scheduler Wizard 創建感測器。與創建新任務相似,嚮導會提示您輸入感測器名稱、感測器組、描述、啟動時間、停止時間和頻率。

注意,在創建感測器時,有一個額外的輸入欄位 —— data delete(數據刪除)—— 這由日、時和分組成。在執行感測器時,收集的數據被存儲在一個用戶定義的表中,這個表是在創建感測器時創建的。“數據刪除” 指定從此表中刪除數據的時間間隔。應該根據 DBA 希望維護的數據歷史類型設置數據刪除時間間隔。與任務相似,必須提供在執行感測器時應該執行的 SQL 語句。完成這些步驟之後,新的感測器就會顯示在任務表中。

  • Task Details

輸入感測器的所有信息之後,可以查看 Task Details 屏幕,見圖 21。


圖 21. Task Details 屏幕

Task Details 屏幕的頂層顯示所有任務以及它們的組、描述、下一次執行時間和頻率。在屏幕頂部,“Group to View” 允許選擇特定類別的任務。例如,如果選擇 CPU 作為要查看的組,那麼表中只顯示 mon_vps 任務。要想進一步了解某個任務或修改任務的參數集,應該單擊 Name 列下面的任務名稱。然後就會看到一個顯示此任務的詳細信息的新屏幕。

圖 22 顯示任務的詳細信息屏幕:


圖 22. Task Details 屏幕


  • Task Runtime

Task Runtime 提供每個任務的運行情況匯總。匯總表提供的信息包括已經執行的次數、每次執行花費的平均時間、所有執行花費的總時間以及每個任務最後一次運行的時間。圖 23 顯示 Task Runtime 屏幕示例。


圖 23. Task Runtime 屏幕

通過單擊 Name 列下面的任務名稱,可以查看任務的詳細信息和修改任務。從 Task Runtime 訪問任務時,可以看到一個額外部分 Task Parameters。有一個名為 ph_threshold 的 sysadmin 表,它用來存儲調度器任務的閾值。在到達閾值時,任務可以決定採取不同的操作。任務參數就是指這些閾值。閾值實際上是任務的參數。圖 24 顯示系統定義的任務 'check_backup',它有兩個參數。只有在 ph_threshold 表中包含與此任務相關的數據項時,OAT 中才會顯示 Task Parameters 部分。


圖 24. Task Parameters

Space Administration

Space Administration 進一步分為三個部分,即:

  • Dbspaces
  • Chunks
  • Recovery logs

 

Dbspaces

在介紹 dbspace 及其使用之前,先介紹可以使用 OAT 創建的空間類型。

可用的空間類型有:

  • dbspace:dbspace 是一個邏輯單元,可以包含 1 到 32,766 個區塊(chunk)。把資料庫、表、邏輯日誌文件和物理日誌放在 dbspace 中。一個 dbspace 包含一個或更多的區塊。
  • 臨時 dbspace:臨時 dbspace 是專門為存儲臨時表保留的 dbspace。資料庫伺服器會清除自從資料庫伺服器上一次關閉以來可能留下的任何錶。
  • blobspace:blobspace 是一個邏輯存儲單元,它由一個或更多的區塊組成,其中只存儲 TEXT 和 BYTE 數據。可以把與不同的表相關聯的 TEXT 和 BYTE 列存儲在同一個 blobspace 中。
  • 智能 blobspace (sbspace):sbspace 是一個邏輯存儲單元,它由一個或更多區塊組成,其中存儲智能大對象。智能大對象包括字元大對象 (CLOB) 和二進位大對象 (BLOB) 數據類型。用戶定義的數據類型也可以使用 sbspace。

DATA 空間/BLOB 空間 —— 圖形表示和統計數據

圖 25 用圖形和統計數據顯示不同 dbspace 類型使用的空間 —— DATA 空間、TEMP 空間和 BLOB 空間。上半部顯示圖形,下半部以數據形式顯示相同的信息。


圖 25. DATA - BLOB 空間的圖形表示和統計數據

下面的 dbspace 表顯示以下信息:空間的名稱、空間的類型(dbspace 或 blobspace)、狀態、總大小、可用空間量、已用空間的百分比、空間佔據的區塊數量以及頁面大小。


圖 26. dbspace 內容表

如果在您的環境中有許多 dbspace,為了查看它們的詳細信息,可以使用表上面的下拉菜單(在 OAT 控制台上的圖形下面)選擇頁號。表右上角的 ALL 選項(也在 OAT 控制台上的圖形下面)把所有現有的 dbspace 顯示在給定的頁面上,這樣就可以在一個頁面上同時查看所有 dbspace。

創建空間

在 dbspace 表下面,可以使用 Create a Space 部分中的選項創建新的空間。圖 26 顯示創建空間的選項。


圖 27. 創建空間

只需提供以下參數,然後單擊 Create。


表 4. 創建新空間所需的參數
參數 說明
Name 要創建的空間的名稱
Path 新空間的路徑位置
Offset 空間的偏移量(如果有的話)
Size 所需的空間大小,應該根據需求和可用性決定
Type 要創建的空間的類型 —— dbspace、臨時 dbspace、blobspace 和智能 blobspace

如果成功地創建了空間,就會在 dbspace 圖形上面顯示以下消息。


圖 28. 成功創建了 dbspace


注意:創建的空間的名稱應該追加在路徑文本框中輸入的路徑後面。例如,如果名稱是 'myspace',路徑應該與 '/usr2/IDS1150/data/myspace' 相似。

如果沒有正確地指定路徑,就會在 dbspace 圖形上面顯示與圖 29 相似的錯誤消息。


圖 29. 創建 dbspace 時的錯誤消息


要想了解 dbspace 中的空間使用分佈情況,可以單擊 dbspace 表中列出的 dbspace 之一。這會顯示四個選項卡:Summary、Admin、Tables 和 Extents。

  • Summary

Summary 選項卡以圖形和統計數據兩種形式提供所選 dbspace 的相關信息。dbspace 信息是分頁提供的。在 'Dbspace Info' 表中顯示統計數據,右邊的餅圖顯示此 dbspace 的使用情況。

dbspace 信息包括 dbspace 的名稱、所有者、創建時間、頁面大小、數據和索引等佔用的頁面數量以及可用的空閑頁面數量。

  • Admin

可以在 Admin 選項卡上執行管理操作,比如刪除整個 dbspace、在現有 dbspace 中添加空間以及對 dbspace 表格式和 dbspace 區段(extent)執行完整性檢查。

Chunks 表的參數參見 表 6。

Drop space:在這裡,可以刪除整個空間。只需在下拉菜單中選擇 YES,然後單擊 Drop。對於 'rootdbs' dbspace,這個選項是禁用的。

Add space:在這裡,可以在現有 dbspace 中添加空間。這需要給以下變數提供適當的值:


表 5. 在現有 dbspace 中添加空間所需的參數
參數 說明
Path 新空間所處的路徑位置
Offset 空間的偏移量(如果有的話)
Size 所需的空間大小,應該根據需求和可用性決定
File Creation 可以選擇兩個模式之一 —— “Create file if none exists” 或 “File must exist”

Integrity of:可以通過檢查 'Dbspace Table Format' 和 'Dbspace Extents',檢查空間的完整性。

  • Tables

Tables 選項卡列出此 dbspace 中的所有表。dbspace 表列表提供的信息包括表名、與此表相關聯的資料庫名、與資料庫和表對應的 DB_LOCALE 值、表中的行數、創建表的日期和時間、分配給表的頁面數量、已經使用的頁面數量和區段數量。

  • Extents

Extents 選項卡列出與給定的 dbspace 相關聯的所有區段。dbspace 區段列表提供的信息包括表名、區段的起始地址和結束地址以及與它們相關聯的大小。

區塊

區塊是用於資料庫伺服器數據存儲的最大物理磁碟單元。區塊為管理員提供一個很大的磁碟空間分配單元。單一區塊的最大大小是 4TB。允許的最大區塊數量是 32,766 個。

如果選擇 Space Admin > Chunks,會看到兩個選項卡 —— Chunk 和 Chunk IO(見下圖)。在默認情況下,顯示 Chunk 選項卡的統計數據。

下面的表是命令 “onstat -d” 的部分輸出。


圖 30. 區塊表

Chunk 選項卡中的表顯示與每個區塊的配置相關的詳細信息。


表 6. 區塊列表中的信息
說明
Chunk number 區塊號(單擊列標題就會反轉顯示次序)
Page size 此區塊中每個頁面的大小
Offset 空間的偏移量(如果有的話)
Size 此區塊佔據的磁碟空間
Free 與可用空間相關的統計數據
Used % 此區塊已經使用的空間百分比
Status 表示此區塊的狀態是在線還是離線
Path 路徑指向此區塊所處的位置

Chunks I/O

Chunks I/O 選項卡提供關於每個區塊執行的 I/O 的信息。下面的表描述 Chunk I/O 選項卡提供的信息。


表 7. Chunk I/O 選項卡提供的信息
欄位 說明
Chunk number 區塊號
Chunk path 區塊所處的位置
Reads 對區塊的讀操作總數
Writes 對區塊的寫操作總數

Recovery logs

Recovery logs 部分進一步分為四個部分 —— Logical logs、Physical logs、Checkpoint 和 Admin。

  • Logical Logs

邏輯日誌記錄對資料庫伺服器實例所做的修改。邏輯日誌記錄用於事務回滾、系統故障恢復等等。

如果選擇 Space Administration > Recovery Logs,在默認情況下會顯示 Logical logs 選項卡。頁面的上半部分現在有一個餅圖,顯示邏輯日誌的已用空間、空閑空間和已備份空間使用量。可以通過選擇 Data 按鈕顯示餅圖的統計信息。


圖 31. Logical Log Status

下半部分提供邏輯日誌的狀態信息。Number 列顯示邏輯日誌的編號。第二列顯示每個邏輯日誌的惟一 ID。Size 列顯示每個邏輯日誌的大小,第四列 Used 表示每個邏輯日誌上已經使用的空間量。Location 列顯示每個邏輯日誌所處的位置。

Last Filled 列顯示最後一次使用每個邏輯日誌的日期和時間。日期採用 YYYY-MM-DD 格式,時間採用 HH:MM:SS 格式。Notes 列顯示邏輯日誌的狀態。這些狀態包括 used、used and backed up、used and current 或 newly added。最後一列 Fill Rate 表示填充邏輯日誌的速度。填充速度表示為每秒位元組或每秒千位元組。

  • Physical Logs

物理日誌是資料庫伺服器上的一組磁碟頁面,用於存儲未修改的頁面拷貝(稱為 before-image)。

在 Physical Logs 選項卡上,有一個表和一個餅圖。Physical Log Info 表包含物理日誌的相關信息,包括大小、已用空間量、物理日誌的位置、起始偏移量和緩衝區大小。

另一方面,餅圖表示可用空間和物理日誌使用的空間。單擊圖右上角的 Data 選項卡,就會以數字形式顯示相同的信息。

  • Checkpoint

檢查點是指資料庫伺服器在特定的時間點對磁碟上的頁面和共享內存緩衝區中的頁面進行同步。

在檢查點過程中,資料庫伺服器會在消息日誌中寫一條檢查點完成消息。

下面的表是在 Chunk 選項卡上獲得的,它是命令 “onstat -g ckp” 的部分輸出。


圖 32. 檢查點的信息

下表說明 Checkpoints 表中的列:


表 8. Checkpoints 表中的列
說明
Interval 檢查點間隔 ID
Type 指定檢查點的類型,可以是四種檢查點類型之一:block、hard、norm 和 unblock
LSN 記錄檢查點的邏輯日誌位置
Trigger 觸發檢查點的事件;這些事件包括 Admin、Startup、CKPTINTVL、LongTX、Recovery、Backup、Plog、Llog、Misc、RTO、CDR、Pload、Conv/Rev、Reorg、HDR、User 和 Lightscan
Time 發生檢查點的時鐘時間 —— 星號 (*) 表示請求的檢查點是事務阻塞檢查點
Block time 此檢查點的各個事務阻塞時間(秒數)
Crit time 等待釋放臨界區花費的時間
Flush time 刷新緩衝區池的時間(秒數)
Ckpt duration 所有事務意識到請求的檢查點的時間(秒數)
# Dirty Buffers 在檢查點期間刷新到磁碟上的臟緩衝區數量
# Waits 事務等待檢查點的平均時間(秒數)
  • Admin

    在 Admin 選項卡上,可以執行以下操作:

    • 執行檢查點
    • 添加邏輯日誌
    • 刪除邏輯日誌
    • 移動物理日誌

執行檢查點

在這裡,可以啟動兩種檢查點 —— 一般檢查點和同步檢查點。

添加邏輯日誌

選擇 Admin 選項卡 > Do checkpoint > Add logical log 選項。表 9 說明在添加邏輯日誌時需要提供的參數。


表 9. 添加邏輯日誌所需的參數
參數 說明
Dbspace name 選擇可用的 dbspace 之一,將在此 dbspace 上添加日誌
Size 根據需求指定邏輯日誌的大小(以 KB 為單位)
Number 需要添加的日誌總數,值範圍在 1 到 6 之間
Attributes 決定是在當前日誌後面添加邏輯日誌,還是在日誌的末尾追加它

刪除邏輯日誌

選擇 Admin 選項卡 > Do checkpoint > Drop logical log 選項。表 10 說明在刪除邏輯日誌時需要提供的參數。


表 10. 刪除邏輯日誌所需的參數
參數 說明
Logical log number 這個下拉列表列出現有邏輯日誌的編號和位置。選擇希望刪除的日誌(每次只能選擇一個日誌)
確認 選擇 Drop logical log 確認刪除邏輯日誌。如果不肯定是否應該刪除邏輯日誌,那麼選擇 Do not drop logical log

移動物理日誌

選擇 Admin 選項卡 > Do checkpoint > Move physical log 選項。表 11 說明在移動物理日誌時需要提供的參數。


表 11. 移動物理日誌所需的參數
參數 說明
Dbspace name 選擇可用的 dbspace 之一,將把日誌移動到此 dbspace 上
Size 根據需求指定物理日誌的大小(以 KB 為單位)
確認 選擇 Move physical log 確認移動物理日誌。如果不肯定是否應該移動物理日誌,那麼選擇 Do not move the physical log
  • Recovery Policies

在 Recovery Policies 選項卡上,可以配置 Recovery Time Objective、打開或關閉 Auto Checkpoints 和 Auto LRU Training 以及保存設置。可以關閉 Recovery Time Objective,還可以把它的值調整為 30 秒到 30 分鐘之間的任何值。對於 Auto Checkpoint 和 Auto LRU Tuning,只能選擇打開或關閉。

Server Administration

這個部分有助於查看資料庫伺服器和執行伺服器管理操作。有多個子選項可以補充 Server Administration 部分的功能。

  • MACH

這是 IDS 11.10 和 IDS 11.50 的關鍵特性之一。此特性有助於維護高可用性數據複製 (HDR)、遠程單獨輔助伺服器 (RSS) 和共享磁碟輔助伺服器 (SDS)。不久後會發表一篇詳細解釋此特性的文章。

  • 配置

這顯示 ONCONFIG 文件中聲明的配置參數。每一行都顯示參數名、當前值以及此參數是否可以動態地配置(見圖 33)。單擊任何參數就會打開另一個屏幕,其中顯示參數名、描述和當前值;如果系統發現任何不妥當,還會顯示對值的修改建議;此外,還顯示關於參數作用的信息(見圖 34)。所有包含建議的行都用黃色突出顯示。還可以使用屏幕頂部的列表框過濾出推薦的和動態的參數。

Onconfig 文件


圖 33. Onconfig 文件的參數

Onconfig Parameter Details:


圖 34. 參數的詳細信息


  • 系統檢驗

這個特性檢查數據和區段的一致性和損壞,當前這是通過 oncheck 實用程序完成的。它提供很大的靈活性,可以在資料庫級檢查數據格式,也可以在表級進行檢查。可以檢查每個 dbspace 的區段。

單擊 Server Administration > System Validation 就會看到 Server Administration Check Validation 屏幕。圖 35 說明如何對數據和區段執行一致性和損壞檢查,並把檢查範圍收縮到表級。


圖 35. Server Administration 檢查 1

圖 36 顯示對每個 dbspace 的區段進行檢查:


圖 36. Server Administration 檢查 2

  • 用戶特權

可以使用這個特性在數據伺服器上聲明不同級別的用戶特權。根據選擇的選項不同,可以在資料庫級、表級和角色級聲明特權。

在資料庫級,用戶可以通過選擇適當的選項修改和創建特權,見圖 37。

要想在資料庫級管理特權,應該選擇希望修改的資料庫並選擇 Database-Level privileges 選項。填寫或修改用戶、特權和默認角色的信息。


圖 37. 管理特權 —— 資料庫級

在表級,可以看到當前對於每個表分配給每個用戶的特權。要想在表級管理特權,應該選擇希望修改的表並選擇 Table-Level privileges 選項。可以修改每個用戶對每個表的當前特權,以及聲明每個用戶對不同表的新特權。這個屏幕上的操作是基於菜單的,很容易管理。

圖 38 說明如何在表級管理特權。


圖 38. 管理特權 —— 表級


在 Manage Privileges 屏幕上,選擇 Roles 並填寫創建新角色所需的信息。圖 39 說明這個步驟。


圖 39. Server Administration —— 創建角色


  • Virtual Processors

可以通過 Virtual Processors 選項查看運行資料庫伺服器的虛擬處理器的當前狀態和使用情況。可以以圖形方式或數據格式查看數據。圖 40 顯示虛擬處理器的圖形示例。


圖 40. Server Administration —— 處理器

在需要時,還可以通過選擇屏幕底部的 Add 創建虛擬處理器。


圖 41. Server Administration —— 虛擬處理器

  • Auto Update Statistics

Auto Update Statistics 特性是本系列後面一篇文章的主題。

Performance Analysis

Performance Analysis 菜單分為四個部分 —— SQL Explorer、Performance History、System Reports 和 Session Explorer。可以通過 Performance Analysis 特性監視 IDS 的各個方面。


圖 42. Performance Analysis


  • SQL Explorer

    對整個系統進行性能分析的方法之一是研究執行的 SQL 查詢。這可以使用查詢鑽取特性來完成。可以通過查詢鑽取特性收集關於系統上執行的每個 SQL 語句的統計信息並分析語句歷史。查詢鑽取特性有助於判斷 SQL 語句的長度、每個語句使用的資源、執行語句的時間長度、等待資源的時間長度等等。此特性在默認情況下是關閉的,但是可以為所有用戶或特定的一組用戶打開它。

    使用配置參數 SQLTRACE 控制在資料庫伺服器啟動時的默認跟蹤行為。如果以默認配置啟用此特性,資料庫伺服器會跟蹤運行的最後 1000 個 SQL 語句,並提供這些語句的統計數據。可以修改 $INFORMIXDIR/etc/$ONCONFIG 文件的任何用戶都可以修改 SQLTRACE 配置參數的值,以此影響啟動配置。但是,只有 Informix 用戶和對 sysadmin 資料庫有連接特權的 DBA 才能使用 Administration API 命令修改 SQL 跟蹤特性的運行時狀態。控制跟蹤行為的信息包括:

    • 級別 —— 這可以是 low、medium 或 high。低級跟蹤捕捉語句統計數據、語句文本和語句迭代器。中級跟蹤捕捉低級跟蹤信息,再加上表名、資料庫名和存儲過程堆棧。高級跟蹤捕捉中級跟蹤涉及的所有信息,再加上主機變數
    • 要跟蹤的 SQL 語句數量 (ntrace)
    • 跟蹤緩衝區的大小 (size),以 KB 為單位
    • 模式 (mode) 指定跟蹤的範圍,即是針對系統上的所有用戶,還是只針對通過 Administration API task() 函數啟用了跟蹤的用戶


如果要存儲大量歷史信息,此特性所需的內存會很大。SQL 歷史跟蹤所需的默認空間量是 2MB。

在 SQL Tracing Admin 選項卡上,可以修改跟蹤參數,見圖 43。選擇 Modify 即可修改任何參數。


圖 43. SQL Explorer,SQL Tracing Admin 選項卡

在圖 44 所示的 Statement Type 選項卡上,可以按照語句類型執行查詢鑽取。系統中已經執行的語句按類型分組,還提供每個 SQL 語句組的統計匯總數據。語句類型包括 SELECT、INSERT、DELETE、UPDATE、CREATE、DROP 等等。在屏幕右邊還可以看到餅圖。選擇 Data 按鈕就會看到表格形式的語句數據。


圖 44. Statement Type 選項卡

可以通過選擇一個 SQL 語句類型(例如,SELECT 或 DELETE)查看語句級的詳細信息。選擇 SELECT 即可進入這個 SQL Type 選項卡,其中所有相同的語句被分到一組,見圖 45。


圖 45. SQL Type 選項卡

在 SQL Type 選項卡上,可以選擇感興趣的一個 SQL 語句,並通過單擊 Drill Down 進入 SQL List 屏幕,見圖 46。此屏幕顯示關於此 SQL 語句的每次調用的詳細統計數據。提供的統計數據包括運行此命令的用戶的用戶 ID、資料庫會話 ID、查詢的響應時間等等。


圖 46. SQL List 屏幕

在 SQL List 屏幕上,可以選擇感興趣的會話並單擊 Drill Down,從而獲得關於此 SQL 語句的詳細信息。SQL Profile 選項卡(圖 47)提供的統計數據包括執行的掃描、緩衝區讀寫的數量、頁面讀寫的數量、鎖請求和等待的數量、估計的行數、估計的優化器成本、返回的行數等等。


圖 47. SQL Profile 選項卡

與按 SQL 語句鑽取相似,還可以按事務時間鑽取性能統計數據。Transaction Time 選項卡是 SQL Explorer 的選項卡之一。這個選項卡顯示最近 100 個事務的事務時間。提供的信息包括會話 ID、對應的 SQL 語句數量、平均響應時間、最大響應時間、使用的平均內存量和處理的行數。圖 48 顯示 Transaction Time 選項卡。


圖 48. Transaction Time 選項卡

單擊 Drill Down 按鈕可以顯示特定事務的詳細信息。這會顯示此事務已經運行的 SQL 語句列表。還會顯示事務統計數據匯總。這些信息包括響應時間、此事務的 SQL 語句計數、估計的成本、排序統計數據、與鎖相關的詳細信息等等。可以使用 Drill Down 按鈕進一步鑽取到語句級。這會顯示特定語句的全部 SQL 信息,這在討論 SQL Profile 選項卡屏幕時已經解釋過了。


圖 49. Transaction 選項卡屏幕

還可以按頻率研究 SQL 語句。Frequency 選項卡按執行頻率列出 SQL 語句並顯示平均響應時間、鎖等待時間和 IO 等待時間。使用 Drill Down 按鈕進一步鑽取,研究各個語句的情況。


圖 50. Frequency 選項卡屏幕

Performance History

通過使用 Performance Analysis 中的 Performance History 菜單項,可以以圖形方式顯示資料庫操作影響性能的各個方面。它還以表格形式提供數據,幫助用戶分析伺服器的性能和採取適當的糾正措施。涉及的領域包括自動檢查點、磁碟讀、磁碟寫、磁碟刷新、區塊寫、前台寫、緩衝區讀、緩衝區寫、緩衝區等待、一般匯總信息(包括刪除、提交、鎖、死鎖、排序、掃描等)和 btree 掃描器。

這些圖覆蓋的時間範圍由在 sysadmin:mon_profile 表中可以找到的數據決定。mon_profile 表的內容由 dbcron 任務 'mon_profile' 填充,所以其中數據的時間範圍取決於運行此任務的頻率。在默認情況下,此任務每四小時運行一次。還會根據 mon_profile 任務的設置自動刪除數據。默認設置是七天,所以七天前的數據會從表中刪除,無法在這些圖中看到。2k、4k 等表示 dbspace(和區塊)可用的頁面大小。例如,如果用 8k 頁面創建 dbspace,那麼此 dbspace 中的區塊也採用 8k 頁面,因此頁面讀/寫和緩衝區讀/寫都是 8k 的。

System Reports

Performance Analysis 下面的 System Reports 菜單項幫助用戶生成關於伺服器不同方面的各種報告,例如磁碟使用量、內存池、表操作、性能、會話等等。這些報告向用戶提供採取必要措施所需的信息;例如,在磁碟空間不足時添加新的區塊,通過監視表鎖、內存使用量、虛擬處理器等檢查性能改進的效果,通過監視邏輯日誌確保日誌可用性,等等。

如圖 51 所示,報告分為 Disk、Performance、Network、SQL Tables 和 Users 幾類。每個類別包含幾個報告,例如如果在列表框中選擇 Disk 類別,會自動選擇 Disk Space Usage、Online Log、Logical Logs、View Checkpoints、Disk IO Levels、Server Admin Commands、Physical Log 和 System Backups 報告。使用 Create Report 按鈕生成這些報告的整合報告。


圖 51. System Report 屏幕

圖 52 顯示一個關於邏輯日誌的報告。此報告提供的信息包括日誌的總數、狀態(已備份、已使用、可用)、填充速度等等,這些信息有助於用戶決定是否需要添加新日誌以及執行一般的日誌維護。


圖 52. Logical Logs Report 屏幕

Session Explorer

顧名思義,Session Explorer 可以提供關於當前在伺服器上運行的所有用戶會話的詳細信息。圖 53 顯示典型的 Session Explorer 屏幕。


圖 53. Session Explorer 屏幕

單擊 SID 下面的會話 id,就可以看到會話的詳細信息。

Session Explorer 的 SQL 選項卡顯示 SQL 語句的 ID 和類型(INSERT、DELETE、SET ISOLATION、SET LOCK MODE 等)。只有使用配置參數 SQLTRACE 啟用 SQL 跟蹤,才能看到這些 SQL 語句。


圖 54. Session Explorer SQL 選項卡

Locks 選項卡提供與一個會話相關聯的所有鎖的相關信息。這些鎖可以是表級鎖、行級鎖、索引鎖等等。對於每個鎖,提供的信息包括應用此鎖的資料庫名:表名/索引名、鎖的類型(共享、排他、更新、位元組、意向共享、意向排他、意向共享排他等等)、持有此鎖的持續時間、鎖定的行的 ID 和鎖的等待者(如果有的話)。Index # 1 表示此鎖在索引上。Key Item Locked 是鎖定的索引項。


圖 55. Session Explorer Locks 選項卡

Session Explorer 的 Threads 選項卡提供屬於所選會話的線程的相關信息。一個用戶會話有一個相關聯的主線程;根據處理客戶機請求的方式不同,可能有許多其他線程。在 Threads 選項卡上,用戶可以看到當前線程、它們的 ID、優先順序、每個線程在虛擬處理器上運行的次數 (NUM_SCHEDULED)、每個線程在虛擬處理器上運行花費的時間 (TOTAL_TIME)、每個線程獲得的時間片段 (TIME_SLICE)、最近運行此線程的虛擬處理器的 ID (VPID)、每個線程的等待原因 (WAIT_REASON) 和 IO 等待。


圖 56. Session Explorer Threads 選項卡

Memory 選項卡提供關於一個會話的內存使用量和可用性的信息。Name 列列出內存池的名稱。NAME 列中的數字是會話 ID,因為會話的內存池是按會話 ID 跟蹤的。USED 和 FREE 列列出已用列表中的內存總量和空閑列表中的內存總量。這兩列使用 format_units 函數進行格式化。


圖 57. Session Explorer Memory 選項卡

Network 選項卡提供關於一個會話的網路使用情況的詳細信息。客戶機協議名顯示為 THREAD_NAME。還可以看到會話的起始時間 (SESSION_START)、會話的持續時間 (CONNECT_DURATION)、最近從網路讀的時間 (LAST_READ) 和最近向網路寫的時間 (LAST_WRITE)。在 AVERAGE_RECV、AVERAGE_SEND、RECEIVED_DATA 和 SEND_DATA 列中顯示通過網路發送和接收數據的情況。RECEIVED_DATA 是發送到此伺服器的位元組數,SEND_DATA 是伺服器發送給客戶機的位元組數。網路讀和網路寫數量用來計算顯示的平均值。


圖 58. Session Explorer Network 選項卡


可以通過 Environment 選項卡全面了解伺服器和會話環境。Environment 選項卡列出伺服器的啟動環境設置和會話(即客戶機)級的環境變數。


圖 59. Session Explorer Environment 選項卡

Session Explorer 的 Profile 選項卡提供會話的匯總數據。與鎖相關的信息包括:Locks 是當前持有的鎖數量,Lock Requests 是請求的鎖數量,Lock Waits 是等待的鎖數量,Dead Locks 是探測到的死鎖數量,Lock Time Outs 是超時的鎖請求數量。與日誌相關的信息包括:Log Records 是此會話創建的日誌記錄數量,Log Space 是當前使用的日誌空間,Max Log Space 是曾經使用的最大日誌空間。


圖 60. Session Explorer Profile 選項卡

處理的行數(isam 讀,Rows Processed)、插入的行數(isam 寫,Rows Inserted)、更新的行數 (Rows Updated) 和刪除的行數等提供記錄級統計數據。Commits、Rollbacks 和 LongTXs 提供與事務相關的數據,分別表示提交數量、回滾數量和長事務數量。Sequential Scans 是執行的連續掃描數量。與排序相關的信息包括:Sorts 是執行的排序操作總數,Disk Sorts 是在磁碟上執行的排序數量,Memory Sorts 是在內存中執行的排序數量(這是總排序數和磁碟排序數的差值)。Largest Sort 是磁碟上使用的最大排序空間。關於緩衝區的統計數據有兩個 Buffer Reads 和 Buffer Writes,它們分別表示對緩衝區的讀寫數量。

Foreground (FG) reads 和 FG writes 是在會話期間發生的一般讀寫操作。總之,Profile 選項卡可以提供關於會話各個方面的有用信息。

SQL Toolbox

SQL Toolbox 分為三個部分:

  • Databases
  • Schema browser
  • SQL editor

Databases

Databases 鏈接打開 Databases 選項卡,其中的餅圖不僅顯示每個資料庫佔用的空間的百分比,還顯示資料庫的列表。如果把滑鼠指針放在餅圖上面,指向每個資料庫部分,就會看到對應的百分數。單擊圖右上角的 Data 選項卡,就會看到統計數據。


圖 61. 關於各個資料庫的信息

注意,圖下面的 Databases 表在 Names 列下列出給定的 IDS 伺服器上的所有資料庫。Collation 列是資料庫的 DB_LOCALE 值。Create Date 列是創建資料庫的日期,採用 YYYY-MM-DD 格式。Logging 列顯示在創建資料庫時設置的日誌模式(buffered、unbuffered、ANSI compliant 和 not logged)。

Schema Browser

要想進一步研究每個資料庫的內容,單擊 Databases 表中列出的資料庫。這會激活 'Schema Browser'。在默認情況下,顯示 Tables 選項卡的內容。Tables 選項卡是 Schema Browser 的第一個選項卡,後面還有 SPL/UDR 選項卡。

Tables 選項卡列出所選資料庫中的所有表。用戶可以在任何時候使用屏幕右上角的選項選擇資料庫或 IDS 伺服器。Server 下拉菜單列出為所選的組定義的伺服器,Database 下拉菜單列出此 IDS 伺服器中的資料庫。

是否需要同時列出資料庫編目表?這由您決定。要想同時列出資料庫編目表,只需選中 Include Database Catalog Tables 框,然後選擇 Submit。如果執行此步驟,就會看到資料庫編目表;如果不這麼做,列表就不包含資料庫編目表。

圖 62 顯示 Tables 選項卡上的表:


圖 62. Schema Browser 的 Tables 選項卡


下表說明 Tables 選項卡上欄位的含義。


表 12. Tables 選項卡中的欄位
欄位 說明
Browse 這個圖標會打開 'Table Browse' 選項卡
Name 表、視圖或同義詞的名稱
Create date 創建表的日期
Table id 系統分配的順序標識符
Partnum 物理位置編碼
Rowsize 行大小
NRows 表中的行數
NIndexes 表中的索引數
Locklevel 表的鎖模式:
B = Page
P = Page
R = Row
Fextsize 初始區段的大小(以 KB 為單位)
Nextsize 所有後續區段的大小(以 KB 為單位)
Pages Used 使用的頁面數量
View  

在表 12 中列出的欄位中,Browse、Name 和 Partnum 列可以提供更多信息。單擊 Browse 列中的圖標,就會在 SPL/UDR 選項卡旁邊打開 'Table Browse' 選項卡。這個選項卡列出查詢 ' select * from tabname;' 的輸出,其中的 tabname 是與圖標相關聯的表的名稱。

選擇 Name 列下面列出的一個表就會打開 Column Info 選項卡,其中描述表列的屬性。提供的信息包括列名、列類型、列長度和擴展類型。表的 Column Info 選項卡如下所示。


圖 63. 表的 Column Info 選項卡

選擇 Partnum 列中的值就會打開一個窗口,其中顯示相應的分區信息,如下所示。


圖 64. 分區信息

SQL Editor

在 SQL Editor 中,可以輸入或粘貼 SQL 語句,然後執行它。要想執行 SQL 語句,需要單擊 Run Query。可以通過單擊 Save query to file 保存 SQL Editor 中的查詢。在把查詢保存到文件時,OAT 會自動生成一個文件名,此文件名的末尾是一個數字,用戶每次把查詢保存到文件時會遞增此數字。


圖 65. SQL Editor

注意在圖 65 中,在 SQL Editor 窗口中輸入了兩個 SQL 語句,語句之間以分號分隔。在使用 'Run Query' 按鈕執行以上查詢時,結果顯示在單獨的 Results 選項卡中,見圖 66。


圖 66. SQL 結果

除了 Results 選項卡中顯示的結果之外,還會看到與圖 67 相似的消息。


圖 67. SQL Editor 導入限制


此消息指出只執行第一個分號前面的查詢,這個分號後面的所有查詢都被刪除。

限制產生的輸出:可以使用 SQL Editor 提供的以下選項限制執行查詢產生的輸出。


表 13. 限制查詢產生的輸出
選項 說明
Text/Clob column option 選擇對 Text/Clob 輸出的處理方式;選擇以下選項之一限制查詢輸出:

Show All
Show 255 Chars
Show in File
Show Size only
Ignore Column
Byte/Blob column option 選擇對 Byte/Blob 輸出的處理方式;選擇以下選項之一限制查詢輸出:

Ignore Column
Show in File
Show Size Only
Show As Image
Number of rows 對於包含 order by、group by、子查詢、union 和聚合的查詢,可以通過在此文本框中設置值來限制獲取的行數。用戶也可以使用 'Reset' 按鈕複位此值。

導入查詢:還可以導入現有文件中的查詢。為此,只需單擊 Browse,找到文件,然後單擊 Import。文件中的查詢會出現在 SQL Editor 窗口中。注意,就像在解釋 Run Query 時一樣,在導入時只把第一個分號前面的查詢導入到 SQL Editor,這個分號後面的所有查詢都被刪除。然後,可以執行嵌入的查詢,結果會顯示在 Results 選項卡中。

結束語

OpenAdmin Tool 是一種高效的 IDS 資料庫管理前端工具。在本文中,我們介紹了許多 OAT 組件並描述了如何使用它們。閱讀本文之後,您應該能夠用此工具連接 IDS 實例、管理連接組、執行基本操作、執行各種管理功能、生成相關報告、根據需要顯示足夠的信息和執行查詢。在本系列的後續文章中,將學習如何從 Informix Server Administrator 遷移到 OAT,以及如何使用 OAT 分析伺服器性能。(責任編輯:A6)



[火星人 ] 用 IDS OpenAdmin Tool 管理 Informix 資料庫,第 1 部分: 在 IDS 中配置和使用 OpenAdmin Tool已經有1386次圍觀

http://coctec.com/docs/linux/show-post-69032.html