賽迪網 > IT技術 數據庫 > 精彩更新
  IT資訊搜索
 
IT產品搜索
[程式開發][網管世界][網路安全][數據庫技術]
[作業系統][嘉賓聊天·線上訪談][活動集錦]
[精彩專題][Symantec專區][訂閱IT技術週刊]
[開發論壇][網管論壇][安全論壇][數據庫論壇]
[作業系統論壇][Sybase專區][IBM dW技術專區]
[病毒求助][病毒與漏洞播報][文檔·源碼下載]

Informix日誌分析工具onlog的具體應用

發佈時間:2008.07.24 09:11     來源:賽迪網    作者:Anna

【賽迪網-IT技術報道】Informix 數據庫安裝簡單,管理方便,性能強大,大量應用在金融電信領域的連線交易系統中。 Informix 提供的一系列管理工具幫助系統管理員快速的監控並收集數據庫的資訊,快速診斷問題提供了有效的手段。本文介紹使用 onlog 工具在一實際案例中怎麼追蹤分析事務處理過程,並最終排除系統故障。

onlog 工具簡介

onlog 命令可以用來顯示 Informix 數據庫的邏輯日誌內容,在數據庫處於 offline 狀態時,onlog 命令只讀取磁片上的邏輯日誌;而數據庫處於 quiescent 或者 online 模式,onlog 還會同時把共用記憶體中邏輯日誌緩衝區的內容一併讀出。因此 onlog 對分析追蹤數據庫在某個交易處理過程中對數據庫做了哪些修改,非常有用。

onlog 命令可以帶不同的參數來調用,詳細的命令說明請參考 Informix 《系統管理員參考手冊》。onlog –l 列出了詳細的邏輯日誌記錄,從中可以對一個事務相關動作進行跟蹤分析。

onlog –l 的輸出中 type 字段包含了該邏輯日誌記錄的類型,BEGIN 類型記錄標誌了一個事務的開始,時間是該事務的開始時間。一個完整的事務處理狀態在數據庫的邏輯日誌中是由一個記錄序列來記載的,由 BEGIN 型記錄開始,以 COMMIT 或 ROLLBACK 型記錄結束。如下圖 1 所示.

圖1.邏輯日誌片段示例

應用分析

某銀行系統對交易中間件平臺做了版本升級,涉及到數個應用系統:核心業務系統、網上銀行、IC 卡交易及國際結算。升級之後 IC 卡和網上銀行系統出現交易做不了的情況,網上銀行系統的跨域交易未能提交到數據庫系統( Informix ),中間件層面返回交易超時失敗。

經過對數據庫進行監控分析,數據庫沒有任何的故障現象,但是在交易中間件環節除了收到超時失敗錯誤資訊,也無法定位更詳細的錯誤情況。

於是便只有從從數據庫事務跟蹤的層次來追蹤在整個事務處理過程中數據庫做了哪些動作,用 onlog –l 生成邏輯日誌的詳細記錄,並根據時間找到相應時間段的邏輯日誌記錄。從下面的邏輯日誌片段中,我們找到了與我們失敗交易事務時間接近的 addr 為 cfb018、type 為 BEGIN 一條邏輯日誌記錄;下一條記錄是 addr 為 cfb040、type 為 HUPBEF 的記錄。

圖2.通過日誌跟蹤事務進程

繼續往下可以找到下面的邏輯日誌記錄資訊,addr 為 cfd14c,type 為 XAPRECOM,是 TP/XA 跨庫訪問的預提交指令,這條記錄表明數據庫已經做好提交的準備,一旦接受到 COMMIT 指令,則對整個事務進行提交。

圖3.搜尋事務提交時的日誌

繼續往下檢查邏輯日誌記錄,我們找到一條 XAPRECOM 的後續記錄,addr 為 d05050,類型為 ROLLBACK 的記錄,數據庫在接到 XAPRECOM 指令後,沒有做 COMMIT,而是做了一個 ROLLBACK。

圖4.搜尋事務的執行情況日誌

進一步比較 BEGIN 記錄到 ROLLBACK 記錄的時間,從 17:23:33 至 17:28:42 經歷了 5 分 09 秒。

檢查數據庫的 onconfig 配置參數,發現下面的設置:

TXTIMEOUT                                 0x12c

這是缺省的事務超時時間:5 分鐘, Informix 在接受到 XAPRECOM 指令後,等了 5 分中沒有收到中間件的的 COMMIT 或 ROLLBACK 指令,對 TP/XA 型事務在超時後自動做出了回滾。

據此判斷,交易的失敗原因不在數據庫層面,客戶進一步集中精力在中間件層面進行分析,最終排除了故障。

總結

Informix 的 onlog 命令提供了很好的數據庫事務級追蹤分析手段,在上面的實際案例應用中有效的通過事務追蹤排除了數據庫層面的問題,為準確定位問題並促成問題的最終解決提供了診斷手段。

(責任編輯:盧兆林)


[ 發表評論 ] 字體[  ] [ 列印 ] [ 進入博客 ] [ 進入論壇 ]  [ 推薦給朋友 ]
  相關文章
· 有關BCB連接Informix數據庫的參考示例 (06-25) · 使用標準I/O進行Informix同時備份和恢復 (06-25)
· 實例講解Informix日期邊界處理的缺陷問題 (06-25) · Informix數據庫記錄數過多引起的性能下降 (06-03)
· 用dbschema工具導出Informix數據庫的結構 (04-29) · 在Informix數據庫中釋放異常鎖資源 (04-24)
· Informix系統維護的特殊問題 (04-24) · Informix數據庫利用索引提高查詢效率 (04-24)
· Informix中查看和設置table的lock級別 (04-24) · Informix數據庫利用索引提高查詢效率 (04-24)
  客戶需求反饋表
* 姓  名:
更多資料  了解方案  認識廠商
* 單位名稱:
* 聯繫電話:
* 電子郵件:
  賽迪推薦  
  手機·資費 ·新品·導購·評測·手機資費·寬帶
手機搜索  諾基亞 N73 MOTO Z6
  IT產品 ·筆記本·臺式機·伺服器·列印·投影
IT產品搜索 
  IT技術 ·開發·網管·安全·數據庫·作業系統
  資訊化 ·熱點·專題·訪談·週刊·方案案例
· 駭客病毒現身互聯網 個人數據資訊受威脅
· ERP實施過程中項目管理失控的幾種表現
· 首屆贏在軟體創富大賽 SOA技術+應用
· 個人理財合規系統方案 方正電子公文系統
  IT博客 ·曾劍秋·項立剛·Java學習·網管
  IT技術論壇 ·開發·網管·安全·數據庫·系統