Affichage des journaux pour la validation des données

Pour valider une table externe, utilisez les procédures DBMS_CLOUD.VALIDATE_EXTERNAL_TABLE, DBMS_CLOUD.VALIDATE_EXTERNAL_PART_TABLE et DBMS_CLOUD.VALIDATE_HYBRID_PART_TABLE.

Après avoir validé les fichiers source, vous pouvez consulter le résultat de l'opération de validation, en interrogeant une table d'opérations de chargement :

  • dba_load_operations : affiche toutes les opérations de validation

  • user_load_operations : affiche les opérations de validation dans votre schéma

Vous pouvez utiliser ces fichiers pour afficher les informations de validation du chargement. Par exemple, utilisez l'opération SELECT suivante pour interroger user_load_operations :

SELECT table_name, owner_name, type, status, start_time, update_time, logfile_table, badfile_table
FROM user_load_operations
WHERE type = 'VALIDATE';

TABLE_NAME    OWNER_NAME  TYPE       STATUS     START_TIME     UPDATE_TIME    LOGFILE_TABLE    BADFILE_TABLE
------------- ----------  ---------- ---------- -------------- -------------  ---------------  ---------------
CHANNELS_EXT  SH          VALIDATE   COMPLETED  13-NOV-17...   13-NOV-17...   VALIDATE$21_LOG  VALIDATE$21_BAD

L'utilisation de cette instruction SQL avec la clause WHERE sur la colonne TYPE affiche toutes les opérations de chargement de type VALIDATE.

La colonne LOGFILE_TABLE indique le nom de la table que vous pouvez interroger pour consulter le journal d'une opération de validation. Par exemple, la requête suivante affiche le journal de l'opération de validation :

SELECT * FROM VALIDATE$21_LOG;

La colonne BADFILE_TABLE indique le nom de la table que vous pouvez interroger pour consulter les lignes qui ont rencontré des erreurs lors de la validation. Par exemple, la requête suivante affiche les enregistrements rejetés pour l'opération de validation ci-dessus :

SELECT * FROM VALIDATE$21_BAD;

En fonction des erreurs affichées dans le journal et des lignes affichées dans BADFILE_TABLE, vous pouvez corriger l'erreur en supprimant la table externe en utilisant la commande DROP TABLE et la recréant en spécifiant les options d'format correctes dans DBMS_CLOUD.CREATE_EXTERNAL_TABLE, DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE ou DBMS_CLOUD.CREATE_HYBRID_PART_TABLE.

Remarque

Les tables LOGFILE_TABLE et BADFILE_TABLE sont stockées pendant deux jours pour chaque opération de validation, puis enlevées automatiquement.