このタスクについて
Talend StudioでXStream Inを設定するには、次の手順で行います:
手順
-
[Repository] (リポジトリー)ツリービューで、OCI接続タイプを使用したOracleデータベースへのデータベース接続を設定し、データの変更の複製先となるターゲットテーブルのスキーマを取得します。この例では、ターゲットテーブルはPERSON_BAKです。データベース接続の設定方法およびテーブルスキーマの取得方法の詳細は、データベースメタデータを一元管理をご覧ください。
-
新しく作成したOracleデータベース接続の下で[CDC Foundation] (CDC設定)を右クリックして、コンテキストメニューから[Create CDC] (CDCを作成)を選択します。[Create Change Data Capture] (CDCを作成)ダイアログボックスが開きます。
-
[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を作成)ダイアログボックスを閉じます。
-
ターゲットテーブルを右クリックし、コンテキストメニューから[add CDC] (CDCの追加)を選択します。
-
ターゲットテーブルを右クリックし、コンテキストメニューから[Generate XStreamsIn Script] (XStreamsInスクリプトの生成)を選択します。[XStreamsIn generation script] (XStreamsIn生成スクリプト)ダイアログボックスが開きます。
-
[XStreams server name] (XStreamサーバー名)フィールドにインバウンドサーバー名を入力します。
[Queue name] (キュー名)フィールドにインバウンドサーバーのキューの名前を入力します。[Generate Script] (スクリプトの生成)をクリックします。XStream Inスクリプトが生成され表示されます。
-
[Execute] (実行)をクリックしてOracleのXStreamインバウンドサーバーを作成します。
このスクリプトの実行が失敗した場合は、OracleデータベースにXStream管理者として接続し、Oracleでスクリプトを実行できます。
-
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');