建立 PostgreSQL 資料庫

您可以在執行含有 -create -de 參數的 BPMConfig 指令之前或之後,為 IBM® Business Automation Workflow 建立必要的資料庫,以建立設定檔及配置部署環境。

開始之前

  • 具有 PostgreSQLIBM Business Automation Workflow 僅支援標準函數。 不支援進階功能。
  • 對於具有 PostgreSQLIBM Business Automation Workflow ,需要 Business Automation Workflow 才能在所有節點之間共用檔案儲存空間。 例如,您可以配置 NFS 檔案共用,並使其可在所有 IBM Business Automation Workflow 節點機器上存取。
  • 您無法跨多個部署環境共用資料庫。
  • 程序及 Performance Data Warehouse 元件需要自己的個別資料庫,且無法在與其他 IBM Business Automation Workflow 元件相同的資料庫上配置。
  • 請確定用於每一個元件的綱目名稱符合使用者。
  • 請確定 BPMConfig 指令的所有資料庫相關名稱都是小寫。 否則,您會在執行指令時收到驗證錯誤。
  • 具有 PostgreSQL的傳統 Business Automation Workflow 不完全支援高可用性 Data Replication (HADR)。 交易日誌無法儲存在 PostgreSQL 資料庫中,因此支援「高可用性 (HA)」需要共用檔案系統來管理必須手動配置的交易日誌。 在公用雲端上,此拓蹼沒有良好的 Data Replication (DR) 解決方案。 例如,在 Azure 雲端上,交易日誌和服務整合匯流排位於檔案中,並由 Azure 檔案系統抄寫至 DR 站台。 其餘資料位於資料庫中,並由 Azure 資料庫系統抄寫至 DR 站台。 無法保證抄寫之間的一致性。 交易日誌、服務整合匯流排和資料庫可能不同步並導致錯誤,甚至導致無法啟動 DR 伺服器。
  • 請使用最新的 PostgreSQL JDBC 驅動程式,並確定已針對客戶工作量正確配置 PostgreSQL 資料庫。 在資料庫伺服器的 postgresql.conf 檔案中,調整下列參數:
    表 1. PostgreSQL 參數
    參數 設定 說明
    shared_buffers 下限值為 1024 MB 一般 PostgreSQL 效能調整建議是將大約 25% 的記憶體用於共用緩衝區。 也可能需要調整 Linux® 核心配置; 請參閱 PostgreSQL 調整手冊。
    work_mem 下限值為 20 MB 此參數適用於每一個階段作業,而且許多使用者階段作業可能會導致大量記憶體用量。 該記憶體非常重要,因為它是用於排序作業。 如果值設定太低,則執行時間可能會大幅增加 (例如,在一小時內用於工具箱部署)。
    max_prepared_transactions 例如,200 此值必須至少與 max_connections 設定一樣大。
    max_wal_size 例如,6 GB 工作量較大時,必須增大預設值。 如果需要增加,您可以在 PostgreSQL 伺服器日誌檔中找到建議。
    log_min_duration_statement 例如,5000 設定此參數是選用的。 它容許額外記載超出指定執行時間 (毫秒) (在此範例中對應於 5 秒) 的陳述式,以識別瓶頸及調整區域。

關於此作業

BPMConfig 指令需要來自內容檔的輸入,該檔案包含要建立的設定檔、部署環境及資料庫的配置設定。 在此檔案中, bpm.de.deferSchemaCreation 內容會決定何時可以建立資料庫:
  • 如果內容設為 false,當您執行 BPMConfig 指令來建立設定檔及部署環境時,會自動建立資料庫表格。 因此,在執行 BPMConfig 指令之前,必須存在空的資料庫。
  • 如果內容設為 true,當您執行 BPMConfig 指令來建立設定檔及部署環境時,會延遲建立資料庫表格。 因此,您可以在執行指令之前或之後建立資料庫。 您可能會發現在執行 BPMConfig 指令之後建立資料庫很有用,因為您可以使用指令所產生的移入 Script 集,在您選擇的時間建立資料庫及資料庫表格。

預設資料庫名稱為 bpmdb (代表 Process 資料庫)、pdwdb (代表 Performance Data Warehouse 資料庫) 及 cpedb (代表 Content 資料庫)。 如需資料庫及綱目的相關資訊,請參閱 規劃資料庫數目

在建立設定檔及配置部署環境之前建立資料庫

