注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

Oracle Database

Foundry を Oracle Database に接続して、Oracle データベースと Foundry の間でデータを読み取り、同期します。

外部データソースで使用している Oracle データベースのバージョンが12.1(2013年リリース)より古い場合は、汎用 JDBC コネクターを使用し、独自のドライバーをアップロードしてください。以下で説明する Oracle Database コネクターは、Oracle JDBC 21.x ドライバーを実装しています。Oracle データベースのバージョンと JDBC ドライバーの相互運用性マトリックスについて、Oracle 公式ドキュメントで詳しくはこちら ↗。

Oracle Database コネクターは、Palantir 提供のドライバーを使用するコネクターです。このドライバーの公式ドキュメント ↗を確認してください。

サポートされている機能

機能ステータス
探索🟢 一般提供
バッチ同期🟢 一般提供
インクリメンタル(差分連携)🟢 一般提供
Iceberg 同期🟢 一般提供
変更データキャプチャ同期🟢 一般提供
テーブルエクスポート🟢 一般提供

セットアップ

  1. Data Connection アプリケーションを開き、画面右上の + 新規ソースを選択します。
  2. 利用可能なコネクターの種類から Oracle を選択します。
  3. 以下のセクションの情報を使用し、追加の設定プロンプトに従ってコネクターのセットアップを続けます。

Foundry でのコネクターのセットアップについて詳しくはこちら。

認証

Oracle Database コネクターは、ユーザー名とパスワードによる認証をサポートしています。個々のユーザーの資格情報ではなく、サービス資格情報を使用することを推奨します。

ネットワーク

以下のテーブルは、ソースの実行に必要なアクセス先のドメインを示しています。

Foundry ワーカー接続では、ドメインごとにエグレスポリシーを追加します。

ドメインが別のネットワーク上にあり、Agent プロキシのエグレスポリシー(推奨)または Agent ワーカー(非推奨)を使用する場合は、Agent からそれらのドメインに到達できる必要があります。また、それらのドメイン上のシステムは、Agent からの接続を許可する必要があります。Agent のネットワークについて詳しくはこちら。

ドメイン/ホスト必須
Oracle ホスト/IP常に必須

Oracle データベース接続のデフォルトポートは 1521 ですが、設定によっては異なるポートを使用する場合があります。

接続情報

オプション必須説明
ホストの種類はい指定するホスト識別子の種類です。hostname または ipv4 を指定できます。
ホスト名はいOracle データベースサーバーのホスト名または IP アドレスです。
ポートはいOracle データベースのポート番号です(デフォルトは1521)。
サービス識別子の種類はい使用するサービス識別子の種類です。SID または Service name を指定できます。
TLSいいえ接続の TLS 暗号化 ↗を有効にします。有効にすると(デフォルト)、接続では TLS を使用して Oracle データベースとのすべての通信が暗号化されます。
ユーザー名はいOracle データベースでの認証に使用するユーザー名です。
パスワードはいOracle データベースでの認証に使用するパスワードです。
クライアント証明書と秘密鍵いいえ接続を保護するためにクライアント証明書と秘密鍵が必要かどうかは、ソースによって異なります。
サーバー証明書いいえ接続を保護するためにサーバー証明書が必要かどうかは、ソースによって異なります。

変更データキャプチャ

Oracle Database ソースは、変更データキャプチャ(CDC)同期をサポートしています。

Oracle データベースからの Foundry CDC 同期では、Debezium を使用して行レベルの変更をキャプチャします。これには、初回のみ必要なシステム設定の変更、権限の付与、およびテーブルレベルでの補足ロギングの有効化が必要です。PLTR という名前のユーザーが MY_SCHEMA.MY_TABLE で CDC 同期を設定できるように Oracle Database を設定するには、次のコマンドを実行できます。

-- 1回のみの設定変更
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;

