DBMS_SESSION

DBMS_SESSION 패키지의 기본 개념과 패키지 내의 프러시저와 함수를 사용하는 방법을 설명합니다.

개요

DBMS_SESSION 세션의 식별자를 설정하고, 시스템에 고유한 세션의 식별자를 가져오는 데 사용되는 패키지입니다.

프러시저와 함수

본 절에서는 DBMS_SESSION 패키지에서 제공하는 프러시저와 함수를 알파벳 순으로 설명합니다.

CLEAR_ALL_CONTEXT

문맥의 모든 속성값들을 지웁니다. 이 프러시저는 CREATE CONTEXT DDL을 통해 지정된 패키지 내에서만 호출할 수 있습니다.

CLEAR_ALL_CONTEXT 프러시저의 세부 내용은 다음과 같습니다.

  • 프로토타입

DBMS_SESSION.CLEAR_ALL_CONTEXT
(
    namespace      IN VARCHAR2
)
  • 파라미터

파라미터
설명

namespace

지울 문맥의 네임스페이스 이름을 지정

CLEAR_CONTEXT

문맥의 속성값(들)을 지웁니다. 이 프러시저는 CREATE CONTEXT DDL 을 통해 지정된 패키지 내에서만 호출할 수 있습니다.

CLEAR_CONTEXT 프러시저의 세부 내용은 다음과 같습니다.

  • 프로토타입

  • 파라미터

파라미터
설명

namespace

지울 문맥의 네임스페이스 이름을 지정

client_id

  • ACCESSED GLOBALLY로 생성된 문맥일 경우에만 의미를 가짐

  • NULL을 명시하면 SET_CONTEXT를 호출할 때에 client_id에 NULL을 주고 지정한 속성을 지울 수 있음

attribute

  • 특정 속성을 지우고자 할 때 명시

  • 명시하지 않으면 해당 문맥의 (해당 client_id를 가지는) 모든 속성값이 지워짐

  • 예제

CLEAR_IDENTIFIER

현재 세션의 IDENTIFIER를 NULL로 설정합니다.

CLEAR_IDENTIFIER 프러시저의 세부 내용은 다음과 같습니다.

  • 프로토타입

  • 예제

LIST_CONTEXT

현재 세션에서 접근이 가능한 문맥들의 내용을 반환하는 함수입니다.

LIST_CONTEXT 프러시저의 세부 내용은 다음과 같습니다.

  • 프로토타입

  • 파라미터

파라미터
설명

list

문맥의 내용을 저장할 INDEX BY 테이블을 명시

size

buffer에 반환되는 entry의 수

SET_CONTEXT

이 프러시저는 CREATE CONTEXT DDL을 통해 지정된 패키지 내에서만 호출할 수 있습니다. 설정된 속성 값 은 세션이 유지되는 동안 보존됩니다. 만일 해당 문맥의 속성이 이미 설정되어 있을 경우 SET_CONTEXT 호출은 해당 속성값을 덮어씁니다.

SET_CONTEXT 프러시저의 세부 내용은 다음과 같습니다.

  • 프로토타입

  • 파라미터

파라미터
설명

namespace

속성값을 설정할 문맥의 네임스페이스 이름

attribute

해당 문맥에서의 속성 이름

value

설정할 속성에 대한 속성값

username

  • 해당 속성에 접근할 수 있는 데이터베이스 사용자명

  • GLOBALLY ACCESSED인 문맥에 대한 속성을 설정할 때만 사용

  • 이 값을 설정하게 되면 해당 사용자만 이 속성에 접근할 수 있으며, 설정하지 않으면 모든 사용자가 속성에 접근할 수 있음 (기본값: NULL)

client_id

  • 해당 속성에 대해 애플리케이션에서 사용하는 client_id를 명시할 수 있음

  • 대소문자를 구별하며 SET_IDENTIFIER 프러시저를 호출했을 때 명시했던 값과 일치해야 함

  • GLOBALLY ACCESSED인 문맥에 대한 속성을 설정할 때만 사용 (기본값: NULL)

  • 예제

SET_IDENTIFIER

세션의 CLIENT_IDENTIFIER를 설정합니다. 설정된 값은 V$SESSION의 CLIENT_IDENTIFIER 컬럼 또는 SYS_CONTEXT ('USERENV', 'CLIENT_IDENTIFIER') 내장 함수를 호출해서 얻을 수 있습니다.

SET_IDENTIFIER 프러시저의 세부 내용은 다음과 같습니다.

  • 프로토타입

  • 파라미터

파라미터
설명

client_id

클라이언트 식별자. 64bytes 이상은 무시됨.

  • 예제

UNIQUE_SESSION_ID

시스템 유일의 세션 식별자를 반환합니다. 세션 식별자 크기는 64bytes입니다.

UNIQUE_SESSION_ID 함수의 세부 내용은 다음과 같습니다.

  • 프로토타입

  • 예제

현재 열려 있는 DBLINK를 닫습니다.

CLOSE_DATABASE_LINK 프러시저의 세부 내용은 다음과 같습니다.

  • 프로토타입

  • 파라미터

파라미터
설명

dblink

지울 dblink의 이름을 지정

  • 예제

IS_ROLE_ENABLED

이 함수를 호출한 세션에 롤이 적용되어 있는지 확인합니다.

IS_ROLE_ENABLED 함수의 세부 내용은 다음과 같습니다.

  • 프로토타입

  • 파라미터

파라미터
설명

rolename

롤의 적용 여부를 확인할 특권

  • 예제

SET_ROLE

이 프러시저를 호출한 세션에 롤을 변경합니다. 이 프러시저는 'SET ROLE'로 시작하는 DDL을 수행하는 것과 동작이 동일하며, 입력값은 'SET ROLE' 다음에 오는 문장입니다.

SET_ROLE 프러시저의 세부 내용은 다음과 같습니다.

  • 프로토타입

  • 파라미터

파라미터
설명

rolecmd

부여할 역할을 지정

  • 예제

Last updated