5 Veridataインポート・ユーティリティとエクスポート・ユーティリティの使用方法

Oracle GoldenGate Veridata Webユーザー・インタフェースに加えて、Veridataインストールに付属のインポート・ユーティリティとエクスポート・ユーティリティを使用して、構成の部分を定義できます。

この章の内容は次のとおりです。

5.1 インポート・ユーティリティとエクスポート・ユーティリティの概要

インポート・ユーティリティとエクスポート・ユーティリティを使用すると、Oracle GoldenGate Veridataの構成に使用されるXMLドキュメントを作成できます。これらのXMLドキュメントを制御するDTD (Document Type Definition)は、ORACLE_HOME/veridata/clilib/lib/veridata-scripting.jarファイルに格納されています。

インポート・ユーティリティでは、データベース接続、比較ペアを含む比較グループ、比較ジョブおよびプロファイルを構成できます。XMLドキュメントを入力として取得し、Veridataの比較オブジェクトを作成します。通常、XMLドキュメントはユーザー・インタフェースの構成ページの入力と一致します。

エクスポート・ユーティリティでは、比較構成データの一部または全部をXMLファイルにエクスポートできます。-repoUrlオプションを使用して現在のVeridata構成または他のVeridata構成から構成をエクスポートする場合に使用できます。また、インポート機能を使用して異なるVeridataリポジトリ・タイプ間で構成をエクスポートする場合にも使用できます。たとえば、SQL Server構成からOracle構成へなどの場合です。

ユーザーには基本的なXMLとそのルールに関する知識が必要です。

これらのユーティリティには、次の利点があります。

  • 繰返しのタスクの定義に必要な時間を短縮できます。

  • 再利用可能な構成を作成できます。

  • テスト構成を本番に使用する構成に反映できます。

5.1.1 サポートされる構成

Oracle GoldenGate Veridataインポート・ユーティリティとエクスポート・ユーティリティでは、次の構成をサポートしています。

  • データベース接続

  • 比較グループ(ジョブ、グループおよび比較ペア)

  • プロファイル

5.2 インポート・ユーティリティとエクスポート・ユーティリティの実行

インポート・ユーティリティとエクスポート・ユーティリティは、Oracle GoldenGate Veridataのインストールの場所のDOMAIN_HOME/veridata/binディレクトリから実行されます。Windowsプログラムはveridata_export.batおよびveridata_import.batで、UNIXとLinuxスクリプトはveridata_export.shおよびveridata_import.shです。

5.2.1 エクスポート・ユーティリティの使用

エクスポート・ユーティリティを実行する構文は次のとおりです。

veridata_export[.sh | .bat] -export filePath -wluser commandlineUusername   [-wlport portNo] [–jobs jobName | - groups groupName | -connections connName | -profiles profileName | -all | -exportPassword] [[-repoUrl jdbc_url] [-u username>][-schema schema_name][-vdtPath VERIDATA_PRODUCT_HOME]]
  • -wlport: Veridata Webサーバーのポートを表します。デフォルト値は8830です。

  • -wluser: Veridata構成権限およびコマンドライン権限を持つユーザーcommandlineUsername を指定します。

  • これらのオプションの操作のいずれかを実行時にリクエストできます。

    • -jobs: すべてのジョブ(関連付けられているグループ、接続およびプロファイルを含む)を名前別にエクスポートします。名前をスペースで区切って、1つ以上のジョブを指定できます(例: job1 job2 job3)。ジョブ名が指定されていない場合、すべてのジョブおよび関連付けられているオブジェクトがエクスポートされます。

    • -groups: リポジトリ内のすべてのグループをエクスポートするか、グループ名をスペースで区切って追加します(例: group1 group2 group3)。

    • connections: リポジトリ内のすべての接続をエクスポートするか、接続をスペースで区切って追加します(例: conn1 conn2 conn3)。

    • profiles: リポジトリ内のすべてのプロファイルをエクスポートするか、プロファイルをスペースで区切って追加します(例: profile1 profile2 profile3)。

    • -all: どのジョブにも含まれていないオブジェクトをエクスポートします。すべてのオプション操作に優先します。これは、他のオプションが指定されていない場合のデフォルトです。

    • -exportPassword: 接続用パスワードをエクスポートします。デフォルトで接続用パスワードはエクスポートされません。

    • -repoUrl: エクスポートで使用するリモートVeridataリポジトリ・データベースのJDBC URLを設定します。-repoUrlを使用する場合は、-uオプションを設定する必要があります。

      Oracle Databaseの場合:
        jdbc:oracle:thin:@hostname/ip:port:SID 
      

      または

       jdbc:oracle:thin:@hostname/ip:port/serviceName
      SQL Serverの場合:
       jdbc:weblogic:sqlserver://hostname/ip:port;databaseName= databaseName
      

      repoUrlでは、二重引用符が必要な場合があります。

    • -u: 構成のエクスポートの要求元であるリモートVeridataデータベースのユーザー名を設定します。-repoUrlオプションとともに使用します。

    • -schema: 構成のエクスポートの要求元であるリモートVeridataスキーマ名を設定します。

    • -vdtPath veridataLocation: 12cリリース以降のVeridataドメインの場所を設定します。11gリリースの場合はインストール場所です。

    • -help: コマンドラインの構文を提示します。

既存のインストールに含まれていないVeridataリポジトリ・データベースからデータをエクスポートする場合は、URL、ユーザー名およびスキーマ名を指定する必要があります。実行時に、外部Veridataリポジトリのパスワードを入力するように求められます。デフォルトで接続パスワードはエクスポートされないので、パスワードをエクスポートする場合は-exportPasswordオプションを使用します。

5.2.2 インポート・ユーティリティの使用

インポート・ユーティリティを実行する構文は次のとおりです。

