정의
SYS_CONTEXT 함수는 세션정보를 얻어오는 함수
Namespace와 관계되는 Parameter 값을 반환
오라클에서 사용하는 Namespace는 USERENV이다.
형식
SYS_CONTEXT ('Namespace', 'Parameter' [, Length])
예제
- INSTANCE NAME/ DB NAME을 확인하고 싶은데 권한이 없는 일반 유저가 확인하고 싶을때 가능
- USERENV : 현재 세션의 환경정보를 반환는 네임스페이스 입니다.
|
SELECT SYS_CONTEXT ( 'USERENV' , 'SESSIONID' ), -- 사용자 감사세션 SYS_CONTEXT (
SYS_CONTEXT ( 'USERENV' , 'DB_NAME' ), -- DB 이름
SYS_CONTEXT ( 'USERENV' , 'TERMINAL' ), -- 사용자 운영체제 시스템 ID SYS_CONTEXT ( 'USERENV' , 'IP_ADDRESS' ) -- 사용자 IP주소 FROM DUAL ; |
파라미터 |
정의 |
Action |
모듈내 위치로 DBMS_Application_Info 패키지로 설정됨 |
Audited_Cursorid |
감사를 트리거하는 SQL의 커서 ID를 반환 |
Authenticated_Identity |
authentication 하에 사용중인 ID를 반환 |
Authentication_Data |
로그인 사용자가 권한받아 사용중인 데이터 |
Authentication_Method |
권한 방법을 반환 |
BG_Job_id |
현재 세션의 Job ID |
Client_Identifier |
DBMS_Session을 통한 응용에 의해 설정된 ID |
Client_Info |
사용자 세션정보를 64 Byte 까지 반환 |
Current_Bind |
FGA에 대한 Bind Variables |
Current_Schema |
현재 스키마에서 사용중인 Default 스키마 명 |
Current_Schemaid |
현재 스키마에서 사용중인 Default 스키마 ID |
Current_SQL |
트리거된 첫 4 KByte |
Current_SQL_n |
n 은 1~7의 4 KByte |
Current_SQL_Length |
현재 SQL문의 길이 |
DB_Domain |
DB_Domain 으로 지정한 DB의 도메인 |
DB_Name |
DB_Name 으로 지정한 DB의 이름 |
DB_Unique_Name |
DB_Unique_Name 으로 지정한 DB의 이름 |
Entryid |
현재 Audit Entry 번호 |
Entrprise_identity |
사용자의 Enterprise-wide identity |
FG_Job_id |
현재 세션의 Job ID |
Global_Context_Memory | Global Access Context에 의해서 사용중인 SGA의 번호 |
Global_Uid | Global User ID |
Host | Host Machin의 이름 |
Identification_Type | 스키마가 Db에서 생성된 방법 |
Instance | 현재 인스턴스 ID |
Instance_Name | 클라이언트가 연결된 Machine의 IP |
IP_Address | 연결된 IP 주소 |
isDBA | DBA 권한의 사용자인지 질의 [ True | False ] |
Lang | 언어 명 |
Language | User Session에서 사용중인 언어 |
Module | DBMS_Application_info 패키지로 설정한 모듈 이름 |
Network_Protocol | 네트워크 프로토콜 |
NLS_Calendar | 현재 세션의 달력 |
NLS_Currency | 현재 세션의 화폐 |
NLS_Date_Format | 현재 세션의 날짜 포멧 |
NLS_Date_Language | 현재 세션의 날짜 표현 언어 |
NLS_Sort | Binary 또는 언어적 Sort |
NLS_Territory | 현재 세션의 territory |
OS_User | OS 유저 ID |
Policy_invoker | Row Level Security Policy 함수의 invoker |
Proxy_Enterprise_identity | Proxy 사용자가 Enterprise User인 경우, 오라클 인터넷 디렉토리 DN |
Proxy_Global_Uid | Enterprise User Security Proxy 사용자에 대한 오라클 인터넷 디렉토리의 Global 사용자 |
Proxy_User | DB 사용자 명 |
Proxy_Userid | DB 사용자 ID |
Server_Host | 인스턴스가 동작중인 Machine의 호스트명 |
Service_Name | 주어진 세션이 접속된 서비스 명 |
Session_User | 엔터프라이즈 사용자인 경우 스키마 이름, 그외에는 DB 사용자 이름 |
Session_Userid | DB 사용자 이름의 ID |
Sessionid | 감사 세션 ID |
SID | 세션 번호 |
Statementid | 감사문 ID |
Terminal | 운영체제 시스템 ID |
[출처]
http://develop.sunshiny.co.kr/681
http://docs.oracle.com/cd/E11882_01/olap.112/e23381/row_functions079.htm
'Oracle > DBA' 카테고리의 다른 글
[펌][Oracle] 대용량 자료전환 시 튜닝 포인트 - Hash join (0) | 2015.11.19 |
---|---|
[Oracle] Merge 구문 1 (0) | 2015.11.12 |
특정 컬럼만 Masking (0) | 2015.09.03 |
[펌] DBMS_XPLAN (0) | 2015.08.28 |
[펌]Index Access and Filter (0) | 2015.08.28 |