SYS_CONTEXT
구문
SYS_CONTEXT('namespace', 'parameter' [, length ])
목적
SYS_CONTEXT 함수는 현재 시점에서 컨텍스트 namespace와 연결된 parameter의 값을 반환합니다. 이 함수는 SQL 및 PL/SQL 문에서 사용할 수 있으며, SYS_CONTEXT는 로컬에서 실행되어야 합니다.
namespace와 parameter에 대해 문자열 또는 문자열로 해석되는 표현식을 지정할 수 있습니다. namespace와 parameter에 리터럴 인수를 지정하고 SYS_CONTEXT를 PL/SQL 함수 내에서 사용하는 대신 SQL 문에서 직접 사용하는 경우 SYS_CONTEXT 함수를 호출하는 각 위치에 대해 Oracle Database는 SQL 문 실행 당 한 번만 SYS_CONTEXT를 평가합니다.
컨텍스트 namespace는 이미 만들어져 있어야 하며, 관련된 parameter와 그 값을 설정하는 데 DBMS_SESSION.set_context 프로시저를 사용해야 합니다. namespace는 유효한 식별자여야 합니다. parameter 이름은 문자열일 수 있습니다. 대소문자 구분되지 않지만 30바이트를 초과할 수 없습니다.
반환 값의 데이터 유형은 VARCHAR2입니다. 반환 값의 기본 최대 크기는 256바이트입니다. 이 기본값을 NUMBER 또는 NUMBER로 암시적으로 변환할 수 있는 값으로 지정하는 선택적인(optional) length parameter를 지정하여 재정의할 수 있습니다. 유효한 값 범위는 1에서 4000바이트까지입니다. 잘못된 값을 지정하면 Oracle Database는 무시하고 기본값을 사용합니다.
Oracle은 다음과 같은 내장 네임스페이스를 제공합니다:
- USERENV - 현재 세션에 대한 정보를 제공합니다. 네임스페이스 USERENV의 미리 정의된 매개변수는 표 7-11에 나열되어 있습니다.
- SYS_SESSION_ROLES - 지정된 역할이 현재 세션에서 활성화되어 있는지를 나타냅니다. Oracle Database는 SYS_SESSION_ROLES 컨텍스트를 현재 사용자에 대해 평가하고, 정의된 사용자의 역할을 평가할 때 SYS_SESSION_ROLES를 사용합니다. 정의자의 권한 프로시저 또는 함수 내에서 SYS_SESSION_ROLES를 사용하여 로그인 사용자의 활성화된 역할을 찾는 대안은 DBMS_SESSION:SESSION_IS_ROLE_ENABLED 함수를 사용하는 것입니다. 인보커 권한, 정의자의 권한을 가진 프로시저 또는 함수, 코드 기반 액세스 제어(CBAC)도 대체 방법입니다.
참고:
- 응용 프로그램 개발에서 응용 프로그램 컨텍스트 기능 사용에 관한 정보는 Oracle Database Security Guide를 참조하세요.
- 사용자 정의 컨텍스트 네임스페이스를 만드는 정보는 CREATE CONTEXT를 참조하세요.
- DBMS_SESSION.set_context 프로시저에 관한 정보는 Oracle Database PL/SQL Packages and Types Reference를 참조하세요.
- Oracle Database Globalization Support Guide의 부록 C는 SYS_CONTEXT의 문자열 반환 값에 할당되는 정렬을 정의하는 정렬 결정 규칙(collation derivation rules)에 대한 정보를 제공합니다.
예제
다음 문장은 데이터베이스에 로그인한 사용자의 이름을 반환합니다:
CONNECT OE
Enter password: password
SELECT SYS_CONTEXT ('USERENV', 'SESSION_USER')
FROM DUAL;
SYS_CONTEXT ('USERENV', 'SESSION_USER')
---------------------------------------
OE
다음 예제에서는 SESSION_ROLES 데이터 사전 뷰를 쿼리하여 현재 세션에서 활성화된 유일한 역할이 RESOURCE임을 보여줍니다. 그런 다음 SYS_CONTEXT 함수를 사용하여 현재 세션에서 RESOURCE 역할이 활성화되어 있고 DBA 역할은 활성화되어 있지 않음을 보여줍니다.
CONNECT OE
Enter password: password
SELECT role FROM session_roles;
ROLE
--------
RESOURCE
SELECT SYS_CONTEXT('SYS_SESSION_ROLES', 'RESOURCE')
FROM DUAL
SYS_CONTEXT('SYS_SESSION_ROLES','RESOURCE')
--------------------------------------
TRUE
SELECT SYS_CONTEXT('SYS_SESSION_ROLES', 'DBA')
FROM DUAL;
SYS_CONTEXT('SYS_SESSION_ROLES','DBA')
--------------------------------------
FALSE
노트: 이러한 예제는 이 기능을 간단히 보여주기 위한 것으로, 배포된 시스템이 보통 사용하는 암호 관리 기술을 수행하지 않습니다. 프로덕션 환경에서는 Oracle Database 암호 관리 가이드라인을 따르고 샘플 계정을 비활성화하세요. 암호 관리 가이드라인 및 다른 보안 권장 사항은 Oracle Database Security Guide를 참조하세요.
다음 가상의 예제는 hr_apps라는 컨텍스트에 연결된 PL/SQL 패키지에서 속성 group_no로 설정된 그룹 번호를 반환합니다.
SELECT SYS_CONTEXT ('hr_apps', 'group_no') "User Group"
FROM DUAL;
표 7-11 네임스페이스 USERENV의 미리 정의된 매개변수
Parameter | Return Value |
ACTION | 모듈 (애플리케이션 이름) 내에서 위치를 식별하며, DBMS_APPLICATION_INFO 패키지나 OCI를 통해 설정됩니다. |
IS_APPLICATION_ROOT | 애플리케이션이 애플리케이션 루트인지 여부를 식별합니다. |
IS_APPLICATION_PDB | 컨테이너가 애플리케이션 PDB인지 여부를 식별합니다. |
AUDITED_CURSORID | 감사를 트리거한 SQL의 커서 ID를 반환합니다. 이 매개변수는 세밀한 감사 환경에서는 유효하지 않습니다. 세밀한 감사 환경에서 이를 지정하면 Oracle Database가 항상 null을 반환합니다. |
AUTHENTICATED_IDENTITY | 인증에 사용된 ID를 반환합니다. 아래 목록에서 사용자의 유형은 반환되는 값 뒤에 따릅니다: • Kerberos로 인증된 엔터프라이즈 사용자: Kerberos 주체 이름 (kerberos principal name) • Kerberos로 인증된 외부 사용자: Kerberos 주체 이름 (kerberos principal name); 스키마 이름과 동일 • SSL로 인증된 엔터프라이즈 사용자: 사용자의 PKI 인증서에서 DN (Distinguished Name) • SSL로 인증된 외부 사용자: 사용자의 PKI 인증서에서 DN (Distinguished Name) • 비밀번호로 인증된 엔터프라이즈 사용자: 별명 (nickname); 로그인 이름과 동일 • 비밀번호로 인증된 데이터베이스 사용자: 데이터베이스 사용자 이름; 스키마 이름과 동일 • OS로 인증된 외부 사용자: 외부 운영 체제 사용자 이름 • Radius로 인증된 외부 사용자: 스키마 이름 • DN을 가진 프록시: 클라이언트의 Oracle Internet Directory DN • 인증서를 가진 프록시: 클라이언트의 인증서 DN • 사용자 이름을 가진 프록시: 클라이언트가 로컬 데이터베이스 사용자인 경우 데이터베이스 사용자 이름; 클라이언트가 엔터프라이즈 사용자인 경우 별칭 • 비밀번호 파일을 사용한 SYSDBA/SYSOPER: 로그인 이름 • OS 인증을 사용한 SYSDBA/SYSOPER: 운영 체제 사용자 이름 • 비밀번호로 인증된 OCI IAM 사용자: IAM 사용자 이름; 로그인 이름과 동일 • IAM 토큰으로 인증된 엔터프라이즈 사용자: IAM 사용자 이름 |
AUTHENTICATION_DATA | 로그인 사용자를 인증하는 데 사용되는 데이터입니다. X.503 인증 세션의 경우, 이 필드는 HEX2 형식으로 인증서의 컨텍스트를 반환합니다. 노트: 구문의 length parameter를 사용하여 AUTHENTICATION_DATA 속성의 반환 값을 변경할 수 있습니다. 최대 4000까지의 값을 허용합니다. Oracle Database에서는 USERENV의 유일한 속성으로 이러한 변경을 구현합니다. |
AUTHENTICATION_METHOD | 인증 방법을 반환합니다. 아래 목록에서 사용자 유형 다음에 반환되는 방법이 나와 있습니다. • 패스워드로 인증된 엔터프라이즈 사용자, 로컬 데이터베이스 사용자 또는 패스워드 파일을 사용하는 SYSDBA 또는 SYSOPER 관리 권한을 가진 사용자; 패스워드를 사용하는 사용자 이름의 프록시: PASSWORD • 패스워드로 인증된 엔터프라이즈 사용자, OCI IAM 사용자, 로컬 데이터베이스 사용자 또는 패스워드 파일을 사용하는 SYSDBA 또는 SYSOPER 관리 권한을 가진 사용자; 패스워드를 사용하는 사용자 이름의 프록시: PASSWORD_GLOBAL • OCI IAM 토큰으로 인증된 엔터프라이즈 사용자: TOKEN_GLOBAL • 패스워드 파일을 사용하여 인증된 엔터프라이즈 사용자 또는 외부 사용자 (관리 권한 없음): KERBEROS • 관리 권한을 가진 엔터프라이즈 사용자로 인증된 Kerberos 인증 사용자: KERBEROS_GLOBAL • 관리 권한을 가진 외부 사용자로 인증된 Kerberos 인증 사용자: KERBEROS_EXTERNAL • 관리 권한 없이 SSL로 인증된 엔터프라이즈 또는 외부 사용자: SSL • 관리 권한을 가진 엔터프라이즈 사용자로 인증된 SSL 사용자: SSL_GLOBAL • 관리 권한을 가진 외부 사용자로 인증된 SSL 사용자: SSL_EXTERNAL • Radius로 인증된 외부 사용자: RADIUS • 외부 사용자 또는 SYSDBA 또는 SYSOPER 관리 권한을 가진 사용자로 OS로 인증된 사용자: OS • 패스워드를 사용하지 않고 인증서, DN 또는 사용자 이름을 사용한 프록시: NONE • 백그라운드 프로세스 (작업 대기열 슬레이브 프로세스): JOB • 병렬 쿼리 슬레이브 프로세스: PQ_SLAVE 관리 권한이 없는 연결의 경우, 패스워드, KERBEROS 또는 SSL 인증 방법을 사용하는 경우, IDENTIFICATION_TYPE를 사용하여 외부 및 엔터프라이즈 사용자를 구별할 수 있습니다. 관리 연결의 경우, 패스워드, SSL_EXTERNAL 및 SSL_GLOBAL 인증 방법의 경우 AUTHENTICATION_METHOD만으로 충분합니다. |
BG_JOB_ID | 현재 세션이 Oracle Database 백그라운드 프로세스에 의해 설정되었을 경우 해당 백그라운드 프로세스의 Job ID를 반환합니다. 백그라운드 프로세스에 의해 설정되지 않았을 경우 null을 반환합니다. |
CDB_DOMAIN | CDB_DOMAIN은 CDB의 DB_DOMAIN이며 이와 관련된 모든 PDB에 대해 동일합니다. |
CDB_NAME | CDB에 연결된 경우 CDB의 이름을 반환합니다. 그렇지 않으면 null을 반환합니다. |
CLIENT_IDENTIFIER | 응용 프로그램에서 DBMS_SESSION.SET_IDENTIFIER 프로시저, OCI 속성 OCI_ATTR_CLIENT_IDENTIFIER 또는 Oracle Dynamic Monitoring Service (DMS)를 통해 설정된 식별자를 반환합니다. 이 속성은 동일한 데이터베이스 사용자로 인증하는 가벼운 응용 프로그램 사용자를 식별하는 데 여러 데이터베이스 구성 요소에서 사용됩니다. |
CLIENT_INFO | DBMS_APPLICATION_INFO 패키지를 사용하여 응용 프로그램에서 저장할 수 있는 최대 64바이트의 사용자 세션 정보를 반환합니다. |
CLIENT_PROGRAM_NAME | 데이터베이스 세션에 사용된 프로그램의 이름을 반환합니다. |
CON_ID | CDB에 연결된 상태에서 현재 컨테이너 ID를 반환합니다. 그렇지 않으면 0을 반환합니다. |
CON_NAME | CDB에 연결된 상태에서 현재 컨테이너 이름을 반환합니다. 그렇지 않으면 DB_NAME 초기화 매개변수에서 지정한 데이터베이스 이름을 반환합니다. |
CURRENT_BIND | 세밀한 그레인드 감사 기능의 이벤트 핸들러 내에서만 이 속성을 지정할 수 있으며, 세밀한 그레인드 감사를 위한 바인드 변수를 반환합니다. |
CURRENT_EDITION_ID | 현재 에디션의 식별자를 반환합니다. |
CURRENT_EDITION_NAME | 현재 에디션의 이름을 반환합니다. |
CURRENT_SCHEMA | 현재 활성화된 기본 스키마의 이름을 반환합니다. 이 값은 ALTER SESSION SET CURRENT_SCHEMA 문을 사용하여 세션의 기간 동안 변경될 수 있습니다. 세션 동안 사용 중인 definer's rights 개체의 소유자를 반영하기 위해도 변경될 수 있습니다. 뷰 정의의 본문에서 직접 사용될 때, 이것은 뷰를 사용하는 커서를 실행할 때 사용된 기본 스키마를 반환하며 뷰 내부에서 definer's rights로 사용되는 뷰를 고려하지 않습니다. 노트: Oracle은 로그온 트리거를 제외한 모든 유형의 저장된 PL/SQL 단위 내에서 ALTER SESSION SET CURRENT_SCHEMA SQL 문을 실행하지 않는 것을 권장합니다. |
CURRENT_SCHEMAID | 현재 활성화된 기본 스키마의 식별자를 반환합니다. |
CURRENT_SQL CURRENT_SQLn |
CURRENT_SQL은 세밀한 그레인드 감사 이벤트를 트리거한 현재 SQL의 첫 4K 바이트를 반환합니다. CURRENT_SQLn 속성은 나머지 4K 바이트의 증가분을 반환하며, n은 1에서 7 사이의 정수일 수 있습니다. 예를 들어, CURRENT_SQL1은 4K에서 8K까지의 바이트를 반환하고, CURRENT_SQL2는 8K에서 12K까지의 바이트를 반환합니다. 이러한 속성은 세밀한 그레인드 감사 기능의 이벤트 핸들러 내에서만 지정할 수 있습니다. |
CURRENT_SQL_LENGTH | 세밀한 그레인드 감사 기능 또는 행 수준 보안 (RLS) 정책 함수 또는 이벤트 핸들러를 트리거하는 현재 SQL 문의 길이를 반환합니다. 이 속성은 세밀한 그레인드 감사 기능의 이벤트 핸들러 내에서만 지정할 수 있습니다. |
CURRENT_USER | 현재 활성화된 권한을 가진 데이터베이스 사용자의 이름을 반환합니다. 이 값은 Real Application Security 세션이 연결 또는 연결 해제되거나 활성 definer's rights 개체를 반영하기 위해 세션 동안 변경될 수 있습니다. 활성 definer's rights 개체가 없을 때, CURRENT_USER는 SESSION_USER와 동일한 값을 반환합니다. 뷰 정의의 본문에서 직접 사용될 때, 이것은 뷰를 사용하는 커서를 실행하는 사용자를 반환하며 뷰 내부에서 definer's rights로 사용되는 뷰를 고려하지 않습니다. 기업 사용자의 경우 스키마를 반환합니다. 현재 활성화된 Real Application Security 사용자가 있는 경우 XS$NULL 사용자를 반환합니다. 참고: 사용자 XS$NULL에 대한 자세한 정보는 Oracle Database 2 Day + Security Guide를 참조하십시오. |
CURRENT_USERID | 현재 활성화된 권한을 가진 데이터베이스 사용자의 식별자를 반환합니다. |
DATABASE_ROLE | USERENV 네임스페이스를 사용하여 SYS_CONTEXT 함수를 이용해 검색한 데이터베이스 역할입니다. 역할은 PRIMARY, PHYSICAL STANDBY, LOGICAL STANDBY, SNAPSHOT STANDBY 중 하나입니다. |
DB_DOMAIN | DB_DOMAIN 초기화 매개변수에 지정된 데이터베이스 도메인입니다. |
DB_NAME | DB_NAME 초기화 매개변수에 지정된 데이터베이스 이름입니다. |
DB_SUPPLEMENTAL_LOG_LEVEL | 보조 로깅이 활성화되어 있으면 활성화된 보조 로깅 레벨 목록을 포함한 문자열을 반환합니다. 가능한 값은 ALL_COLUMN, FOREIGN_KEY, MINIMAL, PRIMARY_KEY, PROCEDURAL 및 UNIQUE_INDEX입니다. 보조 로깅이 비활성화되어 있으면 null을 반환합니다. |
DB_UNIQUE_NAME | DB_UNIQUE_NAME 초기화 매개변수에 지정된 데이터베이스 고유 이름입니다. |
DBLINK_INFO | 데이터베이스 링크 세션의 소스를 반환합니다. 구체적으로 다음 형식의 문자열을 반환합니다: SOURCE_GLOBAL_NAME=dblink_src_global_name, DBLINK_NAME=dblink_name, SOURCE_AUDIT_SESSIONID=dblink_src_audit_sessionid 여기서: • dblink_src_global_name은 소스 데이터베이스의 고유 글로벌 이름입니다. • dblink_name은 소스 데이터베이스의 데이터베이스 링크의 이름입니다. • dblink_src_audit_sessionid는 dblink_name을 사용하여 원격 데이터베이스에 대한 연결을 시작한 소스 데이터베이스의 세션의 감사 세션 ID입니다. |
DRAIN_STATUS | 현재 세션의 드레인 상태를 표시합니다. 세션이 드레인 후보인 경우 DRAINING을 반환하고, 그렇지 않으면 NONE을 반환합니다. |
ENTRYID | 현재 감사 항목 번호입니다. 감사 entryid 시퀀스는 세부 감사 레코드와 일반 감사 레코드 간에 공유됩니다. 이 속성을 분산 SQL 문에서 사용할 수 없습니다. 올바른 감사 항목 식별자는 표준 또는 세밀한 감사를 위한 감사 핸들러를 통해서만 볼 수 있습니다. |
ENTERPRISE_IDENTITY | 사용자의 엔터프라이즈 전체 ID를 반환합니다: • 엔터프라이즈 사용자의 경우: Oracle Internet Directory DN. • 외부 사용자의 경우: 외부 ID (Kerberos 주체 이름, Radius 스키마 이름, OS 사용자 이름, 인증서 DN). • 로컬 사용자 및 SYSDBA/SYSOPER 로그인의 경우: NULL. 이 속성의 값은 프록시 방법에 따라 다릅니다: • DN을 가진 프록시의 경우: 클라이언트의 Oracle Internet Directory DN • 인증서를 가진 프록시의 경우: 외부 사용자의 클라이언트의 인증서 DN; 전역 사용자의 경우 Oracle Internet Directory DN • 사용자 이름을 가진 프록시의 경우: 엔터프라이즈 사용자인 경우 Oracle Internet Directory DN; 로컬 데이터베이스 사용자인 경우 Null OCI IAM 사용자의 경우: Oracle Cloud Identifier (OCID). |
FG_JOB_ID | DBMS_JOB 패키지를 사용하여 생성된 작업 내에서 쿼리된 경우, 현재 세션이 클라이언트 전경 프로세스에 의해 설정된 경우 현재 세션의 작업 ID를 반환합니다. 전경 프로세스에 의해 세션이 설정되지 않은 경우 Null을 반환합니다. 그렇지 않으면 0을 반환합니다. |
GLOBAL_CONTEXT_MEMORY | 글로벌로 액세스되는 컨텍스트에 의해 시스템 글로벌 영역에서 사용 중인 숫자를 반환합니다. |
GLOBAL_UID | Centrally Managed Users (CMU) 로그인의 경우 Active Directory에서 글로벌 사용자 ID (GUID)를 반환하거나, Enterprise User Security (EUS) 로그인의 경우 Oracle Internet Directory에서 반환합니다. 다른 모든 로그인의 경우 null을 반환합니다. |
HOST | 클라이언트가 연결한 호스트 컴퓨터의 이름입니다. |
IDENTIFICATION_TYPE | 사용자의 스키마가 데이터베이스에 생성된 방식을 반환합니다. 구체적으로는 CREATE/ALTER USER 구문에서 사용된 IDENTIFIED 절을 반영합니다. 아래의 목록에서 스키마 생성 중 사용된 구문 다음에 반환되는 식별 유형이 나와 있습니다: • IDENTIFIED BY password: LOCAL • IDENTIFIED EXTERNALLY: EXTERNAL • IDENTIFIED GLOBALLY: GLOBAL SHARED • IDENTIFIED GLOBALLY AS DN: GLOBAL PRIVATE • exclusive global user mapping을 위한 GLOBAL EXCLUSIVE • shared user mapping을 위한 GLOBAL SHARED • 인증 없이 스키마가 생성된 경우 NONE |
INSTANCE | 현재 인스턴스의 인스턴스 식별 번호를 반환합니다. |
INSTANCE_NAME | 인스턴스의 이름을 반환합니다. |
IP_ADDRESS | 클라이언트가 연결한 컴퓨터의 IP 주소를 반환합니다. 클라이언트와 서버가 동일한 컴퓨터에 있고 연결이 IPv6 주소 지정을 사용하는 경우 ::1이 반환됩니다. |
IS_APPLY_SERVER | 논리 스탠바이 데이터베이스의 SQL Apply 서버 내에서 쿼리된 경우 TRUE를 반환하고, 그렇지 않으면 FALSE를 반환합니다. |
IS_DG_ROLLING_UPGRADE | Data Guard 구성에서 DBMS_ROLLING 패키지를 통해 시작된 데이터베이스 소프트웨어의 롤링 업그레이드가 활성화된 경우 TRUE를 반환하고, 그렇지 않으면 FALSE를 반환합니다. |
ISDBA | 사용자가 운영 체제 또는 패스워드 파일을 통해 DBA 권한을 가진 것으로 인증된 경우 TRUE를 반환합니다. |
LANG | 언어의 약어로, 'LANGUAGE' 매개변수보다 짧은 형식입니다. |
LANGUAGE | 현재 세션에서 사용 중인 언어와 영토를 나타내며, 데이터베이스 문자 집합과 함께 다음 형식으로 표시됩니다: language_territory.characterset |
LDAP_SERVER_TYPE | 구성된 LDAP 서버 유형을 반환하며, OID, AD(Active Directory), OID_G, OPENLDAP 중 하나입니다. |
MODULE | DBMS_APPLICATION_INFO 패키지 또는 OCI를 통해 설정된 응용 프로그램 이름(모듈)입니다. |
NETWORK_PROTOCOL | 통신에 사용되는 네트워크 프로토콜로, 연결 문자열의 'PROTOCOL=protocol' 부분에 지정된 대로 반환됩니다. |
NLS_CALENDAR | 현재 세션의 달력 정보입니다. |
NLS_CURRENCY | 현재 세션의 통화 정보입니다. |
NLS_DATE_FORMAT | 세션의 날짜 형식입니다. |
NLS_DATE_LANGUAGE | 날짜 표현에 사용되는 언어 정보입니다. |
NLS_SORT | BINARY 또는 언어별 정렬 기준입니다. |
NLS_TERRITORY | 현재 세션의 영토 정보입니다. |
ORACLE_HOME | Oracle 홈 디렉토리의 전체 경로명입니다. |
OS_USER | 데이터베이스 세션을 시작한 클라이언트 프로세스의 운영 체제 사용자 이름입니다. |
PLATFORM_SLASH | 플랫폼에 맞는 파일 경로 구분자로 사용되는 슬래시 문자입니다. |
POLICY_INVOKER | 행 수준 보안 (RLS) 정책 함수의 호출자입니다. |
PROXY_ENTERPRISE_IDENTITY | 프록시 사용자가 기업 사용자인 경우 Oracle Internet Directory DN을 반환합니다. |
PROXY_USER | 현재 세션을 SESSION_USER 대신 열어놓은 데이터베이스 사용자의 이름입니다. |
PROXY_USERID | 현재 세션을 SESSION_USER 대신 열어놓은 데이터베이스 사용자의 식별자입니다. |
SCHEDULER_JOB | 현재 세션이 foreground job 또는 background job에 속하는 경우 Y를 반환하고, 그렇지 않으면 N을 반환합니다. |
SERVER_HOST | 인스턴스가 실행 중인 컴퓨터의 호스트 이름입니다. |
SERVICE_NAME | 특정 세션이 연결된 서비스의 이름입니다. |
SESSION_DEFAULT_COLLATION | 세션의 기본 정렬 순서로, ALTER SESSION SET DEFAULT_COLLATION ... 문에 의해 설정됩니다. |
SESSION_EDITION_ID | 세션 에디션의 식별자입니다. |
SESSION_EDITION_NAME | 세션 에디션의 이름입니다. |
SESSION_USER | 세션 사용자의 이름(로그인한 사용자)입니다. 데이터베이스 세션의 기간 동안 변경될 수 있으며, Real Application Security 세션이 연결되거나 연결이 해제될 수 있습니다. 기업 사용자의 경우 스키마를 반환하며, 다른 사용자의 경우 데이터베이스 사용자 이름을 반환합니다. 현재 데이터베이스 세션에 Real Application Security 세션이 연결되어 있는 경우 사용자 XS$NULL을 반환합니다. 참고: 사용자 XS$NULL에 대한 자세한 정보는 Oracle Database 2 Day + Security Guide를 참조하십시오. |
SESSION_USERID | 세션 사용자의 식별자(로그인한 사용자)입니다. |
SESSIONID | 감사 세션 식별자입니다. 분산 SQL 문에서는 이 속성을 사용할 수 없습니다. |
SID | 세션 ID입니다. |
STATEMENTID | 감사 문 식별자입니다. STATEMENTID는 특정 세션에서 감사된 SQL 문 수를 나타냅니다. 분산 SQL 문에서는 이 속성을 사용할 수 없습니다. |
TERMINAL | 현재 세션의 클라이언트 운영 체제 식별자입니다. 분산 SQL 문에서는 로컬 세션 식별자를 반환합니다. 분산 환경에서는 이것이 원격 INSERT, UPDATE 또는 DELETE 작업이 아닌 원격 SELECT 문에만 지원됩니다. |
UNIFIED_AUDIT_SESSIONID | 통합 감사 또는 혼합 모드 감사를 사용하는 데이터베이스에 연결된 경우 통합 감사 세션 ID를 반환합니다. 전통적인 감사를 사용하는 데이터베이스에 연결된 경우 null을 반환합니다. |
출처: 오라클 레퍼런스
원문 링크: Oracle SYS_CONTEXT 함수 문서
'코딩 > 오라클 함수' 카테고리의 다른 글
[오라클 레퍼런스 함수] SYS_EXTRACT_UTC - UTC(협정 세계 시간) 추출 함수 (0) | 2023.08.24 |
---|---|
[오라클 레퍼런스 함수] SYS_DBURIGEN - URL 생성 함수 (0) | 2023.08.24 |
[오라클 레퍼런스 함수] SYS_CONNECT_BY_PATH - 계층적 쿼리에서 경로 반환 (0) | 2023.08.23 |
[오라클 레퍼런스 함수] SUM - 값의 합산 반환 (0) | 2023.08.23 |
[오라클 레퍼런스 함수] SUBSTR - 문자열 일부 추출 (0) | 2023.08.21 |
댓글