veridata_import[.sh | .bat] [-wlport portNo] -wluser commandlineUusername [-create | -update | -delete | -replace] configuration.xml
  • -wlport: Veridata Webサーバーのポートを表します。デフォルト値は8830です。

  • -wluser: Veridata構成権限およびコマンドライン権限を持つユーザーcommandlineUsername を指定します。

  • これらのオプションの操作のいずれかを実行時にリクエストできます。

    • -create: 構成にリストされるすべての項目が新しくなります。リストの項目がリポジトリに存在する場合は、何も追加されません。

    • -update: 新しい項目がリポジトリに追加され、既存の項目が変更されます。リポジトリに存在する項目および構成にリストされていない項目は削除されます。

    • -delete: 構成に存在する名前付きのすべての項目はリポジトリから削除されます。

    • -replace: 構成で置換対象としてリストされているすべての項目が指定どおり置換されます。

  • configuration.xml: 構成を説明するために作成したインポートXML構成ファイルの名前。これは必須オプションです。

5.2.3 構成の処理

インポート・ユーティリティでは、最初にconfiguration.xmlファイルを解析し、エラーで異常終了する前に、ファイル全体の完了を試みます。検出されたエラーはすべてDOMAIN_HOME/veridata/logs/veridata_import.logにログ記録されます。エラーで異常終了しない場合は、2番目の解析が渡され、今度は構成が処理されます。

オブジェクト名の照合

カタログ、スキーマ、表、索引、列などのデータベース・オブジェクト名は、これらのルールに従って照合されます。

  • 照合では、大文字と小文字は区別されません。

  • Enscribe DDLおよびSQL列の照合をサポートするために、ハイフン(-)はアンダースコア(_)と一致するとみなされます

  • 表名およびソース列名のワイルドカード式は、正式名で照合され、大文字バージョンの名前で照合されます。

  • スキーマとワイルドカードの引用符付き名前では、引用符内のすべてが照合され、完全に一致する必要があります。引用符内のワイルドカード文字は通常の文字として扱われます。引用符付き名前は、XMLで次のように表現されます。

    source-table=""CHAR_TYPES"*"

    これはCHAR_TYPESCHAR_TYPES2およびCHAR_TYPES_NOTNULLと一致します。

  • フィルタでは、スキーマと表の包含または除外が可能です。包含フィルタが使用されている場合、表が比較ペアに含まれるには、1つ以上のフィルタが一致する必要があります。除外フィルタが使用されている場合、表は任意の除外フィルタに一致すると除外されます。包含フィルタには、包含または除外する列のリストが指定されたCOLFILTER要素を含めることができます。表が包含フィルタに一致すると、包含フィルタのCOLFILTERを使用して、生成された比較ペアの列が指定されます。スキーマと表名には、ワイルドカードを使用できます。

    フィルタを使用して、特定の名前の表を除外できます。たとえば、次のパターンを使用して、名前にFIRSTが含まれる表を除外できます。
    <filter type="exclude" table="*FIRST"/>
    XMLで次のように指定すると、フィルタを使用してビューを除外できます。
    <filter exclude-views="true"/>
    .

    NonStop Enscribeファイルの場合は、ファイル・パターン・フィルタが使用されます。ファイル・パターンは、NonStopの任意の有効なファイル名パターンです。

  • 比較ペアにブール属性「optional」の列指定が設定されている場合があります。この属性がtrueの場合、列が比較ペアに追加されるのは、ソース表に指定のソース列が含まれている場合のみです。

キー列の決定

キー列は、次の順序で選択されます。

  1. Explicitキー列定義(使用可能な場合)。この場合、source-pkeyおよびtarget-pkey compare-pair要素属性が設定されていると、エラーが生成されます。

  2. compare-pair要素のsource-pkeyおよびtarget-pkey属性によって指定されている索引の列。列の数およびすべてのデータ型は一致する必要があり、データ型は互換性がある必要があります。

  3. システム選択の主キーの列。

比較ペアの生成

比較ペアの生成には、次の特性があります。

  • ワイルドカードからの生成の動作は、正規表現が使用できる点を除き、ユーザー・インタフェースの生成と同じです。

  • 比較ペアは、configuration.xmlファイルで指定した順序で処理されます。

  • 単一の比較ペア要素によって生成される比較ペアは、ソース表名のアルファベット順で生成されます。

  • 複数の比較ペア要素で比較ペアが生成される場合は、最初の比較ペアが使用されます。

一般的に、比較ペア要素の順序は次のようになります。

  1. ユーザー定義のキーなど、専用の構成要件を持つ比較ペア

  2. 一般的なパターンに一致する比較ペア

  3. それ以外の場合に、一般的なパターンに一致する比較ペアの除外

5.2.4 エクスポート・ユーティリティおよびインポート・ユーティリティのSSL構成

エクスポート・ユーティリティおよびインポート・ユーティリティは、SSLプロトコルを使用したOracle GoldenGate Veridataサーバーとの通信をサポートするようになりました。

