外部パーティション・データの検証

外部パーティション表を検証するには、プロシージャDBMS_CLOUD.VALIDATE_EXTERNAL_PART_TABLEを使用します。このプロシージャには、検証する特定のパーティションを指定できるパラメータが含まれています。

外部パーティション表を検証する前に、外部パーティション表を作成する必要があります。外部パーティション表を作成するには、プロシージャDBMS_CLOUD.CREATE_EXTERNAL_PART_TABLEを使用します(詳細は、「外部パーティション・データの問合せ(パーティション化句を使用)」を参照してください):

BEGIN
  DBMS_CLOUD.VALIDATE_EXTERNAL_PART_TABLE (
    table_name => 'PET1',
    partition_name => 'P1');
END;
/

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

デフォルトでは、パーティション表の検証では、rowcountに達するまですべてのパーティションが順次検証されます。partition_nameを指定すると、特定のパーティションのみが検証されます。

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

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

BEGIN 
  DBMS_CLOUD.VALIDATE_EXTERNAL_PART_TABLE (
     table_name => 'PET1',
     rowcount => 100 ); 
END; 
/

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

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

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

DBMS_CLOUD.VALIDATE_EXTERNAL_PART_TABLEの詳細は、「VALIDATE_EXTERNAL_PART_TABLEプロシージャ」を参照してください。

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