注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
Foundry を Oracle Database に接続して、Oracle データベースと Foundry の間でデータを読み取り、同期します。
外部データソースで使用している Oracle データベースのバージョンが12.1(2013年リリース)より古い場合は、汎用 JDBC コネクターを使用し、独自のドライバーをアップロードしてください。以下で説明する Oracle Database コネクターは、Oracle JDBC 21.x ドライバーを実装しています。Oracle データベースのバージョンと JDBC ドライバーの相互運用性マトリックスについて、Oracle 公式ドキュメントで詳しくはこちら ↗。
Oracle Database コネクターは、Palantir 提供のドライバーを使用するコネクターです。このドライバーの公式ドキュメント ↗を確認してください。
| 機能 | ステータス |
|---|---|
| 探索 | 🟢 一般提供 |
| バッチ同期 | 🟢 一般提供 |
| インクリメンタル(差分連携) | 🟢 一般提供 |
| Iceberg 同期 | 🟢 一般提供 |
| 変更データキャプチャ同期 | 🟢 一般提供 |
| テーブルエクスポート | 🟢 一般提供 |
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!1SELECT username, osuser, status, machine, program FROM v$session WHERE username = `<user>`;
V_ $ テーブルへの権限付与に失敗した場合は、SYS.V_ $ を使用して次のクエリを実行してみてください。
Copied!1GRANT 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!1SELECT * FROM v$log_history ORDER BY first_time DESC;
必要に応じて、パラメーター ARCHIVE_LAG_TARGET を設定し、一定の間隔でスイッチを強制的に実行します。
コネクターが動作するための要件として、Oracle データベースが ARCHIVELOG モードで実行されていることを確認してください。次のクエリで現在のモードを確認できます。
Copied!1SELECT log_mode FROM v$database;
ARCHIVELOG モードが有効になっていない場合は、次のコマンドで有効にできます。
Copied!1 2 3 4 5 6 7 8ORACLE_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!1SELECT supplemental_log_data_min FROM v$database;
このセクションでは、Oracle Database ソースから仮想テーブルを使用する際の追加情報を説明します。Foundry データセットに同期する場合、このセクションは適用されません。
| 仮想テーブルの機能 | ステータス |
|---|---|
| 手動登録 | 🟢 一般提供 |
| 自動登録 | 🔴 利用不可 |
| 計算のプッシュダウン | 🔴 利用不可 |
仮想テーブルを使用する際は、次のソース設定要件に注意してください。
username/password を使用する必要があります。