エクスポート・ユーティリティおよびインポート・ユーティリティ用にSSLを設定するには
  1. 次のサンプル・スクリプトに示すように、JAVA_HOME/binにあるJDK keytoolユーティリティを使用して、サーバーおよびクライアントのキーストアを生成します。
    ########################################
    # Creating Server and Client KeyStores.
    ########################################
    # NOTE: "keytool" is a utility that can be found inside the "$JAVA_HOME/bin" so make sure the PATH includes the JDK's bin directory.
     
    mkdir Keystores
    cd Keystores/
     
    echo ""
    echo ""
    echo "Creating WLS Server side Keystore. (wls12c.keystore)"
    echo "----------------------------------------"
    keytool -genkey -v -alias wlsalias -keyalg RSA -keysize 1024 -keystore wls12c.keystore -validity 3650 -keypass <keypassword> -storepass <storepassword>+magic -dname "CN=127.0.0.1, OU=MiddlewareMagic, O=Blog, L=Bangalore, S=Karnataka, C=IN"
     
     
    echo ""
    echo ""
    echo "Exporting public key (wls12c_server.cer) from the  WLS ServerSide keystore."
    echo "----------------------------------------"
    keytool -export -keystore wls12c.keystore -alias wlsalias -file wls12c_server.cer -keypass <keypassword> -storepass <storepassword>+magic
     
     
    echo ""
    echo ""
    echo "Creating Client side Keystore/truststore. (clientTrustStore.keystore)"
    echo "----------------------------------------"
    keytool -genkey -v -alias clientalias -keyalg RSA -keysize 1024 -keystore clientTrustStore.keystore -validity 3650 -keypass <keypassword> -storepass  <storepassword> -dname "CN=127.0.0.1, OU=MiddlewareMagic, O=Blog, L=Bangalore, S=Karnataka, C=IN"
     
     
    echo ""
    echo ""
    echo "Importing the WLS Servers public key to the Client's truststore."
    echo "----------------------------------------"
    keytool -import -v -trustcacerts -alias wlsalias -file wls12c_server.cer -keystore clientTrustStore.keystore -keypass <keypassword> -storepass <storepassword>
     
     
    echo "Certificates created Successfully !!!"
    
  2. WebLogic管理コンソールを使用して、WebLogic管理サーバーとOracle GoldenGate VeridataサーバーのキーストアおよびSSLを設定します。詳細は、エンドツーエンドSSLの有効化を参照してください。
  3. veridata.cfg構成ファイル内のクライアント・キーストアの絶対パスの場所をキー/値ペアとして入力します。例: cli.ssl.client.trustStorePath=<absolute path for client keystore>
  4. VERIDATA_DOMAIN_HOME/veridata/binディレクトリに移動します。
  5. 次の例に示すように、-sslパラメータを渡して、sslポートでインポート・ユーティリティを実行します。
    ./veridata_import.sh -ssl -wlport <ssl_port> -wluser weblogic -create <configuration xml file>
  6. 次の例に示すように、-sslパラメータを渡して、sslポートでエクスポート・ユーティリティを実行します。
    ./veridata_export.sh -export <export file name> -ssl -wlport <ssl port> -wluser weblogic -jobs <job name>

5.3 構成ファイルの要素の参照情報

構成は、最上位レベルのconfiguration要素およびネストされた複数の要素で定義されます。これらの要素のほとんどには、configuration要素のoperation属性やconnection要素のport属性などの特性を定義する属性があります。

次に示すのは、構成XMLファイル内の上位要素の階層です。要素およびその属性の詳細を参照するには、階層内の要素名をクリックしてください。

configuration
    connection
       conn-properties
    group
       description
       filter
       sql-partition
       enscribe-key
       compare-pair
          enscribe-info
          enscribe-key
          sql-partition
          column
          excluded-column
          delta-config
    job
    profile
    

サンプル構成ファイルでは、サンプル構成ファイルを提供します。

プロファイル・パラメータでは、プロファイルの構成に使用できるプロファイル・パラメータについて説明します。

5.4 configuration

ルート要素はconfigurationです。

次の要素は、configuration要素内にネストできます。

表5-1 configuration要素

要素 説明
connection

1つ以上のVeridataデータベース接続の定義。

group

1つ以上のVeridata比較グループ定義。

job

1つ以上の比較ジョブ定義。

profile

1つ以上のプロファイル定義。

次の属性では、configuration要素について説明します。

表5-2 configuration属性

属性 説明
validation

構成に使用される検証のタイプを指定します。オプションは次のとおりです。

"required" - 比較ペアがリポジトリに追加される前に、すべての比較ペアを正常に検証する必要があります。これは、デフォルト値です。

"omit-failures" - 正常に検証された比較ペアはリポジトリに追加され、検証できない比較ペアは無視されます。

"none" - 比較ペアは検証されずにリポジトリに追加されます。このオプションが選択されている場合は、Oracle GoldenGate Veridata Webユーザー・インタフェースを使用して、検証の問題を確認して修正する必要があります。

operation

データがリポジトリにどのように適用されるかを指定します。オプションは次のとおりです。

"create" - 構成にリストされるすべての項目が新しくなっています。リストの項目がリポジトリに存在する場合は、何も追加されません。これは、既存のリポジトリ項目に対する意図的でない変更を防止するために使用できます。これは、デフォルト値です。

"update" - 新しい項目がリポジトリに追加され、既存の項目が変更されます。リポジトリに存在する項目および構成にリストされていない項目は削除されます。

"delete" - 構成ファイルの名前付きのすべての項目はリポジトリから削除されます。

コマンドライン・フラグを使用して、この属性に入力した値を上書きできます。

wildcard

使用されるパターンの照合方法を指定します。オプションは次のとおりです。

"ggs" - アスタリスク(*)を使用する通常のOracle GoldenGateパターンを使用します。このタイプの照合の詳細は、Oracle GoldenGate Veridata Webユーザー・インタフェースのヘルプを参照してください。これがデフォルト値です。

"regex" - 照合に正規表現を使用します。

次の例では、検証できる比較ペアを追加し、検証できない比較ペアを無視します。ワイルドカードには正規表現を使用し、"create"デフォルトを使用して、すべての項目を新しい項目として追加し、項目がすでに存在する場合は、何も追加しません。

<configuration validation="omit-failures" wildcard="regex">
.
.
.
</configuration>

5.5 column

column要素では、比較ペアに含める、または比較ペアから除外する列のセットを定義します。column要素には、ネストされた要素またはテキスト・データがありません。

次の属性では、column要素について説明します。

表5-3 column属性

属性 説明
source-name

ソース列名のセットを定義する正規表現。この値は必須です。

target-name

ターゲット列名のセットを定義する正規表現。source-name式で取得されるグループへの参照を含めることができます。

exclude

一致した列を比較ペアから除外するかどうかを指定します。オプションは次のとおりです。

"true" - 一致した列を除外します。

"false" - 一致した列を含めます。これはデフォルトです。

type

列のタイプを指定します。オプションは次のとおりです。

"key" - 列はキーとして使用されます。

"hash" - 列はハッシュ値を使用して比較されます。これがデフォルト値です。

"literal"- 列はリテラル値です。

format

通常使用される比較形式を上書きする形式を指定します。

scale

比較のデフォルトのスケールを上書きするスケールを指定します。

precision

