Oracle 出力コンポーネントは、Oracle データソースにデータを書き込みます。他のデータソースからのデータが Oracle データソースに同期されるシナリオでは、ソースデータ情報を構成した後、Oracle 出力コンポーネントのターゲットデータソースを構成する必要があります。このトピックでは、Oracle 出力コンポーネントを構成する方法について説明します。
前提条件
Oracle データソースが追加されています。詳細については、「Oracle データソースを作成する」をご参照ください。
Oracle 出力コンポーネントのプロパティを構成するために使用されるアカウントは、データソースに対する書き込み権限を持っている必要があります。権限がない場合は、データソース権限を申請する必要があります。詳細については、「データソース権限の申請、更新、および返却」をご参照ください。
手順
Dataphin ホームページの上部ナビゲーションバーで、[開発] > [Data Integration] を選択します。
プロジェクト環境統合ページの上部ナビゲーションバーで、 を選択します(開発-本番モードでは、 を選択する必要があります)。
左側のナビゲーションウィンドウで、[バッチパイプライン] をクリックし、[バッチパイプライン] リストで開発する オフラインパイプライン をクリックして、構成ページを開きます。
ページの右上隅にある [コンポーネントライブラリ] をクリックして、[コンポーネントライブラリ] パネルを開きます。
[コンポーネントライブラリ] パネルの左側のナビゲーションウィンドウで、[出力] を選択し、右側の出力コンポーネントリストで [Oracle] コンポーネントを見つけて、キャンバスにドラッグします。
ターゲットの入力、変換、またはフローコンポーネントの
アイコンをクリックしてドラッグし、現在の Oracle 出力コンポーネントに接続します。Oracle 出力コンポーネントカードの
アイコンをクリックして、[Oracle 出力構成] ダイアログボックスを開きます。
[Oracle 出力構成] ダイアログボックスで、パラメーターを構成します。
パラメーター
説明
基本設定
ステップ名
Oracle 出力コンポーネントの名前。Dataphin は自動的にステップ名を生成しますが、ビジネスシナリオに基づいて変更できます。名前は次の要件を満たしている必要があります。
漢字、英字、アンダースコア(_)、および数字のみを含めることができます。
最大 64 文字まで使用できます。
データソース
データソースドロップダウンリストには、書き込み権限を持つデータソースと書き込み権限を持たないデータソースを含む、すべての Oracle データソースが表示されます。
アイコンをクリックして、現在のデータソース名をコピーします。書き込み権限のないデータソースの場合、データソースの横にある [申請] をクリックして、書き込み権限を申請できます。詳細については、「データソース権限を申請する」をご参照ください。
Oracle データソースがない場合は、[データソースの作成] をクリックして作成します。詳細については、「Oracle データソースを作成する」をご参照ください。
タイムゾーン
時間形式のデータは、現在のタイムゾーンに従って処理されます。デフォルトは、選択したデータソースで構成されたタイムゾーンであり、変更できません。
説明V5.1.2 より前に作成されたタスクの場合、[データソースのデフォルト構成] または [チャネル構成タイムゾーン] を選択できます。デフォルトは [チャネル構成タイムゾーン] です。
[データソースのデフォルト構成]:選択したデータソースのデフォルトのタイムゾーン。
[チャネル構成タイムゾーン]プロパティチャネル設定:現在の統合タスクの > で構成されたタイムゾーン。
スキーマ (オプション)
クロススキーマテーブルの選択をサポートします。テーブルが配置されているスキーマを選択します。指定しない場合、デフォルトはデータソースで構成されたスキーマです。
テーブル
出力データのターゲットテーブルを選択します。 テーブル名キーワードを入力して検索するか、正確なテーブル名を入力して [完全一致] をクリックします。テーブルを選択すると、システムは自動的にテーブルステータスをチェックします。
アイコンをクリックして、現在選択されているテーブルの名前をコピーします。Oracle データソースにデータ同期のターゲットテーブルがない場合は、ワンクリックテーブル作成機能を使用して、ターゲットテーブルをすばやく生成できます。詳細な手順は次のとおりです。
[ワンクリックテーブル作成] をクリックします。Dataphin は、ターゲットテーブル名(デフォルトはソーステーブル名)、フィールドタイプ(最初は Dataphin フィールドに基づいて変換されます)、およびその他の情報を含む、ターゲットテーブルを作成するためのコードを自動的に一致させます。
ビジネスニーズに応じて、ターゲットテーブルを作成するための SQL スクリプトを変更し、[作成] をクリックします。
重要CREATE TABLEの後にテーブル名を変更しない場合、システムはデフォルトで大文字のテーブル名を生成します。CREATE TABLEの後にテーブル名に二重引用符を追加すると、大文字と小文字を区別するテーブル名が生成されます。
ターゲットテーブルが正常に作成されると、Dataphin は新しく作成されたテーブルを自動的に出力データのターゲットテーブルとして設定します。ワンクリックテーブル作成は、開発環境と本番環境でデータ同期のターゲットテーブルを作成するために使用されます。Dataphin はデフォルトで本番環境テーブル作成を選択します。本番環境に同じ名前と構造のテーブルが既に存在する場合は、本番環境テーブル作成を選択する必要はありません。
説明開発環境または本番環境に同じ名前のテーブルが存在する場合、[作成] をクリックすると、Dataphin はテーブルが既に存在するというエラーを報告します。
ロードポリシー
ターゲットテーブルにデータを書き込むためのポリシーを選択します。
[データの追加(insert Into)]:プライマリキー/制約違反が発生した場合、ダーティデータエラーが報告されます。
[プライマリキーの競合時に更新(merge Into)]:プライマリキー/制約違反が発生した場合、マップされたフィールドのデータは既存のレコードで更新されます。
同期書き込み
Oracle データベースのプライマリキー更新構文はアトミック操作ではありません。書き込むデータに 重複するプライマリキーがある場合は、同期書き込みを 有効にする必要があります。そうでない場合は、並列書き込みが使用されます。同期書き込みのパフォーマンスは、並列書き込みよりも低くなります。
説明このオプションは、ロードポリシーが [プライマリキーの競合時に更新] に設定されている場合にのみ使用できます。
バッチ書き込みデータサイズ (オプション)
一度に書き込むデータのサイズ。[バッチ書き込みレコード] も設定できます。システムは、いずれかの制限に最初に達したときにデータを書き込みます。デフォルトは 32M です。
バッチ書き込みレコード (オプション)
デフォルトは 2048 レコード です。データが同期および書き込みされるときに、[バッチ書き込みレコード] と [バッチ書き込みデータサイズ] を含むパラメーターを使用して、バッチ書き込み戦略が使用されます。
累積データが設定された制限(つまり、バッチ書き込みデータサイズまたはレコード数制限)のいずれかに達すると、システムはデータのバッチがいっぱいになったと見なし、このデータのバッチをすぐにターゲットに一度に書き込みます。
バッチ書き込みデータサイズを 32MB に設定することをお勧めします。バッチ挿入レコード制限については、単一レコードの実際のサイズに応じて柔軟に調整でき、通常はバッチ書き込みの利点を最大限に活用するために大きな値に設定します。たとえば、単一レコードのサイズが約 1KB の場合、バッチ挿入バイトサイズを 16MB に設定し、この条件を考慮して、バッチ挿入レコード数を 16MB を単一レコードサイズ 1KB で割った結果よりも大きく設定します(つまり、16384 レコードよりも大きい)。ここでは 20000 レコード に設定されていると仮定します。この構成では、システムはバッチ挿入バイトサイズに基づいてバッチ書き込み操作をトリガーし、累積データが 16MB に達するたびに書き込み操作を実行します。
準備ステートメント (オプション)
データインポートの前にデータベースで実行される SQL スクリプト。
たとえば、継続的なサービスの可用性を確保するために、現在のステップがデータを書き込む前に、最初にターゲットテーブル Target_A を作成し、ターゲットテーブル Target_A への書き込みを実行し、現在のステップがデータの書き込みを完了した後、継続的にサービスを提供するテーブル Service_B の名前を Temp_C に変更し、次にテーブル Target_A の名前を Service_B に変更し、最後に Temp_C を削除します。
終了ステートメント (オプション)
データインポート後にデータベースで実行される SQL スクリプト。
詳細構成
ログインタイムアウト
ログイン時間が設定された時間を超えると、システムは自動的に切断され、エラーが報告されます。単位は 秒(s) で、デフォルトは 600 秒です。
クエリタイムアウト
クエリ時間が設定された時間を超えると、システムは自動的に切断され、エラーが報告されます。単位は 秒(s) で、デフォルトは 1800 秒です。
フィールドマッピング
入力フィールド
上流コンポーネントの出力に基づいて入力フィールドを表示します。
出力フィールド
出力フィールドを表示します。次の操作を実行できます。
フィールド管理:[フィールド管理] をクリックして、出力フィールドを選択します。

