더북(TheBook)

ALTER SESION 명령어를 이용하는 방법

ALTER SESSION은 오라클에서 사용되는 각종 파라미터, 정확히 말해서 세션 파라미터나 환경 변수의 값을 변경하는 명령어로, 이미 <13장. 동적 SQL>에서 ALTER SESSION 명령어에 대해서 소개한 적이 있다. 이번에는 ALTER SESSION 명령어로 병렬 쿼리와 관련된 옵티마이저 파라미터를 변경해서 병렬 쿼리를 처리하는 방법을 알아 보자.

    ALTER SESSION ENABLE PARALLEL QUERY

해당 세션에서 병렬 쿼리 옵션을 활성화하며 기본적으로는 활성화 상태이다.

    ALTER SESSION FORCE PARALLEL QUERY PARALLEL degree 수

해당 세션에서 병렬 쿼리 옵션을 강제 활성화시키면서 degree 수만큼 프로세스를 띄워 병렬 처리를 한다. degree 수는 일반적으로 오라클 DB서버의 CPU 개수의 두 배를 설정하는데 설치된 서버 환경에 따라 계산 방식이 다르다.

    ALTER SESSION DISABLE PARALLEL QUERY

해당 세션에서 병렬 쿼리 옵션을 비활성화한다.

ALTER SESSION 명령어로 병렬 쿼리를 처리하는 형태는 다음과 같다.

입력

    DECLARE
      -- 변수 선언 ...
    BEGIN
      -- PL/SQL 블록에서는 ALTER SESSION 명령어는 동적 SQL을 사용해야 한다
      -- 강제로 병렬 쿼리를 실행시키고 degree 수는 4로 설정했다
      EXECUTE IMMEDIATE'ALTER SESSION FORCE PARALLEL QUERY PARALLEL 4';

      SELECT 문장...

    ...
    ...

    END;

위 예제는 익명 블록 형태지만 프로시저에서 사용하는 방식도 동일하며 병렬 처리는 처리 속도가 빠르다는 장점이 있지만 남용하면 오히려 느려질 수 있으므로 적절하게 사용해야 한다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.