比較に使用されるデフォルトの精度を上書きする精度を指定します。

timezone

比較のデフォルトのタイムゾーンを上書きするタイムゾーンを指定します。

optional

列マッピングが省略可能かどうかを示します。たとえば、ベース表に列パターンが指定されていない場合、マッピングは失敗しません。デフォルトはfalseです。

5.6 colfilter

colfilter要素では、包含または除外する列のセットを定義します。フィルタ条件として使用する列の名前を指定する場合に使用します。

次の要素では、colfilter要素について説明します。

表5-4 colfilter要素

属性 説明
colfiltercol

包含または除外する列のセットを指定します。

次の属性では、colfilter要素について説明します。

表5-5 colfilter属性

属性 説明
type

列を含めるか、除外するかを指定します。オプションはincludeまたはexcludeです(デフォルトはinclude)。これは必須属性です。

この例では、表TABLE_NAMECOL3COL5を生成された比較ペアから除外します。

<filter type="include" table="TABLE_NAME">
    <colfilter type ="exclude">
        <colfiltercol name="COL3" />
        <colfiltercol name="COL5" />
    </colfilter>
</filter>

5.7 colfiltercol

colfiltercol要素では、包含または除外する列のセットを定義します。フィルタ条件として使用する列の名前を指定する場合に使用します。

次の属性では、colfiltercol要素について説明します。

表5-6 colfiltercol属性

属性 説明
name

ソース列名のセットを定義する正規表現。これは必須属性です。

5.8 compare-pair

compare-pair要素では、比較ペア項目のセットを指定します。Oracle GoldenGate Veridata Webユーザー・インタフェースと同様、比較ペアはシステムでマップされたキーと列にデフォルトで設定されます。

次の要素は、compare-pair要素内にネストできます。

表5-7 compare-pair要素

要素 説明
enscribe-info

NonStop Enscribeファイルの比較時に使用される1つ以上の情報のセット。

sql-partition

表内の行のサブセットの1つ以上の仕様。

table-partition

データベース表パーティションを指定します。

enscribe-key

Enscribeファイル内のレコードのサブセットの1つ以上の仕様。

key-column

ユーザー定義のキーとして比較に使用される列のセット。

column

含める列のセットの1つ以上の定義。

excluded-column

システムでマップされた列を比較ペアが使用する場合、比較ペアから除外する列のセットを定義します。

delta-config

比較ペアのデルタ処理構成を定義します。最大値は、比較ペアごとに1回追加です。

次の属性では、compare-pair要素について説明します。

表5-8 compare-pair属性

属性 要素
name

比較ペアの名前を定義する式。この式には、source-table式で取得されるグループおよびターゲット表グループ$0を含めることができます。

source-table

比較する表を定義する正規表現。詳細は、この項で後述する「正規表現のグループ化」を参照してください。デフォルトでは、すべての表を照合します。

target-table

比較のターゲット表を定義する正規表現。ソース表式で取得されるグループへの参照が含まれる場合があります。デフォルトは$0 (完全なソース表名)です。

source-schema

比較ペアで参照されるソース表のデフォルト・スキーマの名前。デフォルトは、groupで指定される値です。SQL/MPの場合は、SQLカタログのサブボリュームになります。これは、Enscribeファイルでは使用されません。

target-schema

比較ペアで参照されるターゲット表のデフォルト・スキーマの名前。デフォルトは、groupで指定される値です。SQL/MPの場合は、SQLカタログのサブボリュームになります。これは、Enscribeファイルでは使用されません。

source-catalog

この比較ペアで参照されるソース表のデフォルト・カタログ。SQL/MPの場合は、SQLカタログのボリュームになります。これは、Oracle (非PDB)、DB2、EnscribeまたはTeradataデータベースには使用されません。Oracle PDBの場合、これはPDB名を保持します。

target-catalog

この比較ペアで参照されるターゲット表のデフォルト・カタログ。SQL/MPの場合は、SQLカタログのボリュームになります。これは、Oracle (非PDB)、DB2、EnscribeまたはTeradataデータベースには使用されません。Oracle PDBの場合、これはPDB名を保持します。

exclude

比較ペアをgroup要素に含めるかどうかを指定します。これを使用すると、前の比較ペア要素で生成された比較ペアを削除できます。オプションは次のとおりです。

"true" - 比較ペアを除外します。

"false" - 比較ペアを含めます。これはデフォルトです。

source-file-pattern

ソースのデフォルトのファイル・パターン(データ・ソースがEnscribeまたはSQL/MPの場合)。

target-file-pattern

ターゲットのデフォルトのファイル・パターン(データ・ターゲットがEnscribeまたはSQL/MPの場合)。

source-pkey

ユーザー指定の主キーのソース部分として使用する一意の索引の名前。デフォルトは、ユーザー指定以外の索引名です。

target-pkey

ユーザー指定の主キーのターゲット部分として使用する一意の索引の名前。デフォルトは、source-pkeyの値です。

delta-processing

この比較ペアに対してデルタ処理が有効かどうかを指定します。オプションは次のとおりです。

"true" - デルタ処理が有効です。

"false" - デルタ処理が有効になっていません。これはデフォルトです。

profile-name

比較ペアの比較を実行する場合に使用するプロファイルの名前。

system-key

比較ペアに列要素および指定したソース主キーがない場合、Oracle GoldenGate Veridataは、使用する最適な主キーまたは一意索引を選択します。オプションは次のとおりです。

"true" - Oracle GoldenGate Veridataは、キーを選択します(定義されていない場合)。これはデフォルトです。

"false" - Oracle GoldenGate Veridataはキーを選択しません。

system-columns

タイプ属性がkeyに設定されている列要素が比較ペアに含まれ、生成された比較ペアがユーザー定義の列をキーに使用するように指定します。オプションは次のとおりです。

"true" - 比較ペアにはkey列要素が含まれます。これはデフォルトです。

"false" - 比較ペアにはkey列要素は含まれません。

wildcard

使用されるパターンの照合方法を指定します。オプションは次のとおりです。

