SYSTEM$WAIT_FOR_STABLE_OPENFLOW_RUNTIMES
SYSTEM$WAIT_FOR_STABLE_OPENFLOW_RUNTIMES
각각 이름이 지정된 런타임(runtime)이 전이 상태(transitional state)에서 벗어날 때까지 기다리는 시스템 함수예요. 런타임 상태를 바꾸는 Gen 2 Openflow 명령은 비동기적으로 실행되므로, 변경이 안정될 때까지 스크립트가 계속해서는 안 될 때 ALTER 명령 뒤에 이 함수를 호출해요. 자동화의 권장 기본값이에요.
본문
참고:
- SYSTEM$WAIT_FOR_STABLE_OPENFLOW_DEPLOYMENTS, SYSTEM$WAIT_FOR_OPENFLOW_DEPLOYMENT_STATUS, SYSTEM$WAIT_FOR_OPENFLOW_RUNTIME_STATUS, SYSTEM$WAIT_FOR_STABLE_OPENFLOW_CONNECTORS, SYSTEM$WAIT_FOR_OPENFLOW_CONNECTOR_STATUS
Syntax
SELECT SYSTEM$WAIT_FOR_STABLE_OPENFLOW_RUNTIMES(
<timeout_seconds>,
'<runtime_name>' [ , '<runtime_name>' ... ]
);
Arguments
timeout_seconds:
기다릴 최대 시간(초 단위)이에요.
'runtime_name':
하나 이상의 런타임 이름이에요. 정규화된 이름 <database>.<schema>.<name>을 사용해요. USE DATABASE와 USE SCHEMA가 설정되어 있으면 단순 이름이 현재 세션에서 해석돼요.
Returns
성공하면 'OK'를 반환해요. 시간이 초과되거나 런타임이 실패 상태에 진입하면 오류를 발생시켜요.
Access control
이름이 지정된 런타임에 대한 모든 권한이 필요해요.
Usage notes
- Openflow UI는 내부적으로 동등한 폴링을 수행해요.
- 함수가 시간 초과되면 기본 작업은 계속 진행돼요. 새 시간 초과로 대기 함수를 다시 실행하세요. 원래 명령을 다시 실행하지 마세요.
Examples
각 단계에서 기다리면서 런타임을 일시 중지, 종료, 삭제하기:
ALTER OPENFLOW RUNTIME my_db.my_schema.my_runtime SUSPEND;
SELECT SYSTEM$WAIT_FOR_STABLE_OPENFLOW_RUNTIMES(600, 'my_db.my_schema.my_runtime');
ALTER OPENFLOW RUNTIME my_db.my_schema.my_runtime TERMINATE;
SELECT SYSTEM$WAIT_FOR_STABLE_OPENFLOW_RUNTIMES(600, 'my_db.my_schema.my_runtime');
DROP OPENFLOW RUNTIME my_db.my_schema.my_runtime;