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/>`_を参照してください。
このトピックでは、 Openflow Connector for Oracle の一般的な問題のトラブルシューティング方法について説明します。
テーブルが複製に追加されたが、Snowflakeに表示されない¶
テーブルの完全修飾名(FQN)がコネクタの構成で誤って指定されている可能性があります。
解決策
``Oracle Ingestion Parameters``のFQNの形式を確認します。``<database_name>.<schema_name>.<table_name>``である必要があります(データベースプレフィックスに注意してください)。
Oracle Source Parameters» ``Oracle Connection URL``でデータベース名を確認します。FQNsはデータベースの名前の指定をサポートしていますが、現在のデータは、この接続に使用されるものと同じデータベースインスタンスに存在する必要があります。コネクタ構成で、ドメイン名を含む完全なデータベース名を指定したことを確認します。たとえば、単に``MYDB``ではなく``MYDB.EXAMPLE.COM``を使用します。
正しいデータベース名を見つけるには、Oracleデータベースで次のクエリを実行します。
一般に``property_value``はデータベースのサービス名と同じです。ただし、返されるデータベース名には、追加されたドメイン名が含まれる場合があります(たとえば、サービス名``FOO``の場合、クエリは``FOO.EXAMPLE.COM``を返す可能性があります)。その場合は、ドメイン付きの完全な名前(ドットが含まれているため、二重引用符で囲む)を使用します。
増分ロードにおける変更なし¶
増分ロードでは、ソースデータベースからの変更を取得または適用していません。
解決策
Read Oracle CDC Stream プロセッサーの検証を実行します。
Openflowランタイムで、:ui:`Oracle`フローをダブルクリックします。
:ui:`Incremental Load`という名前のプロセスグループをダブルクリックします。
:ui:`Read Oracle CDC Stream`プロセッサーを見つけます。
実行中の場合は、右クリックして:ui:`Stop`を選択します。構成を確認する前に、プロセッサーを停止する必要があります。
:ui:`Read Oracle CDC Stream`を再度右クリックし、:ui:`Configure`を選択します。
Properties タブを選択します。
右上隅の:ui:`Verification`チェックマークアイコンを選択します。
表示されるポップアップウィンドウで、右下隅の:ui:`Verify`を選択します。
検証手順の結果が下部に表示されます。プロシージャは、データベース接続を検証し、増分ロードが機能するために必要なコンポーネントのステータスを確認します。
検証手順のいずれかが失敗した場合は、エラーメッセージを表示し、問題を修正して、検証を再度実行します。次のセクションでは、具体的な問題と解決策について説明します。
キャプチャステータスがENABLEDではない¶
キャプチャプロセスのステータスは``DISABLED``または``ABORTED``です。``DISABLED``ステータスは、キャプチャプロセスが(``DBMS_XSTREAM_ADM.STOP_OUTBOUND``で)手動で停止されたか、データベースが再起動されたことを意味します。``ABORTED``ステータスは、通常、キャプチャプロセスに必要なredoログが削除されたため、キャプチャでエラーが発生したことを意味します。これは、システム変更番号(SCN)の位置を確認するか、キャプチャステータスをクエリすることで確認できます。
解決策
アウトバウンドサーバーを起動します。
LogMinerセッションのUNKNOWNステータス¶
LogMinerステータスは``UNKNOWN``です。これは、LogMinerが依存していたアーカイブ済みのログが削除されたことを意味します。これは、``V$ARCHIVED_LOG``をクエリし、DELETED列の値がYESである行をチェックすることで確認できます。
解決策
XStreamアウトバウンドサーバーを再作成します。詳しくは、:ref:`label-recreate_xstream_outbound_server`を参照してください。
XStreamキャプチャのWAITING FOR REDOステータス¶
XStreamキャプチャステータスに``WAITING FOR REDO: FILE NA, THREAD 1, SEQUENCE 47, SCN 0x0000000000190ac4``が表示されます。これは、LogMinerが削除されたために利用できないアーカイブログファイルを待機していることを意味します。これは、``V$ARCHIVED_LOG``をクエリし、DELETED列の値がYESである行をチェックすることで確認できます。
解決策
XStreamアウトバウンドサーバーを再作成します。詳しくは、:ref:`label-recreate_xstream_outbound_server`を参照してください。
XStreamキャプチャルールが正しくない¶
XStreamは、予期されるスキーマまたはテーブルからの変更をキャプチャするように構成されていません。
解決策
次のクエリを実行して、キャプチャルールを確認します。
キャプチャステータスとエラーメッセージを直接クエリすることもできます。
このクエリは次を返します。
CLIENT_NAME:XStreamクライアント(アウトバウンドサーバー)の名前。STATUS:キャプチャプロセスの現在のステータス(例:ENABLED、DISABLED、ABORTED)。ERROR_MESSAGE:キャプチャ処理に関連するエラーメッセージ。
エラーORA-21560:引数last_positionがnull、無効、または範囲外¶
コネクタが、redoログが利用できなくなったSCN位置に接続しようとしました。
解決策
次のクエリを実行して、問題を確認します。``Last SCN processed by XStream``のSCNは、redoログが存在する最小のSCNよりも大きい必要があります。
このエラーから回復するには、XStreamアウトバウンドサーバーを再作成します。詳しくは、:ref:`label-recreate_xstream_outbound_server`を参照してください。
エラーORA-26701:ストリームプロセスXOUT1が存在しない¶
XStreamアウトバウンドサーバーがデータベースインスタンスで見つかりません。
解決策
次のことを確認します。
Oracle Source Parameters» ``XStream Out Server URL``内のデータベース名は、別のPDBではなく、XStreamアウトバウンドサーバーを持つデータベースインスタンスを指しています。XStreamはこのインスタンスで作成されており、同じ名前です。
エラーORA-01722:アウトバウンドサーバー作成時の無効な数値¶
``DBMS_XSTREAM_ADM.CREATE_OUTBOUND``の実行が以下のように失敗します。
このエラーは誤解を招くものです。アウトバウンドサーバーは既に存在します。
解決策
アクションは必要ありません。既存のアウトバウンドサーバーを使用します。
XStreamアウトバウンドサーバーで問題が発生する¶
redoログの削除やLogMiner状態の破損などの複数の問題は、XStreamアウトバウンドサーバーを再作成することで解決できる場合があります。
解決策
既存のアウトバウンドサーバーをドロップします。
アウトバウンドサーバーを再度作成します。詳細については、 XStreamアウトバウンドサーバーを作成する をご参照ください。