"ggs" - アスタリスク(*)が任意の数の文字に一致する通常のOracle GoldenGateパターンを使用します。

Oracle GoldenGate HP Nonstopの場合、source-table=""target-table=""はサポートされますが、source-table="TBL" target-table=""はサポートされません。

"regex" - 照合に正規表現を使用します。

"default" - configurationの設定を使用します。これはデフォルトです。

is-auto
Oracle GoldenGate Veridataで自動パーティション化比較ペアを作成する必要があるかどうかを指定します。

"true" - Oracle Goldengate Veridataは、自動パーティション化比較ペアを作成します。作成される比較ペアの数は、no-of-auto-partitionsで指定された値に基づきます。

"false" - Oracle GoldenGate Veridataは、自動パーティション化比較ペアを作成しません。これはデフォルトです。

no-of-auto-partitions
Oracle GoldenGate Veridataは、自動パーティション化比較ペアを作成します。作成される比較ペアの数は、no-of-auto-partitionsで指定された値に基づきます。
use-source-keys
列マッピングにキーが選択されていない場合、キー列をソース・キー列として定義するか、ターゲット・キー列をキー列として定義します。
use-target-keys
列マッピングにキーが選択されていない場合、ターゲット・キーからソース列に列値を定義します。
use-all-columns
列マッピングにキーが選択されていない場合、「すべての列」からキー列値を定義します。

正規表現のグループ化

正規表現のグループ化を使用すると、ターゲット表名の照合に使用するソース表名の部分を取得できます。これを行うには、wildcard属性をregexに変更する必要があります。照合されるグループは、$1$2$3などとして参照されます。グループ$0は、ソース表名全体と一致します。

グループの照合の例は、次のとおりです。

  • P(.*) - Pで始まる表名と一致します。$1の変数部分を取得します。表PROSPECTSと一致します。

  • [^PV].* - PまたはVで始まらない表名と一致します。表PROSPECTSではなく、表REGIONSと一致します。

  • ([P-R])(.*) - PQまたはRで始まる表名と一致し、グループ$1の最初の文字と、グループ$2の名前の残りを取得します。グループはカッコのペアで定義されます。グループの数は、左カッコの数で定義されます。グループ$1は、最初の左カッコで開始し、グループ$2は2番目のカッコで開始します。

取得されたグループ($n)は、ターゲット表を選択する式に使用されます。

次の例では、key-only比較ペアについて説明します。そのソース表は"test"スキーマ、ターゲット表は"other"スキーマで定義されます。ソース表名がSで始まり、ターゲット表名がTで始まる比較ペアを作成します。たとえば、S_TABLE T_TABLE (S_TABLEはスキーマ"test"の表で、T_TABLEはスキーマ"other"の表)です。また、生成された比較ペアでは、キー列以外の列がすべて除外されます。

<configuration> 
    <connection name="source" host="somehost"
               .... use-ssl="true">
        <description>
             <![CDATA[
                Group SQL Scripting Source Connection
              ]]>
          </description>
     </connection>
...
...
</configuration>

5.9 connection

connection要素では、Oracle GoldenGate Veridataエージェント経由でのソースまたはターゲット比較データベースへの接続を定義します。

次の要素は、connection要素内にネストできます。

表5-9 connection要素

要素 説明
description

接続の説明を指定します。

conn-properties

接続の接続プロパティを定義します。

次の属性では、connection要素について説明します。

表5-10 connection属性

属性 説明
name

接続を識別する名前。これは必須属性です。

host

Oracle GoldenGate Veridataエージェントが実行されているシステムの名前。

port

エージェントが実行されているシステムのポート番号。

user

エージェントがデータベースへの接続に使用するユーザー名。

password

エージェントがデータベースへの接続に使用するパスワード。

repairUser

修復操作の実行権限のあるデータベース・ユーザー。エージェント・コンポーネントのデータベース権限を参照してください。

repairPassword

repairUserのパスワード。

agent-timeout

エージェントにリクエストを送信する場合に、タイムアウトまでOracle GoldenGate Veridataが待機する時間。

truncate-spaces

文字列の最後から空白を削除するかどうかを"true"または"false"で指定します。デフォルトは"true" (空白を切捨て)です。

fetch-size

(Oracleのみ)各バッチでフェッチされる行の数。

use-ssl

Veridataエージェントとサーバー間のSSL通信の使用を定義します。デフォルトは"true"です。

use-source-keys
列マッピングにキーが選択されていない場合、キー列をソース・キー列として定義するか、ターゲット・キー列をキー列として定義します。
use-all-columns
列マッピングにキーが選択されていない場合、「すべての列」からキー列値を定義します。

次の例では、sourceという名前の接続を識別します。

<configuration>
   <connection name="source" host="somehost"
    port="7850" user="somename" password="somepw"repairUser="veridata1" repairPassword="veridata1" agent-timeout="4000" truncate-spaces="false" fetch-size="3" use-ssl="true">
      <description>
             <![CDATA[
                Group SQL Scripting Source Connection
            ]]>
...
...
      </description>
   </connection>
.
.
</configuration>

5.10 conn-properties

conn-properties要素では、ソースまたはターゲット比較データベース要素への追加接続を指定します。

次の属性は、conn-properties要素内にネストできます。

表5-11 conn-properties

要素 説明

datatype-name

プロパティが変更されたデータ型を指定します。

format

比較に使用されるVeridata比較形式を指定します。

precision

比較に適用される精度を指定します。

scale

比較に適用されるスケールを指定します。

timezone

タイムゾーン名はVeridata GUIと同じです。

5.11 delta-config

delta-config要素では、指定された比較ペアのデルタ処理構成を定義します。比較ペアごとに1回使用できます。この要素は、必要な構成のタイプに応じて1回のみ使用されるか、まったく使用されません。ソースまたはターゲット構成が指定されている場合、対応するcolumn-name属性とquery要素は必須です。

次の要素では、delta-configについて説明します。

表5-12 delta-config要素

属性 説明

source-config

デルタ処理のソース側の構成を指定します。

target-config

デルタ処理のターゲット側の構成を指定します。

