Openflow Connector for Oracle のインストールと構成¶
注釈
このコネクタは、 Snowflakeコネクタ規約 に従うものとします。
注釈
|OracleOFC|には、標準のコネクタ利用規約以外の追加利用規約も適用されます。詳しくは、`Openflow Connector for Oracle Addendum<https://www.snowflake.com/en/legal/optional-offerings/offering-specific-terms/openflow-oracle-terms/>`_を参照してください。
このトピックでは、|OracleOFC|コネクタをインストールして構成する手順について説明します。
データエンジニアとして、以下のタスクを実行してコネクタをインストールおよび構成します。
コネクタをインストールする¶
コネクタをインストールするには、データエンジニアとして次を実行します。
Openflow概要ページに移動します。Featured connectors セクションで、 View more connectors を選択します。
Openflowのコネクタページでコネクタを探し、 Add to runtime を選択します。
Select runtime ダイアログで、Available runtimes ドロップダウンリストからランタイムを選択して Add をクリックします。
注釈
コネクタをインストールする前に、コネクタが取り込んだデータを格納するためのデータベースとスキーマをSnowflakeで作成したことを確認します。
Snowflakeアカウント認証情報でデプロイメントを認証し、Snowflakeアカウントへのランタイムアプリケーションのアクセスを許可するよう求められたられたら、 Allow を選択します。コネクタのインストールプロセスは数分で完了します。
Snowflakeアカウント認証情報でランタイムを認証します。
コネクタプロセスグループが追加されたOpenflowキャンバスが表示されます。
コネクタを構成する¶
コネクタを構成するには、データエンジニアとして次の手順を実行します。
追加されたランタイムを右クリックして、:ui:`Parameters`を選択します。
必要なパラメーター値を入力します。
必要なパラメーター値について詳しくは、次のセクションを参照してください。
Snowflake宛先パラメーター:Snowflakeとの接続を確立するために使用します。
Oracle取り込みパラメーター:複製するテーブルを指定するために使用します。
Oracleソースパラメーター:Oracleからダウンロードされたデータの構成を定義するために使用します。
Snowflake宛先パラメーター¶
パラメーター |
説明 |
必須 |
|---|---|---|
宛先データベース |
データが永続化されるデータベース。Snowflakeにすでに存在している必要があります。名前は大文字と小文字を区別します。引用符で囲まれていない識別子の場合、名前を大文字で指定します。 |
有り |
Snowflake認証ストラテジー |
以下を使用する場合:
|
有り |
Snowflakeアカウント識別子 |
以下を使用する場合:
|
有り |
Snowflake接続の戦略 |
KEY_PAIRを使用する場合は、Snowflakeに接続するための戦略を特定します。
|
KEY_PAIRを使用したBYOCのみに必要です。それ以外の場合は無視されます。 |
Snowflake秘密キー |
以下を使用する場合:
|
無し |
Snowflake秘密キーファイル |
以下を使用する場合:
|
無し |
Snowflake秘密キーパスワード |
以下を使用する場合
|
無し |
Snowflakeロール |
以下を使用する場合 |
有り |
Snowflakeのユーザー名 |
以下を使用する場合
|
有り |
オーバーサイズ値戦略 |
複製中にコネクタが内部サイズ制限(16MB)を超える値を処理する方法を決定します。可能な値は次のとおりです。
|
無し |
Snowflakeウェアハウス |
クエリの実行に使用されるSnowflakeウェアハウス。 |
有り |
Oracle取り込みパラメーター¶
パラメーター |
説明 |
|---|---|
含まれるテーブル名 |
完全修飾テーブルパスのコンマ区切りリスト。テーブルは、完全修飾データベース、スキーマ、テーブル名の形式(DATABASE_NAME.SCHEMA_NAME.TABLE_NAME)を使用して指定する必要があります。 例: |
含まれるテーブル正規表現 |
既存および新しいテーブルを自動的に含めるための、テーブルパスに一致する正規表現。正規表現パターンは、DATABASE_NAME.SCHEMA_NAME.TABLE_NAMEの3部構成の命名規則に一致する必要があります。 例: MYPDBデータベース内のSALESスキーマにあるすべてのテーブルに一致させるために:code:`MYPDB\.SALES\..*`とします。 |
フィルター JSON |
指定されたテーブルの正規表現パターンに基づいて特定の列を含めるためのJSON配列。 |
タスクスケジュール CRON をマージする |
ジャーナルから宛先テーブルへのマージ操作がトリガーされるタイミングを定義するCRON式。たとえば、継続的なマージの場合は * * * * * ?とします。 |
オブジェクト識別子の解決 |
スキーマ名、テーブル名、列名などのソースオブジェクト識別子をSnowflakeに格納し、クエリする方法を指定します。この設定では、SQLクエリで二重引用符を使用する必要があるかどうかを指定します。 オプション1:デフォルトで、大文字と小文字を区別しない(推奨)。
注釈 Snowflakeでは、データベースオブジェクトに大文字と小文字が混在する名前が想定されない場合、このオプションを使用することを推奨しています。 オプション2: 大文字と小文字を区別する。
重要 コネクタの取り込み開始後は、この設定を変更しないでください。取り込み開始後にこの設定を変更すると、既存の取り込みは中断されます。この設定を変更する必要がある場合は、新しいコネクタインスタンスを作成してください。 |
スナップショットのフェッチ戦略 |
スナップショットロードのフェッチ戦略を決定します。
|
Oracleソースパラメーター¶
パラメーター |
説明 |
必須 |
|---|---|---|
Oracle接続URL |
DBへのデータベース接続のJDBC URL。URLは、複製するデータを含むターゲットコンテナ(PDBまたはCDB)を指定する必要があります。たとえば、YOUR_DB_NAMEがPDBまたはCDBの名前である場合、:code:`jdbc:oracle:thin@<host>:<port>/YOUR_DB_NAME`とします。 注釈 コネクタは単一のデータベース/コンテナ内で機能します。JDBCURLが、複製するテーブルを保持するコンテナを直接指していることを確認してください。 |
有り |
Oracleユーザー名 |
XStreamサーバーにアクセスできる接続ユーザーのユーザー名。 |
有り |
Oracleパスワード |
XStreamサーバーにアクセスできる接続ユーザーのパスワード。 |
有り |
Oracleデータベースプロセッサ乗数 |
`Oracle Processor Core Factor Table<https://www.oracle.com/contracts/docs/processor-core-factor-table-070634.pdf>`_で説明されているコアプロセッサーライセンス要素 |
組み込みライセンスにのみ必要 |
Oracleデータベースプロセッサコア |
Oracleデータベースのプロセッサコアの数。 |
組み込みライセンスにのみ必要 |
XStream請求の承認 |
ライセンス契約の確認 |
組み込みライセンスにのみ必要 |
XStreamアウトサーバー名 |
Oracleに既に存在する必要があるXStreamサーバーの名前。 |
有り |
XStreamアウトサーバーURL |
XStreamのデータベース接続のJDBC URLでは、OCIドライバーを使用する必要があります。例: |
有り |
テーブル複製の再開¶
(主キーが欠落している、またはスキーマの変更がサポートされていないなどの理由で) FAILED 状態のテーブルは、自動的に再開されません。テーブルが FAILED 状態になった場合、または複製を最初から再開する必要がある場合は、次の手順に従ってテーブルを削除し、複製に再度追加します。
注釈
主キーが欠落しているなど、ソーステーブルの問題が原因で障害が発生した場合は、続行する前にソースデータベースでその問題を解決します。
フローパラメーターからテーブルを削除します。取り込みパラメーターのコンテキストで、Included Table Names からテーブルを削除するか、Included Table Regex を変更してテーブルが一致しないようにします。
テーブルが削除されたことを確認します。
Openflowランタイムキャンバスで、プロセッサーグループを右クリックし、Controller Services を選択します。
コントローラーサービスをリストしたテーブルで、Table State Store 行を見つけ、行の右側にある縦3つのドットをクリックして、View State を選択します。
重要
続行する前に、テーブルの状態がこのリストから完全に削除されるまで待つ必要があります。この構成変更が完了するまで続行しないでください。
宛先をクリーンアップする:テーブルの状態が完全に削除されたと表示されたら、Snowflake で宛先テーブルを手動で DROP します。スナップショットフェーズ中に、コネクタは既存の宛先テーブルを上書きしないことに注意してください。テーブルがまだ存在する場合、複製は再度失敗します。オプションで、ジャーナルテーブルとストリームが不要になった場合は削除することもできます。
テーブルを再追加する::ui:`Included Table Names`または:ui:`Included Table Regex`パラメーターを更新して、テーブルを再度含めます。
再開を確認する:前述の指示に従って Table State Store をチェックします。テーブルの状態は、ステータス NEW で表示され、次に SNAPSHOT_REPLICATION に移行し、最後に INCREMENTAL_REPLICATION になります。
フローを実行する¶
プレーンを右クリックし、 Enable all Controller Services を選択します。
インポートしたプロセスグループを右クリックし、 Start を選択します。コネクタがデータの取り込みを開始します。
次のステップ¶
(オプション):doc:
スナップショットなしの増分複製を設定する<incremental-replication>。