アイコンをクリックして、フィールドを [選択された入力フィールド] から [選択されていない入力フィールド] に移動します。
アイコンをクリックして、フィールドを [選択されていない入力フィールド] から [選択された入力フィールド] に移動します。
一括追加:[一括追加] をクリックして、JSON、TEXT、または DDL 形式で構成します。
JSON 形式での一括構成。例:
// 例: [{ "name": "user_id", "type": "String" }, { "name": "user_name", "type": "String" }]説明name はインポートされたフィールド名を表し、type はインポート後のフィールドタイプを表します。たとえば、
"name":"user_id","type":"String"は、user_id という名前のフィールドをインポートし、そのタイプを String に設定することを意味します。TEXT 形式での一括構成。例:
// 例: user_id,String user_name,String行区切り文字は、各フィールドの情報を区切るために使用され、デフォルトは改行(\n)です。改行(\n)、セミコロン(;)、およびピリオド(.)をサポートしています。
列区切り文字は、フィールド名とフィールドタイプを区切るために使用され、デフォルトはカンマ(,)です。
DDL 形式での一括構成。例:
CREATE TABLE tablename ( id INT PRIMARY KEY, name VARCHAR(50), age INT );
新しい出力フィールドの作成:[+ 新しい出力フィールドの作成] をクリックし、プロンプトに従って [列] に入力し、[タイプ] を選択します。現在の行の構成が完了したら、
アイコンをクリックして保存します。
マッピング
上流の入力とターゲットテーブルのフィールドに基づいて、フィールドマッピングを手動で選択できます。[クイックマッピング] には、[同じ行マッピング] と [同じ名前マッピング] が含まれます。
同じ名前マッピング:同じ名前のフィールドをマップします。
同じ行マッピング:ソーステーブルとターゲットテーブルのフィールド名が一致しないが、対応する行のデータをマップする必要がある場合。同じ行のフィールドのみをマップします。
[OK] をクリックして、[Oracle 出力コンポーネント] の構成を完了します。