メインコンテンツまでスキップ

Oracle統合CDCコネクターの制限事項

備考

ベータ版

この機能はベータ版です。ワークスペース管理者は、 プレビュー ページからこの機能へのアクセスを制御できます。Databricksのプレビューを管理するを参照してください。

このページでは、Databricks Lakeflow Connectを使用したOracleからの取り込みに関する制限事項と考慮事項を示します。

一般的なデータベースコネクタの制限事項

このセクションの制限は、 Lakeflowコネクトのすべてのデータベースコネクタに適用されます。 コネクタ固有の制限事項については、引き続きお読みください。

  • スケジュールされたパイプラインをランする場合、アラートはすぐにはTriggerされません。その代わり、次の更新がランするときにTriggerされます。

  • ソース テーブルを削除しても、宛先テーブルは自動的に削除されません。宛先テーブルを手動で削除する必要があります。この動作は、Lakeflow 上の Spark 宣言型パイプラインの動作と一致しません。

  • ステージングカタログをフォーリンカタログにすることはできません。

  • ソースのメンテナンス期間中は、Databricksがデータにアクセスできない場合があります。

  • ソーステーブル名が既存の宛先テーブル名と競合する場合、パイプラインの更新は失敗します。

  • マルチ送信先パイプラインのサポートはAPIのみです。

  • 取り込むテーブルの名前は、オプションで変更できます。パイプライン内のテーブルの名前を変更すると、そのテーブルは API 専用パイプラインになり、UI でパイプラインを編集できなくなります。

  • パイプラインがすでに起動した後に列を選択した場合、コネクタはその新しい列のデータを自動的にバックフィルしません。ヒストリカルデータを取り込むには、テーブルで完全更新を手動でランします。 [[ ## completed ##]]

  • Databricks では、異なるソーススキーマからのテーブルであっても、同じパイプライン内で同じ名前のテーブルを 2 つ以上取り込むことはできません。

  • ソースシステムは、カーソル列が単調に増加することを前提としています。

  • ゲートウェイのスナップショットは再開できません。スナップショットの実行中にパイプラインを更新した場合(新しいテーブルの追加など)、現在のスナップショットはキャンセルされ、新しいスナップショットが起動します。新しいスナップショットには、キャンセルされたスナップショットのテーブルと、新しく追加されたテーブルの和集合が含まれます。

  • このコネクターは、変換を行わずに生データを取り込みます。変換には、LakeFlow Pipelines上のダウンストリームのSpark宣言型パイプラインを使用します。

認証

  • このコネクタは、基本認証 (ユーザー名とパスワード) のみをサポートしています。

データベースのバリエーション

  • このコネクタは、Oracle バージョン 12c 以降 (12c、18c、19c、21c、23ai、および 26ai) をサポートしています。
  • このコネクタは、Amazon RDS for Oracle、および Amazon EC2、Azure 仮想マシン (VM)、または Oracle クラウド (OCI) 上で実行される Oracle をサポートしています。このコネクタは、Azure ExpressRoute、AWS Direct Connect、または VPN を使用したオンプレミスの Oracle もサポートしています。クロスクラウド接続の詳細については、ネットワーク接続を参照してください。
  • Oracle Real Application クラスター (RAC) はサポートされていません(RAC 構成の Exadata を含む)。シングルインスタンスの Oracle データベースに接続します。
  • 以下の Oracle デプロイメントもサポートされていません:物理スタンバイ、Oracle Autonomous Database、およびマルチテナント Amazon RDS for Oracle インスタンス。
  • Transparent Data Encryption(TDE)で暗号化されたデータは、暗号化ウォレット(キーストア)が開いている場合にのみサポートされます。ウォレットが閉じている場合、LogMinerは暗号化された列に対して Unsupported Type を報告します。

ソースデータ

  • サポートされていないデータ型:XML (XMLTYPE)、JSONBFILEVECTORBOOLEAN、および空間データ型。
  • BLOBCLOB、および NCLOB の値は部分的にサポートされています。LogMinerは、変更Logs内のSQLステートメントとインラインでほとんどの値を配信し、コネクタはそれらを変更から直接読み取ります。インライン外に書き出されるため、LogMinerがREDOレコードに含めないラージオブジェクト値はキャプチャされません。ラージオブジェクト(LOB)列を参照してください。
  • LogMiner は、BFILE、ネストされたテーブル、VARRAY コレクション、ID 列、時間的妥当性列、PKREF 列、または PKOID 列を含むテーブルを無視します。LogMiner の制限事項を参照してください。
  • LogMinerでは、テーブル名または列名が30文字を超えないようにする必要があります。
  • Oracle は、引用符で囲まれていない識別子を大文字で保存します。source_catalog (サービス名)、source_schema、および source_table の名前では大文字と小文字が区別され、Oracle での保存方法と一致している必要があります。

スキーマ進化

このコネクタは、以下のスキーマ変更を自動的に処理します。

  • 新しい列。ソースに新しい列が表示されると、Databricksは次回のパイプラインのランでそれを取り込みます。
  • 削除された列。ソースからカラムが削除された場合、コネクタはそれを削除するのではなく、宛先で inactive とマークします。後で inactive カラムと名前が競合する別のカラムが出現した場合、パイプラインは失敗します。この場合、テーブルの完全更新をランしてください、非アクティブなカラムを手動で削除してください。
  • データ型の拡張(例:NUMBER(10) から NUMBER(20)、または VARCHAR2(50) から VARCHAR2(100))。
  • スキーマ全体を取り込む場合の新しいテーブル。

以下のスキーマ変更は自動的に処理されないため、影響を受けるテーブルの完全更新が必要です:

  • 列の名前変更。名前の変更は列の削除と追加として適用されるため、履歴値は新しい名前の下には引き継がれません。
  • テーブルの名前変更。
  • 非拡張(縮小)データ型の変更。
  • 既存の列に NOT NULL 制約を追加します。

手動操作なしでこれらの変更から復旧するには、自動フル更新を有効にします。これにより、影響を受けるテーブルが自動的にフル更新されます。自動フル更新ポリシーを参照してください。

パイプライン

  • Oracle統合CDCコネクターは、抽出と適用を単一のパイプラインに統合する統合CDCパイプラインを使用します。Oracle向けの統合CDCパイプラインの作成を参照してください。
  • パイプラインが処理する前に Oracle がアーカイブ Logs をパージした場合は、影響を受けるテーブルに対して完全更新を実行してください。

ステージング

  • ステージングカタログをフォーリンカタログにすることはできません。

テーブル