- カテゴリ:
システム関数 (システム情報)
SYSTEM$DATABASE_REFRESH_PROGRESS、 SYSTEM$DATABASE_REFRESH_PROGRESS_BY_JOB --- 廃止¶
SYSTEM$DATABASE_REFRESH_PROGRESS 族の関数を使用して、さまざまなディメンションに沿ってデータベース更新のステータスをクエリできます。
SYSTEM$DATABASE_REFRESH_PROGRESS は、セカンダリデータベースの現在の更新ステータスを名前で示す JSON オブジェクトを返します。
SYSTEM$DATABASE_REFRESH_PROGRESS_BY_JOB は、更新クエリによるグローバルセカンダリデータベースの現在の更新ステータスを示す JSON オブジェクトを返します。
注釈
これらの関数は、過去14日以内のデータベース更新アクティビティを返します。
構文¶
SYSTEM$DATABASE_REFRESH_PROGRESS( '<secondary_db_name>' )
SYSTEM$DATABASE_REFRESH_PROGRESS_BY_JOB( '<query_id>' )
引数¶
出力¶
この関数は、 JSON オブジェクトで次の要素を返します。
列名 |
データ型 |
説明 |
---|---|---|
phaseName |
TEXT |
これまでに完了した(または進行中の)複製フェーズの名前。フェーズのリストについては、使用上の注意をご参照ください。 |
resultName |
TEXT |
複製フェーズのステータス。 |
startTimeUTC |
NUMBER |
複製フェーズが開始された時刻。形式はエポック時間です。 |
endTimeUTC |
NUMBER |
フェーズが終了した時間(該当する場合)。形式はエポック時間です。 |
詳細 |
VARIANT |
データ更新の合計バイト数と、フェーズでこれまでにコピーされたバイト数を示す個別の JSON オブジェクト。更新ステートメントが以前に失敗したかキャンセルされて再度開始された場合、オブジェクトは2回目の試行でスキップされたバイト数を示します。 |
使用上の注意¶
アカウント管理者( ACCOUNTADMIN ロールを持つユーザー)の結果のみを返します。
次は、処理される順序のフェーズのリストです。
SECONDARY_UPLOADING_INVENTORY
PRIMARY_UPLOADING_METADATA
PRIMARY_UPLOADING_DATA
SECONDARY_DOWNLOADING_METADATA
SECONDARY_DOWNLOADING_DATA
COMPLETED / FAILED / CANCELED
例¶
次の例では、指定されたセカンダリデータベースの現在の更新状態を取得します。結果は JSON オブジェクトで返されます。
SELECT SYSTEM$DATABASE_REFRESH_PROGRESS('mydb');
次の例では、前の例と同じ詳細を取得しますが、結果はリレーショナル列に分割され、タイムスタンプは 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'))));
次の例では、指定されたデータベース更新クエリのステータスを取得します。結果は JSON オブジェクトで返されます。
SELECT SYSTEM$DATABASE_REFRESH_PROGRESS_BY_JOB('4cbd7187-51f6-446c-9814-92d7f57d939b');
次の例では、前の例と同じ詳細を取得しますが、結果はリレーショナル列に分割され、タイムスタンプは 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'))));