Skip Headers

오라클 10g 함수
10g Release 1 (10.1)
Go to Documentation Home
HOME
Go to Book List
ORA_home
Go to Table of Contents
연구회
Go to Index
자료실
Go to Master Index
ORA_10G
Go to Feedback page
MAIL

Go to previous page
Previous
Go to next page
Next

SYS_CONTEXT

문법

MAIN

sys_context::=
Description of sys_context.gif follows

그림 설명
 

목적

MAIN

SYS_CONTEXT함수는 문맥 namespace와 관련된 parameter의 값을 반환한다.이 함수는 SQL 과 PL/SQL문장에 사용될수 있다.

namespace와 parameter에는, 문자열 또는 namespace또는 속성을 지정하는 문자열로 결정되는 식을 지정할수 있다. 문맥 namespace는 이미 생성될 필요가 있고, 연관된 parameter와 그 값은 DBMS_SESSION.set_context 프로시져를 이용하여 설정될 필요가 있다. namespace는 유요한 SQL식별자를 필요로 한다. parameter 명은 문자열을 지정할수 있다. 대소문자를 구별하지 않고, length는 30바이트를 초과하지 않는다.

반환값은 VARCHAR2데이터형이다. 반환값의 기본적 최대 사이즈는 256바이트이다. 옵션 length파라미터를 지정하여 이 기본적 값을 초과할수있는데, 이 값은 NUMBER또는 암묵적으로 NUMBER로 변환가능한 값이다. 이 값의 유효한 범위는 1~4000바이트이다. 만약 유효하지 않는 값을 지정하면, 오라클 데이터 베이스는 그 값을 무시하고, 기본적 값을 사용한다.


예제

MAIN

다음 예제는 데이터베이스에서 로그인한 사용자 명을 반환한다.

CONNECT OE/OE
SELECT SYS_CONTEXT ('USERENV', 'SESSION_USER') 
   FROM DUAL;

SYS_CONTEXT ('USERENV', 'SESSION_USER')
------------------------------------------------------
OE

다음 가상 예제는 hr_apps를 생성시에 문맥 hr_apps와 관련된 PL/SQL패키지에서 속성 group_no에 대한 값을 설정한 그룹 번호를 반환한다.

SELECT SYS_CONTEXT ('hr_apps', 'group_no') "User Group" 
   FROM DUAL;

Table 7-11 Namespace USERENV의 파라미터의 사전정의

Parameter Return Value Return Length (bytes)
ACTION 모듈(어플리케이션명)에서 위치를 식별하고, DBMS_APPLICATION_INFO패키지 또는 OCI를 통해 설정한다. 32
AUDITED_CURSORID

감사를 트리거한 SQL의 커서 ID를 반환한다. 이 파라미터는 fine-grained 감사 환경에서 유효하지 않는다. 만약 이 파라미터를 fine-grained 감사 환경에서 지정하지 않으면, 오라클 데이터베이스는 항상 NULL을 반환한다.

·Fine-grained: 클라이언트 애플리케이션과 커넥터의 대화가 같은 주소 공간에서 실행되는 것을 서술한다.

NA
AUTHENTICATION_DATA 로그인 사용자 인증에 이용되는 데이터를 반환. X.503 인증된 세션을 인증하면서, 이 필드는 HEX2 포맷으로 인증의 문맥을 반환한다. 256
AUTHENTICATION_TYPE 사용자가 어떻게 인증되는지를 반환한다.
  • DATABASE: 사용자 명/패스워드 인증

  • OS: 운영 시스템 외부 사용자 인증

  • NETWORK: 네트워크 프로토콜 또는 ANO 인증

  • PROXY: OCI 프로시 연결 인증

30
BG_JOB_ID 만약 오라클 데이터베이스 백그라운드 프로세스에의해 현재 세션에 의해 확립되었다면, 현재세션의 JOB ID를 반환한다. 만약 백그라운드 프로세스에 의해 확립되지 않으면, NULL을 반환한다. 64
CLIENT_IDENTIFIER DBMS_SESSION.SET_IDENTIFIER 프로시져, OCI 속성 OCI_ATTR_CLIENT_IDENTIFIER 또는 JAVA CLASS Oracle.jdbc.OracleConnection.setClientIdentifier를 통하여 어플리케이션에 의해서 설정된 식별자를 반환한다. 이 속성은 같은 데이터베이스 사용자로써 인증된 경량 어플리케이션 사용자를 식별하기 위해 여러 데이터베이스 컴포넌트에 의해 사용된다. 64
CLIENT_INFO DBMS_APPLICATION_INFO 패키지를 이용하는 어플리케이션을 저정할수 있는 사용자 세션의 정보를 64byte까지 반환한다. 64
CURRENT_SCHEMA 현재 스키마에서 이용되는 기본 스키마명을 반환한다. 이 값은 ALTER SESSION SET CURRENT_SCHEMA 문장을 이용하여 변경할수 있다. 30
CURRENT_SCHEMAID

현재 세션에서 이용되는 기본적 schema ID.

30
CURRENT_SQL