query

デルタ処理の問合せを指定します。

この例では、デルタ処理が有効な比較ペアを作成します。ソース側とターゲット側の両方について、デルタ処理がSYSMAPPING1表のCOL1で有効化されます。SQL問合せは、"query"タグ内で定義されます。

<configuration validation="required">
   .
   .
   <group name="testGroup" source-conn="sourceConn" target-conn="targetConn" source-schema="sourceSchema" target-schema="targetSchema">
        <compare-pair source-table="SYSMAPPING1" target-table="SYSMAPPING1" name="sameTables" delta-processing="true" >
                  <delta-config>
                        <source-config column-name="COL1">
                              <query><![CDATA[ SELECT MAX(COL1) from SYSMAPPING1 ]]></query>
                        </source-config>
                        <target-config column-name="COL1">
                              <query><![CDATA[ SELECT MAX(COL1) from SYSMAPPING1 ]]></query>
                        </target-config>
                  </delta-config>
            </compare-pair> 
    </group>
      .
      .
</configuration>

5.12 description

description要素は、含まれる要素の説明を付加するのに使用可能な自由形式のテキストです。関連付けられた属性はありません。

次の例では、sourceという名前の接続の説明を指定します。

<configuration>
   <connection name="source" host="somehost"
    port="7850" user="somename" password="somepw"
      <description>
         <![CDATA[
           This connection is used when the Veridata agent connects
           to the source.
         ]]>
      </description>
   </connection>
.
.
.
</configuration>

5.13 enscribe-info

enscribe-info要素では、NonStop Enscribeレコードをフィールド・レベルで比較するのに使用される追加情報を指定します。

次の要素は、enscribe-info要素内にネストできます。

表5-13 enscribe-info要素

要素 説明
expandddl

DDLの適用時に使用されるルールを説明します。

次の属性では、enscribe-info要素について説明します。

表5-14 enscribe-info属性

属性 説明

side

ソースまたはターゲット表に情報を適用するかどうかを指定します。オプションは次のとおりです。

"source" - ソース表を指定します。これはデフォルトです。

"target" - ターゲット表を指定します。

dictionary

データ・ディクショナリを含むボリュームまたはサブボリューム。

record

データ・ディクショナリのレコードの名前。

5.14 enscribe-key

enscribe-key要素では、Enscribeファイルに使用されるキーを定義します。enscribe-key要素では、初回比較問合せのwhere句に使用可能なデルタ処理を定義します。

次の属性では、enscribe-key要素について説明します。

表5-15 enscribe-key属性

属性 説明
name

キーを識別する名前。これは必須属性です。

start-key

Enscribeファイルの読取りの開始に使用されるキー。これは必須エントリです。

end-key

読取り対象の最後のEnscribeレコードのキー。これは必須エントリです。

format

Enscribeキーの形式を指定します。オプションは次のとおりです。

"ascii" - キーの形式はASCIIです。これはデフォルトです。

"hexadecimal" - キーの形式は16進数です。

side

パーティションをソース・データベースまたはターゲット・データベース(あるいは両方)で適用するかどうかを指定します。

default

これがデフォルトのパーティションかどうかを指定します。これはUIの"use at run time"インジケータと同じです。デフォルトはbothです。

<enscribe-key name = "Part1" end-key ="1000" format ="hexadecimal" default ="false" side="source"/>
<enscribe-key name = "Part1" start-key ="001" format ="hexadecimal" default ="false" side="target"/>
<enscribe-key name = "Both" start-key ="001" end-key ="1000" default ="true"/> 

5.15 excluded-column

excluded-column要素では、システムでマップされた列を比較ペアが使用する場合、比較ペアから除外する列のセットを定義します。

次の属性では、excluded-column要素について説明します。

表5-16 excluded-column属性

属性 説明
name

ソース列名のセットを定義する正規表現。これは必須属性です。

5.16 expandddl

expandddl要素では、DDLの適用時に使用されるルールを説明します。

次の属性では、expandddl要素について説明します。

表5-17 expandddl属性

属性 説明
expandGroupArrays

グループ配列を展開するかどうか。オプションは次のとおりです。

"true" - 配列を展開します。これはデフォルトです。

"false" - 配列を展開しません。

redefined-columns

再定義された列を含めるかどうか。オプションは次のとおりです。

"include" - 再定義された列を含めます。

"omit" - 再定義された列を除外します。これはデフォルトです。

resolvedups

配列が展開された場合の重複を解決する方法を指定します。オプションは次のとおりです。

"appendIndex" - 一意の数値索引を重複の最後に追加します。これはデフォルトです。

"appendAlphaIndex" - 英文字索引を重複の最後に追加します。

"prependGroup" - 配列グループの名前を重複の接頭辞にします。

ddl-separator

列への配列出力を定義する区切り文字。たとえば、FIELDX-3に使用されるダッシュがあります(配列内で3番目に出現するFIELDX)。オプションは次のとおりです。

"none" - 区切り文字がありません。これはデフォルトです。

"dash" - ダッシュ(-)を区切り文字として使用します。

"bracket" - 大カッコ([])を区切り文字として使用します。

"underscore" - アンダースコア(_)を区切り文字として使用します。

"double-underscore" - 二重アンダースコア(__)を区切り文字として使用します。

zero-fill-length

先頭にゼロを追加して、発生回数を調整します。値は、引用符で囲まれた桁数です。"0"がデフォルトです。

fix-long-names

max-col-name-lengthを超えている場合に、重複を解決して名前を修正するかどうか。オプションは次のとおりです。

"true" - 最大長を超える名前を修正します。これはデフォルトです。

"false" - 最大長を超える名前を修正しません。

max-col-name-length

列名に許可される最大長。エントリは、引用符内の数です。デフォルトは"120"です。

5.17 filter

filter要素では、包含または除外するスキーマと表のセットを定義します。

包含フィルタを使用する場合、表が比較ペアに含まれるには、1つ以上のフィルタが一致する必要があります。表が包含フィルタに一致すると、包含フィルタのcolfilterを使用して、生成された比較ペアの列が指定されます。

