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>' )
Copy

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 Onglet Historique 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 details est inclus dans les informations de phase Copying Primary Data et Copying Replica Data.

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 :

    1. SECONDARY_UPLOADING_INVENTORY

    2. PRIMARY_UPLOADING_METADATA

    3. PRIMARY_UPLOADING_DATA

    4. SECONDARY_DOWNLOADING_METADATA

    5. SECONDARY_DOWNLOADING_DATA

    6. 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');
Copy

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'))));
Copy

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');
Copy

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'))));
Copy