若要產生可供 BPMConfig 指令用來建立及配置資料庫的資料庫 Script ,您可以使用 -create -sqlfiles 參數來執行 BPMConfig ,並額外包含 -outputDir 參數來指定所產生 Script 的位置。 當您使用這些參數執行 BPMConfig 指令時,它會產生資料庫 Script ,而不配置您的環境。

開始之前

準備下列資訊:
  • 您正在設計之資料庫配置的相關資訊。 這可能是一份文件,說明資料庫管理者或解決方案架構設計師所提供資料庫配置的一般用途。 或者,它可能是必要參數及內容的說明。 此資訊必須包括:
    • 資料庫的位置
    • 用於向資料庫鑑別的使用者 ID 和密碼
  • 如何安裝 IBM Business Automation Workflow 及其元件、使用的資料庫軟體以及該資料庫類型所需內容的相關資訊。
  • 瞭解您計劃建立的設定檔,特別是設定檔類型與資料庫之間的功能關係。
  • 要實作之拓蹼型樣的相關資訊,以及瞭解資料庫設計如何符合您計劃使用的型樣。

程序

  1. 在已安裝 IBM Business Automation Workflow的電腦上,導覽至下列儲存範例配置內容檔的目錄:

    install_root\BPM\samples\config

  2. 尋找最接近代表目標部署環境的內容檔範例,並建立此檔案的副本。
    PostgreSQL僅支援「標準」部署環境。 在 install_root\BPM\samples\config中, 您可以找到含有一組範例內容檔的 standard 資料夾。 資料夾內是一組特定於 Standard 部署環境的檔案。 範例內容檔是根據下列格式來命名: de_type[-environment_type]-topology-PostgreSQL[-suffix]
    • de_type 設為 Standard
    • environment_type 可以設為 PS (若為 Workflow Server ) 或 PC (若為 Workflow Center)。
    • 拓蹼 可以設為 SingleClusterThreeClusters
    例如,用於配置 Standard 部署環境 的範例配置內容檔 Workflow Center ,以及使用 PostgreSQL 資料庫的單一叢集拓蹼名稱為 Standard-PC-SingleCluster-PostgreSQL.properties
  3. 編輯複製的內容檔,並視需要更新值,以反映您的設定檔、部署環境及資料庫配置。
    當您修改範例內容檔時,請使用檔案內提供的指引來指定值。
    提示: 稍後當您執行 BPMConfig 指令來建立設定檔及部署環境時,必須使用這個相同的內容檔。
    其他考量:
    • 已修改的內容檔必須使用 UTF-8 編碼。
    • 當您稍後執行 BPMConfig 指令來建立設定檔及配置部署環境時,如果您想要自動建立資料庫表格,請將 bpm.de.deferSchemaCreation 內容設為 false
    • 當您執行修改時,請勿將任何自訂內容新增至此檔案,否則 BPMConfig 指令在執行時可能會失敗。
    • 如果您需要在內容檔中使用反斜線字元 (\) ,當您指定路徑名稱或密碼時,必須在其前面使用跳出反斜線。 例如, bpm.dmgr.installPath=c:\\IBM\\BPM85

    如需可用內容的相關資訊,請參閱 BPMConfig 指令行公用程式 主題,以及 BPMConfig 指令的配置內容 主題中的說明。

  4. 在已安裝 IBM Business Automation Workflow 的電腦上執行 BPMConfig 指令,並將您所建立內容檔的名稱傳遞給它。
    例如:
    install_root\bin\BPMConfig -create -sqlfiles directory_path\my_environment.properties -outputDir /my_bpmscripts_dir

    在此語法中, directory_path\my_environment.properties 是自訂內容檔的位置和名稱, my_bpmscripts_dir 是您要產生資料庫 Script 的目錄。

    產生的 Script 包括可用來建立資料庫的 createDatabase.sql檔案。 這些檔案會產生至下列預設位置:
    • my_bpmscripts_dir\dbscripts\cell_name.deployment_environment_name\PostgreSQL\bpmdb
    • my_bpmscripts_dir\dbscripts\cell_name.deployment_environment_name\PostgreSQL\pdwdb
    • my_bpmscripts_dir\dbscripts\cell_name.deployment_environment_name\PostgreSQL\cpedb
    產生的子目錄數目取決於內容檔中定義的資料庫數目。
    附註: 如果您再次執行 BPMConfig 指令,則會改寫這些 Script。
  5. 在建立資料庫之前,您必須先建立使用者。 若要建立使用者,請使用下列指令:
    psql - U postgres
    CREATE ROLE dbUserName PASSWORD ‘dbPassword’ SUPERUSER CREATEDB CREATEROLE INHERIT LOGIN;
    例如:
    CREATE ROLE workflowadmin PASSWORD 'password' SUPERUSER CREATEDB CREATEROLE INHERIT LOGIN;
  6. 若要建立 Process 資料庫 (bpmdb) 及 Performance Data Warehouse 資料庫 (pdwdb) ,請在本端或遠端資料庫伺服器上針對每一個資料庫執行下列指令:
    psql -U postgres -f createDatabase.sql
    psql -U postgres -f createSchema.sql
  7. 如果您想要使用內嵌式 Content Platform Engine 及內嵌式 IBM Content Navigator (這表示在 bpmconfig.propertiesbpm.de.useExternalNavigator=falsebpm.de.useExternalCPE=false中) ,則 cpedb 上的作業包括:
    createDatabase_ECM.bat
    psql -U postgres -f ./createTablespace_Standard.sql
    psql -U postgres -f ./createSchema_ICN.sql
     
    如果您想要使用外部 Content Platform Engine 及內嵌 IBM Content Navigator (在 bpmconfig.propertiesbpm.de.useExternalNavigator=falsebpm.de.useExternalCPE=true中表示) ,則 cpedb 上的作業包括:
    psql -U postgres -f ./createDatabase.sql
    psql -U postgres -f ./createSchema_ICN.sql

