카테고리:

시스템 함수 (시스템 정보)

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

인자

secondary_db_name

보조 데이터베이스의 이름입니다. 보조 데이터베이스가 현재 세션의 활성 데이터베이스인 경우, 이 인자는 선택 사항입니다.

전체 이름은 작은따옴표로 묶어야 합니다.

query_id

데이터베이스 새로 고침 쿼리의 ID입니다. 쿼리 ID는 웹 인터페이스의 History 기록 탭 페이지에서 얻을 수 있습니다.

출력

이 함수는 JSON 오브젝트에서 다음 요소를 반환합니다.

열 이름

데이터 타입

설명

phaseName

TEXT

지금까지 완료된(또는 진행 중인) 복제 단계의 이름입니다. 단계 목록은 사용법 노트를 참조하십시오.

resultName

TEXT

복제 단계의 상태입니다.

startTimeUTC

NUMBER

복제 단계가 시작된 시간입니다. 형식은 Epoch 시간입니다.

endTimeUTC

NUMBER

단계가 완료된 시간입니다(해당하는 경우). 형식은 Epoch 시간입니다.

details

VARIANT

데이터 새로 고침의 총 바이트 수, 그리고 단계에서 지금까지 복사된 바이트 수를 표시하는 별도의 JSON 오브젝트입니다. 새로 고침 문이 이전에 실패했거나 취소되었다가 다시 시작된 경우, 오브젝트는 두 번째 시도에서 건너뛴 바이트 수를 나타냅니다. details 오브젝트는 Copying Primary DataCopying Replica Data 단계 정보에 포함되어 있습니다.

사용법 노트

  • 계정 관리자(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

다음 예는 지정된 보조 데이터베이스의 현재 새로 고침 상태를 검색합니다. 결과는 JSON 오브젝트로 반환됩니다.

SELECT SYSTEM$DATABASE_REFRESH_PROGRESS('mydb');
Copy

다음 예는 이전 예와 동일한 세부 정보를 검색하지만, 결과는 관계형 열로 분리되고 타임스탬프는 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

다음 예는 지정된 데이터베이스 새로 고침 쿼리의 상태를 검색합니다. 결과는 JSON 오브젝트로 반환됩니다.

SELECT SYSTEM$DATABASE_REFRESH_PROGRESS_BY_JOB('4cbd7187-51f6-446c-9814-92d7f57d939b');
Copy

다음 예는 이전 예와 동일한 세부 정보를 검색하지만, 결과는 관계형 열로 분리되고 타임스탬프는 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