除外フィルタを使用する場合、表は任意の除外フィルタに一致すると除外されます。包含フィルタには、包含または除外する列のリストが指定されたcolfilter要素を含めることができます。

NonStopプラットフォームでは、スキーマ・フィルタや表フィルタのかわりに、ファイル・パターン・フィルタが使用されます。ファイル・パターンは、NonStopプラットフォームの任意の有効なファイル名パターンです。

スキーマと表名には、ワイルドカードを使用できます。

次の属性では、filter要素について説明します。

表5-18 filter属性

属性 説明
type

スキーマと表を含めるか、除外するかを指定します。有効な値は、includeまたはexcludeです。

catalog

デフォルトのカタログ名を指定します。

exclude-views 比較ペアの生成中にすべてのビューを除外します。有効な値は、trueまたはfalseです。デフォルト値はfalseです。

schema

スキーマ名を指定します。

table

表名を指定します。

file-pattern

(NonStopプラットフォームのみ)ファイル・パターン・フィルタを指定します。

ソースとターゲットのスキーマにCHAR_TYPES3表、INT_TYPE1表およびINT_TYPE2表がある場合、次のフィルタを使用するとCHAR_TYPES1表とCHAR_TYPES3表の比較ペアのみが作成されます。CHAR_TYPES2表は除外フィルタによって除外され、INT_TYPE1INT_TYPE2は包含フィルタの対象外なので除外されます。

<group 
      ..
        <filter type="include" table="CHAR_TYPES*" />
        <filter type="exclude" table="CHAR_TYPES2" />
        <compare-pair source-table="*" target-table="*">
        </compare-pair>
      ..
</group>

5.18 group

group要素では、すべて同じソースおよびターゲット・データベース接続の比較ペアのセットを定義します。これらの比較ペアには、共通するその他のプロパティも含まれます。

次の要素は、group要素内にネストできます。

表5-19 group要素

要素 説明
description

グループの説明を指定します。

filter

グループ・レベルでの表名のフィルタ処理を可能にする、1つ以上のフィルタ指定。

sql-partition

表内の行のサブセットの1つ以上の仕様。

enscribe-key

Enscribeファイル内のレコードのサブセットの1つ以上の仕様。

compare-pair

1つ以上の比較ペアを定義します。compare-pair要素は、指定した順序でグループに追加されます。同じ比較ペアがグループ内の別の仕様の基準に一致する場合は、最初の比較ペアが使用されます。

次の属性では、group要素について説明します。

表5-20 group属性

属性 説明
name

グループを識別する名前。この値は必須です。

source-conn

ソース・データベースへの接続の名前。これは、GoldenGate Veridataリポジトリの既存の接続、またはこの構成で前に定義した接続を参照できます。この属性は、リポジトリの既存の接続を参照する場合に必要です。

target-conn

ターゲット・データベースへの接続の名前。これは、GoldenGate Veridataリポジトリの既存の接続、またはこの構成で前に定義した接続を参照できます。この属性は、リポジトリの既存の接続を参照する場合に必要です。

source-schema

グループを構成する比較ペアで参照されるソース表のデフォルトのスキーマの名前。

target-schema

グループを構成する比較ペアで参照されるターゲット表のデフォルトのスキーマの名前。

source-catalog

このグループで参照されるソース表のデフォルトのカタログ。

target-catalog

このグループで参照されるターゲット表のデフォルトのカタログ。

validation

構成に使用される検証のタイプを指定します。オプションは次のとおりです。

"required" - 比較ペアがリポジトリに追加される前に、すべての比較ペアを正常に検証する必要があります。

"omit-failures" - 正常に検証された比較ペアはリポジトリに追加され、検証できない比較ペアは無視されます。

"none" - 比較ペアは検証されずにリポジトリに追加されます。このオプションが選択されている場合は、Oracle GoldenGate Veridata Webユーザー・インタフェースを使用して、検証の問題を確認して修正する必要があります。

"default" - configuration要素など、上位のレベルで指定される検証のタイプを使用します。これはデフォルトです。

source-file-pattern

ソースのデフォルトのファイル・パターン(データ・ソースがEnscribeまたはSQL/MPの場合)。

target-file-pattern

ターゲットのデフォルトのファイル・パターン(データ・ターゲットがEnscribeまたはSQL/MPの場合)。

<group name="weekly-tables" source-conn="source" target-conn"="target">
   <description>
   .
    .
    .
   </description>
   <sql-partition>
    .
    .
   </sql-partition>
   <compare-pair>
    .
    .
    .
</compare-pair>
</group>

5.19 job

job要素では、Oracle GoldenGate Veridata比較ジョブを定義します。

次の要素は、job要素内にネストできます。

Table 5-21 job Elements

要素 説明
description

ジョブの説明を指定します。

group

ジョブに関連付けられているグループの名前。新しいグループまたは定義済のグループになります。

次の属性では、job要素について説明します。

表5-22 job属性

属性 説明
name

ジョブを識別する名前。これは必須の属性です。

source-conn

ソース・データベースへの接続の名前。これは、GoldenGate Veridataリポジトリの既存の接続、またはこの構成で前に定義した接続を参照できます。この属性は、リポジトリの既存の接続を参照する場合に必要です。

ジョブsource-connは、ジョブに含まれるグループに指定したソース接続の上書きに使用されます。

target-conn

ターゲット・データベースへの接続の名前。これは、GoldenGate Veridataリポジトリの既存の接続、またはこの構成で前に定義した接続を参照できます。この属性は、ジョブに含まれるグループに指定したターゲット接続の上書きに使用されます。

profile

ジョブを実行する場合に使用するデフォルト・プロファイル。

<job name="all-groups" profile="server-sort">
    <group name="all-tables"/>
    <group name="selected-tables"/>
</job> 

5.20 profile

profile要素では、比較ジョブの接続の接続プロパティを定義します。

次の要素は、profile要素内にネストできます。

表5-23 profile要素

要素 説明
description

プロファイルの説明を指定します。

