外部データの検証

外部表を検証するには、プロシージャDBMS_CLOUD.VALIDATE_EXTERNAL_TABLEを使用できます。

外部パーティション表を検証するには、外部パーティション・データの検証を参照してください。このプロシージャには、検証する特定のパーティションを指定できます。

ハイブリッド・パーティション表を検証するには、ハイブリッド・パーティション・データの検証を参照してください。このプロシージャには、検証する特定のパーティションを指定できます。

外部テーブルを検証する前に、外部テーブルを作成する必要があります。外部表を作成するには、表タイプのプロシージャDBMS_CLOUD.CREATE_EXTERNAL_TABLEを使用します。たとえば:

BEGIN
  DBMS_CLOUD.VALIDATE_EXTERNAL_TABLE (
    table_name => 'CHANNELS_EXT' );
END;
/

このプロシージャによってソース・ファイルがスキャンされ、外部表の作成時に指定したフォーマット・オプションを使用して検証されます。

検証操作は、デフォルトでソース・ファイル内のすべての行をスキャンし、行が拒否されると停止します。行のサブセットのみを検証する場合は、rowcountパラメータを使用します。rowcountパラメータが設定されている場合、検証操作は行をスキャンし、行が拒否されるか、指定した数の行がエラーなしで検証されると停止します。

たとえば、次の検証操作は100行をスキャンし、行が拒否されるか、100行がエラーなしで検証されると停止します:

BEGIN 
  DBMS_CLOUD.VALIDATE_EXTERNAL_TABLE (
     table_name => 'CHANNELS_EXT',
     rowcount => 100 ); 
END; 
/

行が拒否されても検証を停止せずに、拒否されたすべての行を確認する場合は、stop_on_errorパラメータをFALSEに設定します。この場合、VALIDATE_EXTERNAL_TABLEは、すべての行をスキャンし、拒否されたすべての行をレポートします。

行のサブセットのみを検証する場合は、rowcountパラメータを使用します。rowcountが設定され、stop_on_errorFALSEに設定されている場合、検証操作は行をスキャンし、指定した数の行が拒否されるか、指定した数の行がエラーなしで検証されると停止します。たとえば、次の例は100行をスキャンし、100行が拒否されるか、100行がエラーなしで検証されると停止します:

BEGIN 
  DBMS_CLOUD.VALIDATE_EXTERNAL_TABLE (
     table_name => 'CHANNELS_EXT',
     rowcount => 100 
     stop_on_error => FALSE );
END; 
/

DBMS_CLOUD.VALIDATE_EXTERNAL_TABLEパラメータの詳細は、VALIDATE_EXTERNAL_TABLEプロシージャを参照してください。

dba_load_operationsおよびuser_load_operationsの検証操作の結果を確認するには、データ検証のログの表示を参照してください。