ALTER USER PLTR QUOTA UNLIMITED ON PALANTIR_DATA;
GRANT CONNECT, RESOURCE TO PLTR;
GRANT SELECT_CATALOG_ROLE TO PLTR;
GRANT SELECT ON V_$DATABASE TO PLTR;
GRANT SELECT ON V_$LOGMNR_CONTENTS TO PLTR;
GRANT SELECT ON V_$LOGMNR_LOGS TO PLTR;
GRANT SELECT ON V_$LOGMNR_PARAMETERS TO PLTR;
GRANT SELECT ON V_$LOGFILE TO PLTR;
GRANT SELECT ON V_$LOG TO PLTR;
GRANT SELECT ON V_$ARCHIVED_LOG TO PLTR;
GRANT SELECT ON V_$ARCHIVE_DEST_STATUS TO PLTR;
GRANT EXECUTE ON "SYS"."DBMS_FLASHBACK" TO PLTR;
GRANT EXECUTE ON "SYS"."DBMS_LOGMNR_D" TO PLTR;
GRANT EXECUTE ON "SYS"."DBMS_LOGMNR" TO PLTR;
GRANT EXECUTE ON DBMS_LOGMNR TO PLTR;
GRANT SELECT ANY DICTIONARY TO PLTR;
GRANT SELECT ANY TRANSACTION TO PLTR;
GRANT CREATE SESSION TO PLTR;
GRANT LOGMINING TO PLTR;

-- テーブルレベルの設定。テーブルごとに繰り返します。
GRANT SELECT, LOCK, FLASHBACK ON TABLE "MY_SCHEMA"."MY_TABLE" TO PLTR
ALTER TABLE "MY_SCHEMA"."MY_TABLE" ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;

トラブルシューティング

Oracle リスナーログでは、Palantir CDC コネクターからの接続試行に関する有用な情報を確認できます。ログで接続関連のエラーや問題がないか確認してください。リスナーログのデフォルトの場所は次のとおりです。

Copied!
1 $ORACLE_BASE/diag/tnslsnr/<hostname>/<listener_name>/trace/listener.log

Oracle Database のアクティブなセッションを確認することで、ユーザーが接続されているかどうかを判断できます。そのためには、 次の SQL クエリを実行します。

Copied!
1 SELECT username, osuser, status, machine, program FROM v$session WHERE username = `<user>`;

V_ $ テーブルへの権限付与に失敗した場合は、SYS.V_ $ を使用して次のクエリを実行してみてください。

Copied!
1 GRANT SELECT ON SYS.V_$DATABASE TO `<user>`;

Oracle アラートログには、データベースの操作、エラー、その他の重要なイベントに関する情報が含まれています。アラートログの場所は、Oracle のバージョンと設定によって異なります。通常は、次の場所にあります。

Copied!
1 $ORACLE_BASE/diag/rdbms/<db_unique_name>/<instance_name>/trace/alert_<instance_name>.log

コネクターが新しい変更イベントを受信していないように見える場合は、ログスイッチの頻度が低いことが原因かもしれません。V $ LOG_HISTORY ビューをクエリして、ログスイッチの履歴と頻度を確認します。

Copied!
1 SELECT * FROM v$log_history ORDER BY first_time DESC;

必要に応じて、パラメーター ARCHIVE_LAG_TARGET を設定し、一定の間隔でスイッチを強制的に実行します。

コネクターが動作するための要件として、Oracle データベースが ARCHIVELOG モードで実行されていることを確認してください。次のクエリで現在のモードを確認できます。

Copied!
1 SELECT log_mode FROM v$database;

ARCHIVELOG モードが有効になっていない場合は、次のコマンドで有効にできます。

Copied!
1 2 3 4 5 6 7 8 ORACLE_SID=<SID> <user> sqlplus /nolog CONNECT sys/top_secret AS SYSDBA alter system set db_recovery_file_dest_size = 10G; alter system set db_recovery_file_dest = '/opt/oracle/data/recovery_area' scope=spfile; shutdown immediate startup mount alter database archivelog; alter database open;

データベースレベルで最小限の補足ロギングが有効になっていることを確認してください。次のクエリで有効かどうかを確認できます。

Copied!
1 SELECT supplemental_log_data_min FROM v$database;

仮想テーブル

このセクションでは、Oracle Database ソースから仮想テーブルを使用する際の追加情報を説明します。Foundry データセットに同期する場合、このセクションは適用されません。

仮想テーブルの機能ステータス
手動登録🟢 一般提供
自動登録🔴 利用不可
計算のプッシュダウン🔴 利用不可

仮想テーブルを使用する際は、次のソース設定要件に注意してください。

  • Foundry ワーカーのソースを使用する必要があります。仮想テーブルは、Agent ワーカー接続の使用をサポートしていません。
  • 上記のネットワークセクションで説明しているとおり、双方向の接続と許可リスト登録が確立されていることを確認してください。
  • Code Repositories で仮想テーブルを使用する場合は、追加で必要なソース設定の詳細について関連ドキュメントを参照してください。
  • ソースの資格情報を設定する際は、username/password を使用する必要があります。