profile-general

出力オプションを制御するプロファイル・パラメータを定義します。

sorting-method

ソート方法とメモリー管理を制御するプロファイル・パラメータを定義します。データがソートされてキー(またはキー指定)が照合されるため、正しいソースおよびターゲット行が比較されます。

initial-compare

初回比較ステップを実行するジョブのパラメータを制御するプロファイル・パラメータを定義します

confirm-out-of-sync

確認ステップを実行するジョブのパラメータを制御するプロファイル・パラメータを指定します

repair

修復ジョブのパラメータを制御するプロファイル・パラメータを指定します。

次の属性では、profile要素について説明します。

表5-24 profile属性

属性 説明
name

プロファイルを識別する名前。これは必須属性です。

この例では、"userDefinedProfile"という名前のプロファイルを作成します。"oos-format"や"sort-method"などのパラメータ名は表を参照してください(表へのリンクは別のピンにあります)

<configuration validation="required">
   .
   .
<profile name="userDefinedProfile">
    <profile-general>
        <param name="oos-format" value="xml" />
        <param name="oos-xml-chunk-size" value="1000" />
    </profile-general>
    <sorting-method>
        <param name="sort-method" value="server" />
    </sorting-method>
</profile>
      .
      .
</configuration>

5.21 key-column

key-column要素では、比較ジョブ用のユーザー定義キーとして使用される列のセットを定義します。

次の属性では、key-column要素について説明します。

表5-25 profile属性

属性 説明
source-name

ソース列名のセットを定義する正規表現。この値は必須です。

target-name

ターゲット列名のセットを定義する正規表現。source-name式で取得されるグループへの参照を含めることができます。

format

通常使用される比較形式を上書きする形式を指定します。

scale

比較のデフォルトのスケールを上書きするスケールを指定します。

precision

比較に使用されるデフォルトの精度を上書きする精度を指定します。

timezone

比較のデフォルトのタイムゾーンを上書きするタイムゾーンを指定します。

5.22 profile-general

profile-general要素では、出力オプションを制御するパラメータを指定します。

データがソートされてキー(またはキー指定)が照合されるため、正しいソースおよびターゲット行が比較されます。

次の要素は、profile-general要素内にネストできます。

表5-26 profile-general要素

要素 説明
param

プロファイルで変更するパラメータを定義します。

5.23 sorting-method

sorting-method要素では、ソート方法とメモリー管理用のパラメータを指定します。データがソートされてキー(またはキー指定)が照合されるため、正しいソースおよびターゲット行が比較されます。

次の要素は、sorting-method要素内にネストできます。

表5-27 sorting-method要素

要素 説明
param

プロファイルで変更するパラメータを定義します。

5.24 initial-compare

initial-compare要素では、初回比較ステップを実行するプロセスのパラメータを指定します。

次の要素は、initial-compare要素内にネストできます。

表5-28 initial-compare要素

要素 説明
param

プロファイルで変更するパラメータを定義します。

5.25 confirm-out-of-sync

confirm-out-of-sync要素では、確認ステップを実行するプロセスのパラメータを指定します。

次の要素は、confirm-out-of-sync要素内にネストできます。

表5-29 confirm-out-of-sync要素

要素 説明
param

プロファイルで変更するパラメータを定義します。

5.26 param

param要素では、プロファイル・オプションの構成に使用されるパラメータを定義します。

次の属性では、repair要素について説明します。

表5-30 param属性

属性 説明
name

パラメータ名。これは必須属性です。

value

パラメータの値

5.27 repair

repair要素では、修復プロセスのパラメータを指定します。

次の要素は、repair要素内にネストできます。

表5-31 repair要素

要素 説明
param

プロファイル・オプションの構成に使用されるパラメータを定義します。

5.28 sql-partition

sql-partition要素では、初回比較問合せのwhere句に使用可能なブールSQL式を定義します。

次の属性では、sql-partition要素について説明します。

表5-32 sql-partition属性

属性 説明
name

パーティションを識別する名前。これは必須属性です。

side

パーティションをソース・データベースまたはターゲット・データベース(あるいは両方)で適用するかどうかを指定します。デフォルト値は"both"です。

default

これがデフォルトのパーティションかどうかを指定します。これはUIの"use at run time"インジケータと同じです。デフォルトは"false"です。

type 手動行パーティションと自動行パーティションを区別します。typesqlに設定された場合は手動パーティションが定義され、typeautoに設定された場合は自動行パーティションが定義されます。この属性は、Oracle GoldenGate Veridataエクスポート・ツールを使用した比較ペアのエクスポート時に表示されます。

<sql-partition name="replicate" default="true" side="source" type="sql">
  <![CDATA[ replicated='false']]>
</sql-partition>
<sql-partition name="replicate" default="true" side="source" type="sql">
  <![CDATA[ replicated='true']]>
</sql-partition>
<sql-partition name="AutoPartition0" default="true" side="source" type="auto>
<![CDATA[2,0]]>
</sql-partition>

5.29 表パーティション

table-partition要素は、Oracle GoldenGateエクスポート・ツールおよびインポート・ツールでパーティション名の詳細を指定する際に役立ちます。

詳細は、手動および自動行パーティション化のためのデータベース表パーティションのマッピングを参照してください。既存のデータベース表パーティションを使用して比較ペアを作成するには、インポート・ツールおよびエクスポート・ツールの実行時にXMLに次の行を含めます。

<configuration operation="create" validation="required">
<group name="oracle_oracle_grp" source-conn="oracle_src" target-conn="oracle_tgt">
 <compare-pair name="SALES_SRC_Q1_2006=SALES_GT_SALES_Q1_2006_AutoPartition0"
  source-table="SALES_SRC" target-table="SALES_TGT" source-schema="SYSTEM" target-schema="SYSTEM"
  use-source-keys="true" use-target-keys="true" use-all-columns="true">

<table-partition name = "SALES_Q1_2006" default="true" side="target"/>
<table-partition name = "SALES_Q1_2006" default="true" side="target"/>
</compare-pair>
</group>
</configuration>