Oracle統合CDCコネクタのFAQ
ベータ版
この機能はベータ版です。ワークスペース管理者は、 プレビュー ページからこの機能へのアクセスを制御できます。Databricksのプレビューを管理するを参照してください。
このページでは、Databricks Lakeflow Connect の Oracle 統合 CDC コネクタに関してよく寄せられる質問に回答します。
マネージドコネクタの一般的な FAQ
マネージドコネクタの FAQ の回答は、Lakeflowコネクトのすべてのマネージド コネクタに適用されます。コネクタ固有の FAQ については、引き続きお読みください。
コネクタではどのような抽出メソッドを使用しますか?
このコネクターは、コミットされていない非継続モードでOracle LogMinerを使用し、JDBC経由で接続します。XStream、Oracle GoldenGate、またはREDO Logsファイルへの直接アクセスは使用しません。
コミットされていないモードでは、LogMinerは変更がcommitされる前に読み取るため、レプリケーションを即座に起動でき、ソースデータベースの処理負荷とメモリ(PGA)負荷を低く抑えられます。このパイプラインは生の変更をステージングし、対応するcommitを読み取った後にのみ、宛先にトランザクションを適用します。コネクタが使用しないコミットモードでは、LogMinerはソースデータベースのPGAメモリ内にトランザクション全体をバッファリングしますが、大規模なトランザクションではこのメモリが枯渇する可能性があります。
LogMiner は非推奨ではないのですか?
いいえ。Oracle は、SQL を通じてオンラインおよびアーカイブされた Redo Logs をクエリーするための組み込みデータベース機能として、引き続き LogMiner をサポートしています。
[[ ## completed ##]]Oracle は Oracle Database 12c で DBMS_LOGMNR.START_LOGMNR の CONTINUOUS_MINE オプションを非推奨とし、19c で削除しましたが、コネクタはアンコミットモードで LogMiner を使用し、継続的なマイニングに依存しないため、この変更はインジェストに影響しません。
パイプラインが失敗した場合、データ損失なしで取り込みは再開されますか?
はい。Databricks は、コネクタがソースから何を抽出し、送信先に何を適用したかを追跡します。何らかの問題が発生した場合でも、アーカイブ Logs がソースデータベースに残っていれば、Databricks はその時点から再開できます。パイプラインがランする前にアーカイブ Logs がパージ(削除)された場合、再開は不可能であり、ターゲットテーブルの完全更新が必要になります。
このコネクタは日付および時刻列のタイムゾーンをキャプチャしますか?
秒の小数部分の精度が 6 以下の場合、コネクタは TIMESTAMP WITH TIME ZONE 列と TIMESTAMP WITH LOCAL TIME ZONE 列のタイムゾーン情報を保持します。DATE 列は TIMESTAMP にマップされ、プレーンな TIMESTAMP 列は文字列として取り込まれます。どちらもタイムゾーン変換は行われません。「Oracle 統合 CDC コネクタ リファレンス」を参照してください。
どの補足ロギング方法を選択すべきですか?
テーブルレベル、またはコンテナー(PDB)やデータベースレベルで補足的なロギングを有効にします。スキーマまたはコンテナーレベルで構成されている場合、テーブルは構成された補足的な Logs レベルを継承します。
- 主キー補足ロギング が最小限の要件であり、主キーを持たないテーブルを含むほとんどのテーブルで十分です。テーブルに主キーがない場合、
LOB型とLONG型を除くすべての列が記録され、コネクタは宛先の Delta テーブルに書き込む際にそれらをバンドルキーとして扱います。 - 完全な補足ログ記録 は、主キーまたは一意キーの列が
UPDATEステートメントによって更新されるテーブルに対してのみ必要です。これがないと、パイプラインはそのような更新に遭遇したときに失敗し、フルリフレッシュを要求します。このメソッドは Redo Logs 内のすべての列を記録するため、より多くのディスク容量を使用します。
Databricks では、主キーを持つテーブルを複製することを推奨しています。「補足的なログ記録を有効にする」を参照してください。
取り込みパイプラインをランするスケジュールはどのくらいの頻度で設定できますか? [[ ## completed ##]]
パイプラインはTrigger モードでランします。 [[ ## completed ##]]定期的なスケジュールでデータを取り込むには、ソース上のアーカイブ Log がパージされる前に変更を処理できる十分な頻度でスケジュールされた Lakeflow Jobs タスクからランします。 [[ ## completed ##]]一般的なパイプラインのメンテナンス タスクおよび定期的な更新のスケジュールを参照してください。
コネクタはマルチテナント(CDB)データベースをサポートしていますか?
はい。マルチテナントデータベースの場合は、CDB$ROOT に共通ユーザーを作成し、Unity Catalog 接続で CDB$ROOT サービス名を使用します。マルチテナントの Amazon RDS for Oracle インスタンスはサポートされていません。「マルチテナント (CDB) データベース」を参照してください。
物理スタンバイまたは読み取り専用インスタンスからデータを取り込むことはできますか?
いいえ。LogMinerベースの変更キャプチャには、プライマリOracleインスタンスが必要です。
このコネクタは、Active Data Guard を使用した論理スタンバイをサポートしていますか?
いいえ。コネクタはプライマリデータベースからのみレプリケートします。論理スタンバイデータベースはすでに LogMiner を使用してプライマリからの変更を適用しており、DBA 以外のユーザーによる LogMiner へのアクセスを制限しているため、追加の LogMiner ベースのレプリケーションは実行できません。
コネクタはリードレプリカをサポートしていますか?
いいえ、現時点ではできません。
このコネクタはオンプレミスのOracleをサポートしていますか?
はい、十分な帯域幅を持つ AWS Direct Connect、Azure ExpressRoute、または VPN 経由で到達可能なソースデータベースであれば可能です。
このコネクタは Oracle E-Business Suite (EBS) をサポートしていますか?
はい、基盤となるデータベースへのアクセス権がある場合です。コネクタはアプリケーション層からではなく、データベースから直接読み取ります。
このコネクタは、CCS、WACS、Fusion などの Oracle アプリケーションをサポートしていますか?
公式にはサポートされていません。このコネクタはデータベースに直接接続し、LogMiner を使用して変更を読み取るため、アプリケーションを認識しません。アプリケーションがデータベースポートを公開している場合、コネクタは基礎となるテーブルを複製する可能性がありますが、それらの間のアプリケーションレベルの関係はアカウントされないため、関連テーブル間で不整合が生じる可能性があります。このため、Databricks は Oracle Customer クラウド サービス (CCS)、Work and Asset クラウド サービス (WACS)、Oracle Fusion、または類似のアプリケーションを正式にはサポートしていません。
Oracleビューからデータを取り込むことはできますか?
いいえ、現時点では利用できません。このコネクタはテーブルからのみ取り込みを行います。