カテゴリ:

システム関数 (システム情報)

SYSTEM$DATABASE_REFRESH_HISTORY

セカンダリデータベースの更新履歴を示す JSON オブジェクトを返します。

注釈

この関数は、過去14日間のデータベース更新アクティビティを返します。

構文

SYSTEM$DATABASE_REFRESH_HISTORY( '<secondary_db_name>' )

引数

セカンダリデータベース名

セカンダリデータベースの名前。セカンダリデータベースが現在のセッションのアクティブデータベースである場合、この引数はオプションです。

名前全体を一重引用符で囲む必要があります。

出力

この関数は、 JSON オブジェクトで次の要素を返します。

列名

データ型

説明

startTimeUTC

NUMBER

複製操作が開始された時刻。形式はエポック時間です。

endTimeUTC

NUMBER

複製操作が終了した時刻(該当する場合)。形式はエポック時間です。

currentPhase

TEXT

現在の複製フェーズ。フェーズのリストについては、使用上の注意をご参照ください。

jobUUID

TEXT

セカンダリデータベース更新ジョブのクエリ ID 。

copy_bytes

NUMBER

複製操作中にコピーされたバイト数。

object_count

NUMBER

複製操作中にコピーされたデータベースオブジェクトの数。

使用上の注意

  • アカウント管理者( ACCOUNTADMIN ロールを持つユーザー)の結果のみを返します。

  • 次は、処理される順序のフェーズのリストです。

    1. SECONDARY_UPLOADING_INVENTORY

    2. PRIMARY_UPLOADING_METADATA

    3. PRIMARY_UPLOADING_DATA

    4. SECONDARY_DOWNLOADING_METADATA

    5. SECONDARY_DOWNLOADING_DATA

    6. COMPLETED / FAILED / CANCELED

次の例では、 mydb セカンダリデータベースの更新履歴を取得します。結果は JSON オブジェクトで返されます。

SELECT SYSTEM$DATABASE_REFRESH_HISTORY('mydb');

次の例では、前の例と同じ詳細を取得しますが、結果はリレーショナル形式にフラット化されます。

SELECT
    to_timestamp_ltz(value:startTimeUTC::numeric,3) AS "start_time"
    , to_timestamp_ltz(value:endTimeUTC::numeric,3) AS "end_time"
    , value:currentPhase::string AS "phase"
  , value:jobUUID::string AS "query_ID"
  , value:copy_bytes::integer AS "bytes_transferred"
FROM TABLE(flatten(INPUT=> PARSE_JSON(SYSTEM$DATABASE_REFRESH_HISTORY('mydb'))));