- Catégories :
Fonctions système (Informations système)
SYSTEM$DATABASE_REFRESH_PROGRESS , SYSTEM$DATABASE_REFRESH_PROGRESS_BY_JOB — Obsolète¶
La famille de fonctions SYSTEM$DATABASE_REFRESH_PROGRESS permet d’interroger le statut d’une actualisation de la base de données selon diverses dimensions :
SYSTEM$DATABASE_REFRESH_PROGRESS renvoie un objet JSON indiquant le statut d’actualisation actuel d’une base de données secondaire par son nom.
SYSTEM$DATABASE_REFRESH_PROGRESS_BY_JOB renvoie un objet JSON indiquant le statut d’actualisation actuel d’une base de données secondaire globale par requête d’actualisation.
Note
Ces fonctions renvoient l’activité d’actualisation de la base de données au cours des 14 derniers jours.
Syntaxe¶
SYSTEM$DATABASE_REFRESH_PROGRESS( '<secondary_db_name>' )
SYSTEM$DATABASE_REFRESH_PROGRESS_BY_JOB( '<query_id>' )
Arguments¶
secondary_db_name
Nom de la base de données secondaire. Cet argument est facultatif si la base de données secondaire est la base de données active de la session en cours.
Notez que le nom entier doit être entre guillemets simples.
query_id
ID de la requête d’actualisation de la base de données. L’ID de requête peut être obtenu à partir de la page History dans l’interface Web.
Sortie¶
La fonction renvoie les éléments suivants dans un objet JSON :
Nom de la colonne |
Type de données |
Description |
---|---|---|
phaseName |
TEXT |
Nom des phases de réplication terminées (ou en cours) jusqu’à présent. Pour la liste des phases, voir les notes d’utilisation. |
resultName |
TEXT |
Statut de la phase de réplication. |
startTimeUTC |
NUMBER |
Heure à laquelle la phase de réplication a commencé. Le format est l’heure de l’époque. |
endTimeUTC |
NUMBER |
Heure de fin de la phase, le cas échéant. Le format est l’heure de l’époque. |
details |
VARIANT |
Un objet distinct JSON indiquant le nombre total d’octets dans l’actualisation des données, ainsi que le nombre d’octets copiés jusqu’à présent dans la phase. Si l’instruction d’actualisation a précédemment échoué ou a été annulée et a été lancée à nouveau, l’objet indique le nombre d’octets ignorés lors de la deuxième tentative. L’objet |
Notes sur l’utilisation¶
Renvoie uniquement les résultats des administrateurs de compte (utilisateurs dotés du rôle ACCOUNTADMIN).
Voici la liste des phases de traitement dans l’ordre :
SECONDARY_UPLOADING_INVENTORY
PRIMARY_UPLOADING_METADATA
PRIMARY_UPLOADING_DATA
SECONDARY_DOWNLOADING_METADATA
SECONDARY_DOWNLOADING_DATA
COMPLETED / FAILED / CANCELED
Exemples¶
L’exemple suivant récupère le statut d’actualisation actuel de la base de données secondaire spécifiée. Les résultats sont renvoyés dans un objet JSON :
SELECT SYSTEM$DATABASE_REFRESH_PROGRESS('mydb');
L’exemple suivant récupère les mêmes détails que dans l’exemple précédent, mais les résultats sont séparés en colonnes relationnelles et les horodatages sont convertis en tant que TIMESTAMP_LTZ :
SELECT value:phaseName::string AS "Phase", value:resultName::string AS "Result", TO_TIMESTAMP_LTZ(value:startTimeUTC::numeric,3) AS "startTime", TO_TIMESTAMP_LTZ(value:endTimeUTC::numeric,3) AS "endTime", value:details AS "details" FROM table(flatten(INPUT=> PARSE_JSON(SYSTEM$DATABASE_REFRESH_PROGRESS('mydb1'))));
L’exemple suivant récupère le statut de la requête d’actualisation de la base de données spécifiée. Les résultats sont renvoyés dans un objet JSON :
SELECT SYSTEM$DATABASE_REFRESH_PROGRESS_BY_JOB('4cbd7187-51f6-446c-9814-92d7f57d939b');
L’exemple suivant récupère les mêmes détails que dans l’exemple précédent, mais les résultats sont séparés en colonnes relationnelles et les horodatages sont convertis en tant que TIMESTAMP_LTZ :
SELECT value:phaseName::string AS "Phase", value:resultName::string AS "Result", TO_TIMESTAMP_LTZ(value:startTimeUTC::numeric,3) AS "startTime", TO_TIMESTAMP_LTZ(value:endTimeUTC::numeric,3) AS "endTime", value:details AS "details" FROM TABLE(FLATTEN(input=> PARSE_JSON(SYSTEM$DATABASE_REFRESH_PROGRESS_BY_JOB('4cbd7187-51f6-446c-9814-92d7f57d939b'))));