メイン コンテンツをスキップする 補完的コンテンツへスキップ

XStreamモードを使用したCDCの設定

このセクションでは、でのXStream OutおよびXStream InTalend Studioの設定について詳細に説明します。

Talend StudioでXStream Outを設定

Procedure

  1. [Repository] (リポジトリー)ツリービューで、OracleデータベースへのOCI接続タイプを使用してデータベース接続を設定し、データの変更をキャプチャーするソーステーブルのスキーマを取得します。この例では、ソーステーブルはPERSONです。データベース接続の設定方法およびテーブルスキーマの取得方法の詳細は、データベースメタデータを一元管理をご覧ください。
    'PERSON'テーブルスキーマの例。
  2. 新しく作成したOracleデータベース接続の下で[CDC Foundation] (CDC設定)を右クリックして、コンテキストメニューから[Create CDC] (CDCを作成)を選択します。[Create Change Data Capture] (CDCを作成)ダイアログボックスが開きます。
  3. [XStream mode] (XStreamモード)を選択して[Show sample initialization script] (サンプル初期化スクリプトを表示)をクリックします。[Sample Initialization Script] (サンプル初期化スクリプト)ダイアログボックスが開きます。
    [Sample Initialization Script] (サンプル初期化スクリプト)ダイアログボックス。
    これはOracle 12cサーバー上でXStreamを設定するためのサンプルスクリプトにすぎません。使用する設定に応じてユーザー名、パスワード、およびテーブルスペース情報をアップデートし、Oracleでステートメントおよびプロシージャーを実行する必要があります。詳細は、XStreamモードの前提条件をご覧ください。
    OKをクリックして、[Sample Initialization Script] (サンプル初期化スクリプト)ダイアログボックスを閉じます。
    [Finish] (終了)をクリックしてOracleのCDCを作成し、[Create Change Data Capture] (CDCを作成)ダイアログボックスを閉じます。
  4. ソーステーブルを右クリックし、コンテキストメニューから[add CDC] (CDCの追加)を選択します。
    ソーステーブルのコンテキストメニュー。
  5. ソーステーブルを右クリックし、コンテキストメニューから[Generate XStreamsOut Script] (XStreamsOutスクリプトの生成)を選択します。[XStreamsOut generation script] (XStreamsOut生成スクリプト)ダイアログボックスが開きます。
  6. [XStreams server name] (XStreamサーバー名)フィールドにアウトバウンドサーバー名を入力します。名前は一意にする必要があります。
  7. 対応するInclude in scriptカラムのチェックボックスをオンにして、ソーステーブルを識別します。
    [XStreamsOut generation script] (XStreamsOut生成スクリプト)ダイアログボックス内の設定。
  8. [Generate Script] (スクリプトの生成)をクリックします。[XStreamsOut Script] (XStreamsOutスクリプト)ダイアログボックスが表示されます。
  9. [Execute] (実行)をクリックしてOracleのXStreamアウトバウンドサーバーを作成します。
    このスクリプトの実行が失敗した場合は、OracleデータベースにXStream管理者として接続し、Oracleでスクリプトを実行できます。
  10. XStream管理者としてOracleデータベースに接続し、次のステートメントを実行してアウトバウンドサーバーのステータスを確認します。
    select apply_name, status from dba_apply;
    アウトバウンドサーバーを削除する必要がある場合、次のステートメントを実行します。
    exec DBMS_XSTREAM_ADM.DROP_OUTBOUND('xout'); 
                         exec DBMS_XSTREAM_ADM.REMOVE_XSTREAM_CONFIGURATION(container => 'ALL');

Talend StudioでXStream Inを設定

Procedure

  1. [Repository] (リポジトリー)ツリービューで、OCI接続タイプを使用したOracleデータベースへのデータベース接続を設定し、データの変更の複製先となるターゲットテーブルのスキーマを取得します。この例では、ターゲットテーブルはPERSON_BAKです。データベース接続の設定方法およびテーブルスキーマの取得方法の詳細は、データベースメタデータを一元管理をご覧ください。
    'PERSON_BAK'テーブルスキーマのの例。
  2. 新しく作成したOracleデータベース接続の下で[CDC Foundation] (CDC設定)を右クリックして、コンテキストメニューから[Create CDC] (CDCを作成)を選択します。[Create Change Data Capture] (CDCを作成)ダイアログボックスが開きます。
  3. [Options] (オプション)エリアで[XStream mode] (XStreamモード)を選択して[Show sample initialization script] (サンプル初期化スクリプトを表示)をクリックします。[Sample Initialization Script] (サンプル初期化スクリプト)ダイアログボックスが開きます。
    [Sample Initialization Script] (サンプル初期化スクリプト)ダイアログボックス。
    これはOracle 12cサーバー上でXStreamを設定するためのサンプルスクリプトにすぎません。使用する設定に応じてユーザー名、パスワード、およびテーブルスペース情報をアップデートし、Oracleでステートメントおよびプロシージャーを実行する必要があります。詳細は、XStreamモードの前提条件をご覧ください。
    OKをクリックして、[Sample Initialization Script] (サンプル初期化スクリプト)ダイアログボックスを閉じます。
    [Finish] (終了)をクリックしてCDCを作成し、[Create Change Data Capture] (CDCを作成)ダイアログボックスを閉じます。
  4. ターゲットテーブルを右クリックし、コンテキストメニューから[add CDC] (CDCの追加)を選択します。
    ソーステーブルのコンテキストメニュー。
  5. ターゲットテーブルを右クリックし、コンテキストメニューから[Generate XStreamsIn Script] (XStreamsInスクリプトの生成)を選択します。[XStreamsIn generation script] (XStreamsIn生成スクリプト)ダイアログボックスが開きます。
  6. [XStreams server name] (XStreamサーバー名)フィールドにインバウンドサーバー名を入力します。
  7. [Queue name] (キュー名)フィールドにインバウンドサーバーのキューの名前を入力します。
  8. [Generate Script] (スクリプトの生成)をクリックします。XStream Inスクリプトが生成され表示されます。
  9. [Execute] (実行)をクリックしてOracleのXStreamインバウンドサーバーを作成します。
    このスクリプトの実行が失敗した場合は、OracleデータベースにXStream管理者として接続し、Oracleでスクリプトを実行できます。
  10. XStream管理者としてOracleデータベースに接続し、次のステートメントを実行してインバウンドサーバーのステータスを確認します。
    select apply_name, status from dba_apply;
    インバウンドサーバーが無効な場合、次のステートメントを実行してインバウンドサーバーを開始します。
    exec DBMS_APPLY_ADM.START_APPLY('xin');
    インバウンドサーバーを削除する必要がある場合、次のステートメントを実行します。
    exec DBMS_XSTREAM_ADM.DROP_INBOUND('xin');
                         exec DBMS_XSTREAM_ADM.REMOVE_QUEUE('xin_queue'); 
                         exec DBMS_APPLY_ADM.DELETE_ALL_ERRORS(apply_name => 'xin');

このページは役に立ちましたか?

このページまたはコンテンツにタイポ、ステップの省略、技術的エラーなどの問題が見つかった場合はお知らせください。