COPY_DATAロードの監視およびトラブルシューティング
PL/SQLパッケージDBMS_CLOUDを使用して実行されたすべてのデータ・ロード操作は、表dba_load_operationsおよびuser_load_operationsに記録されます。これらの表を使用して、DBMS_CLOUD.COPY_DATAによるロードを監視します、
-
dba_load_operations: すべてのロード操作が表示されます。 -
user_load_operations: 自分のスキーマのロード操作が表示されます。
これらの表を問い合せると、進行中または完了済のデータ・ロードに関する情報が表示されます。このSELECT文をTYPE列に対するWHERE句述部付きでCOPY型のロード操作を表示します。
たとえば:
SELECT table_name, owner_name, type, status, start_time, update_time, logfile_table, badfile_table
FROM user_load_operations WHERE type = 'COPY';TABLE_NAME OWNER_NAME TYPE STATUS START_TIME UPDATE_TIME LOGFILE_TABLE BADFILE_TABLE
---------- ---------- ---- --------- ------------------------ ------------------------ ------------- -------------
TREEDATA ADMIN COPY COMPLETED 2022-10-20T23:15:19.990Z 2022-10-20T23:15:24.238Z COPY$1_LOG COPY$1_BAD
LOGFILE_TABLE列には、ロード操作のログを確認するための問合せを実行できる表の名前が表示されます。たとえば、次の問合せでは、このロード操作のログが表示されます。
SELECT * FROM COPY$1_LOG;BADFILE_TABLE列には、ロード中にエラーが発生する行を確認するために問い合せることができる表の名前が表示されます。たとえば、次の問合せでは、ロード操作で拒否されたレコードが表示されます操作に拒否された行がない場合、問合せには拒否された行は表示されません。
SELECT * FROM COPY$1_BAD;ログに表示されているエラーと、BADFILE_TABLEファイルに表示されている行に応じて、正しいフォーマット・オプションをDBMS_CLOUD.COPY_DATAで指定することにより、エラー修正できます。
typeのフォーマットが"datapump"である場合、指定したrejectlimitまで拒否された行はログ・ファイルに記録されますが、BADFILE_TABLEは生成されません。
デフォルトでは、LOGFILE_TABLEおよびBADFILE_TABLEファイルは2日間保持され、自動的に削除されます。保持日数を変更するには、formatパラメータのlogretentionオプションを使用します。
formatパラメータのenablelogs、logdir、logprefixおよびlogretentionオプションの詳細は、「DBMS_CLOUDパッケージのフォーマット・オプション」を参照してください。
ログ・ファイルのクリアの詳細は、「DELETE_ALL_OPERATIONSプロシージャ」を参照してください。
dba_load_operationsビューおよびuser_load_operationsビューの詳細は、DBMS_CLOUDロード操作の追跡を参照してください。
一括ファイル操作のモニターおよびトラブルシューティング
バルク・ファイル操作の監視およびトラブルシューティングの詳細は、「バルク・ファイル・ロードの監視およびトラブルシューティング」を参照してください。
ORC、ParquetまたはAvroファイルのロードのモニターおよびトラブルシューティング
他のデータ・ファイルと同様に、ORC、ParquetおよびAvroデータをロードすると、dba_load_operationsおよびuser_load_operations表で表示可能なログが生成されます。各ロード操作により、ログを含む表を示すdba[user]_load_operationsにレコードが追加されます。
ログ表は、ロードに関するサマリー情報を示します。
注意:
ORC、ParquetまたはAvroファイルの場合、formatパラメータのtypeが値orc、parquetまたはavroに設定されていると、BADFILE_TABLE表は常に空になります。
-
PRIMARY KEY制約エラーによってORAエラーがスローされます。 -
列のデータで変換エラーが発生した場合(たとえば、ターゲット列の大きさが変換後の値を格納できるほど大きくない場合など)、その列の値は
NULLに設定されます。これにより、拒否されたレコードは生成されません。