在建立設定檔及配置部署環境之後建立資料庫

當您執行 BPMConfig 指令並指定 -create -de 參數來建立設定檔及配置網路部署環境時,會產生資料庫 Script ,其中會移入您所指定內容檔中的值。 如果您選擇延遲建立資料庫表格,則可以使用其中部分 Script 來建立資料庫。

開始之前

您必須已執行 BPMConfig 指令來建立設定檔及配置網路部署環境。

程序

  1. 在您建立部署管理程式設定檔的電腦上,導覽至下列一或多個產生資料庫 Script 的預設子目錄:
    • my_bpmscripts_dir\dbscripts\cell_name.deployment_environment_name\PostgreSQL\bpmdb
    • my_bpmscripts_dir\dbscripts\cell_name.deployment_environment_name\PostgreSQL\pdwdb
    • my_bpmscripts_dir\dbscripts\cell_name.deployment_environment_name\PostgreSQL\cpedb

    這些目錄包含可用來建立資料庫的 createDatabase.sqlcreateDatabase_ECM.sql Script。

    產生的子目錄數目取決於內容檔中定義的資料庫數目。

  2. 在建立資料庫之前,您必須先建立使用者。 若要建立使用者,請使用下列指令:
    psql - U postgres
    CREATE ROLE dbUserName PASSWORD ‘dbPassword’ SUPERUSER CREATEDB CREATEROLE INHERIT LOGIN;
    例如:
    CREATE ROLE workflowadmin PASSWORD 'password' SUPERUSER CREATEDB CREATEROLE INHERIT LOGIN;
  3. 對於已產生的每一個 createDatabase.sql 檔案,在本端或遠端資料庫伺服器上執行下列指令,以建立 Process 資料庫 (bpmdb) 及 Performance Data Warehouse 資料庫 (pdwdb):
    psql -U postgres -f createDatabase.sql
    psql -U postgres -f createSchema.sql
  4. 如果您想要使用內嵌式 Content Platform Engine 及內嵌式 IBM Content Navigator (這表示在 bpmconfig.propertiesbpm.de.useExternalNavigator=falsebpm.de.useExternalCPE=false中) ,則 cpedb 上的作業包括:
    createDatabase_ECM.bat
    psql -U postgres -f ./createTablespace_Standard.sql
    psql -U postgres -f ./createSchema_ICN.sql
     
    如果您想要使用外部 Content Platform Engine 及內嵌 IBM Content Navigator (在 bpmconfig.propertiesbpm.de.useExternalNavigator=falsebpm.de.useExternalCPE=true中表示) ,則 cpedb 上的作業包括:
    psql -U postgres -f ./createDatabase.sql
    psql -U postgres -f ./createSchema_ICN.sql