2009년 11월 17일 화요일

SYS_CONTEXT, USERENV

USERENV에서 사용될 parameter는 다음과 같다.

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바이트까지 반환
CURRENT_BIND fine-grained auditing에 대한 bind variables
CURRENT_SCHEMA 현재 스키마에서 사용중인 디폴트 스키마의 이름
CURRENT_SCHEMAID 현재 스키마에서 사용중인 디폴트 스키마의 ID
CURRENT_SQL 트리거된 첫 4K바이트
n은 1∼7의 4K 바이트
CURRENT_SQLn
CURRENT_SQL_LENGTH 현재 SQL문의 길이
DB_DOMAIN DB_DOMAIN으로 지정한 데이터베이스의 도메인
DB_NAME DB_NAME으로 지정한 데이터베이스의 이름
DB_UNIQUE_NAME DB_UNIQUE_NAME으로 지정한 데이터베이스의 이름
ENTRYID 현재 audit 엔트리번호
ENTERPRISE_IDENTITY 사용자의 entrprise-wide identity
FG_JOB_ID 현재 세션의 job ID
GLOBAL_CONTEXT_MEMORY globally access context에 의해서 사용중인 SGA의 번호
GLOBAL_UID global user ID
HOST host machine의 이름
IDENTIFICATION_TYPE 스키마가 데이터베이스에서 생성된 방법
INSTANCE 현재 인스턴스의 ID 번호
INSTANCE_NAME 클라이언트가 연결된 machine의 IP
IP_ADDRESS 연결된 IP 주소
ISDBA DBA 권한을 가진 사용자라면 TRUE
LANG 언어이름
LANGUAGE 사용자 세션에서 현재 사용중인 언어
MODULE DBMS_APPLICATION_INFO 패키디로 설정한 모듈이름
NETWORK_PROTOCOL 통신에 사용중인 네트워크 프로토콜
NLS_CALENDAR 현재 세션의 달력
NLS_CURRENCY 세션의 화폐
NLS_DATE_FORMAT 세션의 날짜 포멧
NLS_DATE_LANGUAGE 날짜 표현 언어
NLS_SORT BINARY 또는 언어적인 소트
NLS_TERRITORY 현재 세션의 territory
OS_USER 운영체제 사용자 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 데이터베이스 사용자 이름
PROXY_USERID 데이터베이스 사용자의 ID
SERVER_HOST 인스턴스가 동작중인 기계의 호스트이름
SERVICE_NAME 주어진 세션이 접속된 서비스 이름
SESSION_USER 엔터프라이즈 사용자인 경우, 스키마이름
그 외 사용자인 경우, 데이터베이스 사용자 이름
SESSION_USERID 데이터베이스 사용자 이름의 ID
SESSIONID 감사 세션 ID
SID 세션 번호
STATEMENTID 감사문 ID
TERMINAL 운영체제 시스템 ID

 

 

SELECT 'TERMINAL' as syscontext, SYS_CONTEXT('USERENV','TERMINAL') terminal FROM DUAL UNION ALL
SELECT 'LANGUAGE' as syscontext, SYS_CONTEXT('USERENV','LANGUAGE') language FROM DUAL UNION ALL
SELECT 'SESSIONID' as syscontext, SYS_CONTEXT('USERENV','SESSIONID') sessionid FROM DUAL UNION ALL
SELECT 'INSTANCE' as syscontext, SYS_CONTEXT('USERENV','INSTANCE') instance FROM DUAL UNION ALL
SELECT 'ENTRYID' as syscontext, SYS_CONTEXT('USERENV','ENTRYID') entryid FROM DUAL UNION ALL
SELECT 'ISDBA' as syscontext, SYS_CONTEXT('USERENV','ISDBA') isdba FROM DUAL UNION ALL
SELECT 'NLS_TERRITORY' as syscontext, SYS_CONTEXT('USERENV','NLS_TERRITORY') nls_territory FROM DUAL UNION ALL
SELECT 'NLS_CURRENCY' as syscontext, SYS_CONTEXT('USERENV','NLS_CURRENCY') nls_currency FROM DUAL UNION ALL
SELECT 'NLS_CALENDAR' as syscontext, SYS_CONTEXT('USERENV','NLS_CALENDAR') nls_calendar FROM DUAL UNION ALL
SELECT 'NLS_DATE_FORMAT' as syscontext, SYS_CONTEXT('USERENV','NLS_DATE_FORMAT') nls_date_format FROM DUAL UNION ALL
SELECT 'NLS_DATE_LANGUAGE' as syscontext, SYS_CONTEXT('USERENV','NLS_DATE_LANGUAGE') nls_date_language FROM DUAL UNION ALL
SELECT 'NLS_SORT' as syscontext, SYS_CONTEXT('USERENV','NLS_SORT') nls_sort FROM DUAL UNION ALL
SELECT 'CURRENT_USER' as syscontext, SYS_CONTEXT('USERENV','CURRENT_USER') current_user FROM DUAL UNION ALL
SELECT 'CURRENT_USERID' as syscontext, SYS_CONTEXT('USERENV','CURRENT_USERID') current_userid FROM DUAL UNION ALL
SELECT 'SESSION_USER' as syscontext, SYS_CONTEXT('USERENV','SESSION_USER') session_user FROM DUAL UNION ALL
SELECT 'SESSION_USERID' as syscontext, SYS_CONTEXT('USERENV','SESSION_USERID') session_userid FROM DUAL UNION ALL
SELECT 'PROXY_USER' as syscontext, SYS_CONTEXT('USERENV','PROXY_USER') proxy_user FROM DUAL UNION ALL
SELECT 'PROXY_USERID' as syscontext, SYS_CONTEXT('USERENV','PROXY_USERID') proxy_userid FROM DUAL UNION ALL
SELECT 'DB_DOMAIN' as syscontext, SYS_CONTEXT('USERENV','DB_DOMAIN') db_domain FROM DUAL UNION ALL
SELECT 'DB_NAME' as syscontext, SYS_CONTEXT('USERENV','DB_NAME') db_name FROM DUAL UNION ALL
SELECT 'HOST' as syscontext, SYS_CONTEXT('USERENV','HOST') host FROM DUAL UNION ALL
SELECT 'OS_USER' as syscontext, SYS_CONTEXT('USERENV','OS_USER') os_user FROM DUAL UNION ALL
SELECT 'EXTERNAL_NAME' as syscontext, SYS_CONTEXT('USERENV','EXTERNAL_NAME') external_name FROM DUAL UNION ALL
SELECT 'IP_ADDRESS' as syscontext, SYS_CONTEXT('USERENV','IP_ADDRESS') ip_address FROM DUAL UNION ALL
SELECT 'NETWORK_PROTOCOL' as syscontext, SYS_CONTEXT('USERENV','NETWORK_PROTOCOL') network_protocol FROM DUAL UNION ALL
SELECT 'BG_JOB_ID' as syscontext, SYS_CONTEXT('USERENV','BG_JOB_ID') bg_job_id FROM DUAL UNION ALL
SELECT 'FG_JOB_ID' as syscontext, SYS_CONTEXT('USERENV','FG_JOB_ID') fg_job_id FROM DUAL UNION ALL
SELECT 'AUTHENTICATION_TYPE' as syscontext, SYS_CONTEXT('USERENV','AUTHENTICATION_TYPE') FROM DUAL



출처 : http://blog.naver.com/nkyle9361?Redirect=Log&logNo=110071237843