安裝與架構補充資料

啟用多位置更新 (兩次處理保證)

本節提供多位置更新功能的概觀, 此功能適用於與主電腦和 AS/400 資料庫伺服器有關的實務範例。 它說明執行 PC、UNIX 和 Web 應用程式所需的產品和元件, 這些應用程式在相同異動中更新多重 DB2 資料庫。

多位置更新,亦稱為分散式工作單元 (DUOW) 和兩次處理保證, 這種功能可讓應用程式更新多重遠端資料庫伺服器中的資料,同時保證資料完整性。 銀行業務異動是一個很好的範例, 因為它從一個帳戶將金錢傳送到不同資料庫伺服器上的另一個帳戶,

在這種異動中,對某帳戶執行借款作業的更新不能被確定, 除非處理貸款給其它帳戶的更新也確定之後才能確定,這點很重要。 當代表這些帳戶的資料由兩個不同的資料庫伺服器管理時,適用多位置更新。

DB2 產品提供多位置更新的廣泛支援。 此支援可用於使用一般 SQL 發展的應用程式, 也可用於利用異動監督程式 (TP 監督程式) 產品來執行 X/Open XA 介面規格的應用程式。 這類 TP 監督程式產品的範例包括 IBM TxSeries (CICS 及 Encina)、 IBM Message and Queuing Series、IBM Component Broker Series、 IBM San Francisco Project,以及 Microsoft Transaction Server (MTS)、BEA Tuxedo 及其他等等。 其設定需求各異,根據使用原生 SQL 多位置更新或 TP 監督程式多位置更新而定。

原生 SQL 和 TP 監督程式多位置更新程式,兩者都必須經過使用 CONNECT 2 SYNCPOINT TWOPHASE 選項來前置編譯。兩者均可使用 SQL Connect 陳述式,指出要用於後面 SQL陳述式的是哪一個資料庫。 如果沒有 TP 監督程式告訴 DB2 要協調異動 (一如 DB2 所指示, 從 TP 監督程式接收 xa_open 呼叫來建立資料庫連接), 則將使用 DB2 軟體來協調異動。

使用 TP 監督程式多位置更新時,應用程式必須使用 TP 監督程式的 API, 例如,CICS SYNCPOINT、Encina Abort()、MTS SetAbort(), 來要求確定或回捲。

使用原生 SQL 多位置更新時, 必須使用一般的 SQL COMMITROLLBACK

TP 監督程式多位置更新可協調存取 DB2 和非 DB2 資源管理程式 (如 Oracle、Informix、SQLServer...等) 的異動。 原生 SQL 多位置更新僅能與 DB2 伺服器一起使用。

要使多位置更新異動能夠運作,每一個參與分散式異動的資料庫, 都必須能夠支援分散式工作單元。目前,下列 DB2 伺服器提供 DUOW 支援,使它們能夠參與分散式異動:

分散式異動可更新任何支援的資料庫伺服器組合。 例如,應用程式可在單一異動中,於 Windows NT 或 Windows 2000 上的 DB2 Universal Database、 DB2 for OS/390 資料庫和 DB2/400 資料庫中更新數個表格。


[ 頁面頂端 | 前一頁 | 下一頁 | 目錄 | 索引 ]