CS_SESSION 패키지
CS_SESSION
패키지는 기존 세션의 데이터베이스 서비스 및 소비자 그룹을 전환하는 인터페이스를 제공합니다.
주:
CS_SESSION 패키지에 대한 지원은 Oracle Database 19c 버전 19.28부터, Oracle Database 23ai 버전 23.9부터 제공됩니다.Autonomous Database와의 연결이 설정되면 해당 세션에 소비자 그룹이 지정됩니다. 예를 들어, Autonomous Database의 LOW 서비스에 대한 연결을 사용하여 세션을 생성할 수 있습니다. 예를 들어, 소비자 그룹을 LOW에서 HIGH로 전환할 수 있습니다. CS_SESSION
패키지는 전환을 위한 API를 제공합니다. 자세한 내용은 자율운영 데이터베이스에 대해 미리 정의된 데이터베이스 서비스 이름을 참조하십시오.
소비자 그룹은 동시성 및 DOP(병렬도)를 결정합니다. 예를 들어, LOW 데이터베이스 서비스에 설정된 연결에 대한 명령문은 순차적으로 실행됩니다. HIGH 데이터베이스 서비스에 설정된 연결에 대한 명령문이 병렬로 실행됩니다. 일부 명령문에 대해 HIGH 소비자 그룹으로 전환하여 직렬 명령문 처리가 필요한 작업 로드가 있는 경우 CS_SESSION
패키지를 사용하여 전환할 수 있습니다.
SWITCH_SERVICE 프로시저
이 프로시저는 현재 세션의 데이터베이스 서비스 및 소비자 그룹을 전환합니다.
구문
CS_SESSION.SWITCH_SERVICE(service_name IN varchar2);
매개변수
매개변수 | 설명 |
---|---|
service_name |
갱신할 소비자 그룹을 지정합니다. 작업 로드에 따라 적합한 값은 |
사용법 참고
이 프로시저는 호출될 때 세션을 지정된 서비스 및 관련 Consumer Group으로 전환합니다. 지정된 서비스가 해당 데이터베이스에 없으면 오류 메시지가 표시됩니다. 예를 들어, 데이터 웨어하우스 작업 로드에서 서비스 이름으로 'TP'를 지정하면 오류는 적합한 서비스 이름이 아님을 나타냅니다. 현재 서비스와 지정된 서비스가 동일한 경우 오류가 보고되지 않습니다.
프로시저는 세션 속성을 재설정하지 않습니다. 이 프로시저를 호출하기 전에 유저가 세션에 설정한 모든 사항은 그대로 유지됩니다. 예를 들어, 세션 파라미터가 수정된 후 나중에 세션이 다른 서비스로 전환되면 파라미터 값은 동일하게 유지됩니다.
예
BEGIN
CS_SESSION.SWITCH_SERVICE('HIGH');
END;
/
보안 및 접근
ADMIN
사용자에게 GRANT OPTION
를 사용하여 CS_SESSION
에 대한 EXECUTE
권한이 부여됩니다. 권한은 GRANT OPTION
없이도 DWROLE
에 부여됩니다.
추가 보안 고려 사항
사용자에게 이 프로시저에 대한 EXECUTE
권한이 부여되었지만 해당 사용자가 특정 서비스로 전환하지 않으려는 경우 AFTER SET CONTAINER
트리거를 사용하여 작업을 차단할 수 있습니다. 이렇게 하려면 AFTER SET CONTAINER
트리거를 생성합니다.
CREATE OR REPLACE TRIGGER SESS_SWITCH
AFTER SET CONTAINER ON DATABASE
BEGIN
IF SYS_CONTEXT('USERENV','SESSION_USER') = 'USER' and
SYS_CONTEXT('USERENV','SERVICE_NAME') = 'serviceexample_low.adwc.oraclecloud.com'
THEN
NULL;
ELSE
RAISE_APPLICATION_ERROR(-20001, 'Denied! You are not allowed to switch service in the database');
END IF;
END;
/
오류 메시지
다음 표에서는 CS_SESSION
에 대한 예외를 설명합니다.
오류 | 메시지 | 원인 |
---|---|---|
20001 | 부적합한 서비스 이름입니다. 유효한 값은 HIGH, MEDIUM, LOW입니다. | 데이터 웨어하우스 작업 로드의 경우 'HIGH', 'MEDIUM', 'LOW' 이외의 값이 지정되었습니다. |
20001 | 부적합한 서비스 이름입니다. 적합한 값은 HIGH, MEDIUM, LOW, TP, TPURGENT입니다. | 트랜잭션 처리 작업 로드의 경우 'HIGH', 'MEDIUM', 'LOW', 'TP', 'TPURGENT' 이외의 값이 지정되었습니다. |
20002 | 서비스 전환을 실패했습니다. | 새 서비스로 전환을 실패했습니다. |
For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.
오라클 고객지원센터 액세스
오라클 고객의 오라클 지원 서비스 접근 및 이용은 해당 서비스의 오라클 주문서에 명시된 조항들에 따릅니다.