CURRENT_SQLn

CURRENT_SQL은 fine-grained 감사 이벤트를 트리거에 의해서 실행한 현재 SQL의 최초 4KB를 반환한다. CURRENT_SQLn 속성은 차후의 4K-byte 증가분을 반환한다. 이때 n은 1~7까지의 정수이다. CURRENT_SQL1은 4K~8K를 반환,CURRENT_SQL2는 8~12KB등과 같이 반환한다. fine-grained 감사 기능에 대한 이벤트 핸들러 내에서 이 속성을 지정할수 있다.

·Fine-grained: 클라이언트 애플리케이션과 커넥터의 대화가 같은 주소 공간에서 실행되는 것을 서술한다.

4
CURRENT_USER

이 속성은 반대한다. 대신에 SESSION_USER속성을 이용.

30
CURRENT_USERID 이 속성은 반대한다. 대신에 SESSION_USERID 속성을 이용. 30
DB_DOMAIN DB_DOMAIN초기화 파라미터에서 지정된 데이터베이스의 도메인. 256
DB_NAME DB_NAME 초기화 파라미터에서 지정된 데이터베이스 명. 30
DB_UNIQUE_NAME DB_UNIQUE_NAME 초기화 파라미터에서 지정된 데이터베이스명. 30
ENTRYID 현재 감사 엔트리 번호를 반환한다. 감사 엔트리ID 순서는 fine-grained 감사 기록과 정기적인 감사 기록을 공유된다. 분산 SQL 문장에서 이 속성을 이용할수 없다. 30
EXTERNAL_NAME 데이터 베이스 사용자의 외부 명을 반환한다. SSL은 v.503 인증을 이용하여 세션을 인증함으로, 이 파라미터는 사용자 인증에 저장된 구분된 이름(DN)을 반환한다. 256
FG_JOB_ID 만약 클라이언트 foreground 프로세스에 의해 확립되면 현재 세션의 JOB ID를 반환한다. 만약 세션이 foreground process에 의해 확립되지 않으면 NULL을 반환한다. 30
GLOBAL_CONTEXT_MEMORY

문맥에 글로벌 액세스에 의해 시스템 글로벌 영역에서 이용된 수치를 반환.

NA
HOST 클라이언트가 접속된 호스트 머신 명. 54
INSTANCE 현재 인스턴스의 인스턴스 식별 번호. 30
IP_ADDRESS 클라이언트가 접속된 머신의 IP 주소. 30
ISDBA 운영 시스템 또는 패스워드 파일을 통해서 사용자가 DBA권한을 가지고 있으면 인증되었을경우 TRUE를 반환. 30
LANG 기존의 'LANGUAGE'파라미터보다 짧은 언어명에 대한 ISO약칭. 62
LANGUAGE 세션에 의해 이용되는 언어와 지역을 데이타베이스 문자 세트를 포함한 다음 서식을 반환.

language_territory.characterset

52
MODULE DBMS_APPLICATION_INFO패키지 또는 OCI를 통한 에플리케이션명(모듈). 48
NETWORK_PROTOCOL 접속 문자열의 'PROTOCOL=protocol' 부분에서 지정된 통신에 이용되는 네트워크 프로토콜. 256
NLS_CALENDAR 현재 세션의 현재 달력 62
NLS_CURRENCY 현재 세션의 통화 62
NLS_DATE_FORMAT 세션에 대한 날짜 서식 62
NLS_DATE_LANGUAGE 날짜를 표시하기 위해 이용되는 언어. 62
NLS_SORT BINARY 또는 언어 소트 기준. 62
NLS_TERRITORY 현재 세션의 지역. 62
OS_USER

데이터베이스 세션을 초기화 하는 클라이언트 프로세스의 운영 시스텀 사용자 명.

30
PROXY_USER

SESSION_USER의 현재 세션을 오픈한 데이터 베이스 사용자명.

30
PROXY_USERID SESSION_USER의 현재 세션을 오픈한 데이터 베이스 사용자 ID. 30
SERVICE_NAME

주어진 세션이 접속하고있는 서비스의 명.

64
SESSION_USER

현재 사용자가 인증되고 있는 데이터베이스 사용자명. 이 값은 세션이 유지되는 동안에 같다.

30
SESSION_USERID

현재 사용자가 인증되고 있는 데이터 베이스 사용자 명의 ID.

30
SESSIONID

감사 세션 식별자. 분산된 SQL문에서 이 속성은 이용할수 없다.

30
STATEMENTID 감수 문자 식별자.STATEMENTID는 주어진 세션에서 감사된 SQL문장의 번호를 나타낸다. NA
TERMINAL 현재 세션의 클라이언트에 대한 운영 시스템 식별자를 반환한다. 분산 SQL문장에서, 이 속성은 로컬 세션에 대한 식별자를 반환한다. 분산 환경에서, 단지 SELECT문장에서만 지원되고, INSERT,UPDATE,DELETE 환경에서는 사용할 수 없다. (이 파라미터의 반환 length는 운영 시스템에 따라 다르다.) 10