設定資料庫連線

InterChange Server 所使用的資料庫連線數目會隨著使用型樣而有很大的變化:

表 11 彙總 InterChange Server 使用資料庫的方式。

表 11. InterChange Server 使用資料庫的方式
環境 資料庫用途 讀取 寫入
執行時期 儲存庫服務 ×

事件管理服務 × ×

交易服務 × ×

流程監視服務 × ×
配置時間 系統管理程式 × ×
設計時間 程序設計程式 × ×

您可以限制 InterChange Server 所使用的 DBMS 連線數目, 方法為在 InterchangeSystem.cfg 檔中配置 MAX_CONNECTIONS 參數。 您可以使用這個參數來限制連線,不論伺服器是使用一個資料來源或多個資料來源。

注意:
當 InterChange Server 無法符合連線要求時, 伺服器的動作會隨著它為什麼需要連線而有所不同。 在某些情況中,伺服器可能僅記載一則錯誤訊息; 在其他情況中,它可能完全停止。基於這個理由, 您必須避免過多限制連線數目,以防 InterChange Server 無法符合工作負荷。如需如何檢查連線失敗之日誌的相關資訊, 請參閱 System Administration Guide

預設連線管理

根據預設值,InterChange Server 會在必要時開啟連線, 而且在它們閒置時,使它們逾時。伺服器也會管理使用同一資料庫的服務之間之連線資源的共用。

除非您使用 MAX_CONNECTIONS 參數來指定數目,否則沒有連線數目上限。然而,連線限制可能存在於 DBMS 伺服器配置中。 例如,「桌面」版的 SQL Server 可能容許數目不限的連線, 但是「標準」版的 SQL Server 可能依據授權合約而具有連線限制。 根據預設值,許多 DBMS 伺服器具有低預設連線限制。在設定 InterChange Server 的連線限制之前, 請檢查 DBMS 配置。

限制與一個資料來源的連線數

若要控制 InterChange Server 所使用的 DBMS 連線數目, 請編輯 InterChange.cfg 檔。在 DB_CONNECTIVITY 區段中輸入 MAX_CONNECTIONS 的值。 此值會控管 InterChange Server 一次可以具有的 DBMS 連線總數。

下列配置檔項目將 InterChange Server 連線數目限制為 20:

[DB_CONNECTIVITY]
 MAX_CONNECTIONS = 20
 

如果 InterChange Server 需要一個連線, 但是開啟的連線數目已達到最大值,則它會嘗試利用最早使用演算法,來釋放現有的連線。

在分割的環境中限制連線

在 InterChangeSystem.cfg 檔的 DB_CONNECTIVITY 區段中設定 MAX_CONNECTIONS 參數,會對所有資料來源套用連線限制。 當跨多個資料來源分割工作負荷時,該參數不適用, 因為您可能想要在某個資料來源設定連線限制,但不想要在另一個資料來源上設定連線限制。 此外,因為 InterChange Server 並不會跨資料來源來接管連線, 所以某個服務可以使用所有配置的連線,不留下任何連線供其他服務使用。

在分割的環境中,您可以在特定資料來源的連線上設定限制,方法為限制每一個服務進行的連線。 比方說,如果儲存庫、事件管理服務、交易服務和流程監視服務都是使用個別的資料來源, 則您可以對每一個資料來源指定不同的最大值,如下所示:

註:
這些範例以文字格式來簡化結構。 從 InterChange Server 4.2.x 起,InterchangeSystem.cfg. 檔案為 XML 格式。
DB2
[EVENT_MANAGEMENT]
 DATA_SOURCE_NAME = jdbc:db2:EventsDB
 MAX_CONNECTIONS = 20
  
 [TRANSACTIONS]
 DATA_SOURCE_NAME = jdbc:db2:TransDB
 MAX_CONNECTIONS = 30
  
 [REPOSITORY]
 DATA_SOURCE_NAME = jdbc:db2:ReposDB
 MAX_CONNECTIONS = 50
 
[FLOW_MONITORING]
 DATA_SOURCE_NAME = jdbc:db2:FlowDB
 MAX_CONNECTIONS = 20
 
Oracle
[EVENT_MANAGEMENT]
 DATA_SOURCE_NAME = jdbc:ibm-crossworlds:oracle://@server1:1521;SID=EventsDB
 MAX_CONNECTIONS = 20
  
 [TRANSACTIONS]
 DATA_SOURCE_NAME = jdbc:ibm-crossworlds:oracle://@server2:1521;SID=TransDB
 MAX_CONNECTIONS = 30
  
 [REPOSITORY]
 DATA_SOURCE_NAME = jdbc:ibm-crossworlds:oracle://@server3:1521;SID=ReposDB
 MAX_CONNECTIONS = 50
 
[FLOW_MONITORING]
 DATA_SOURCE_NAME = jdbc:ibm-crossworlds:oracle://@server3:1521;SID=FlowDB
 MAX_CONNECTIONS = 20
 

您可以對某個服務設定 MAX_CONNECTIONS 參數,但不對其他服務設定它。

註:
如果您對個別服務設定 MAX_CONNECTIONS 參數,請不要也使用摘要 MAX_CONNECTIONS 參數。 如果您在配置檔的 DB_CONNECTIVITY 區段中具有 MAX_CONNECTIONS 的設定, 請移除它。

Copyright IBM Corp. 1997, 2004