Talend StudioでのXStream Inの設定 - 7.0

Talend Big Data Platform Studioユーザーガイド

author
Talend Documentation Team
EnrichVersion
7.0
EnrichProdName
Talend Big Data Platform
task
ジョブデザインと開発
EnrichPlatform
Talend Studio

このタスクについて

Talend StudioXStream Inを設定するには、次の手順に従います。

手順

  1. [Repository] (リポジトリ)ツリービューで、OCI接続タイプを使用したOracleデータベースへのデータベース接続を設定し、データの変更の複製先となるターゲットテーブルのスキーマを取得します。この例では、ターゲットテーブルは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] (サンプル初期化スクリプト)ダイアログボックスが開きます。
    これは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サーバー名)フィールドにインバウンドサーバー名を入力します。
    [Queue name] (キュー名)フィールドにインバウンドサーバーのキューの名前を入力します。
    [Generate Script] (スクリプトの生成)をクリックします。XStream Inスクリプトが生成され表示されます。
  7. [Execute] (実行)をクリックしてOracleのXStreamインバウンドサーバーを作成します。
    このスクリプトの実行が失敗した場合は、OracleデータベースにXStream管理者として接続し、Oracleでスクリプトを実行することができます。
  8. 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');