Database/ORACLE
Oracle - SYS_CONTEXT 함수를 이용하여 접속 세션 정보 추출
하이주니
2017. 11. 19. 13:45
반응형
# INSTANCE NAME/ DB NAME을 확인하고 싶은데 권한이 없는 일반 유저가 확인하고 싶을때 가능
- SYS_CONTEXT 함수는 세션정보를 얻어오는 함수 입니다.
- USERENV : 현재 세션의 환경정보를 반환는 네임스페이스 입니다.
SYS_CONTEXT ('namespace', 'parameter')
Oracle Docs : http://docs.oracle.com/cd/E11882_01/olap.112/e23381/row_functions079.htm
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | -- DB 이름SELECT SYS_CONTEXT('userenv', 'db_name') db_name FROM DUAL;DB_NAME------------oracle3 -- Instance 이름SELECT SYS_CONTEXT('userenv', 'instance_name') instance_name FROM DUAL;INSTANCE_NAME------------------oraSub3 -- 접속자 IP 주소SELECT SYS_CONTEXT('USERENV','IP_ADDRESS') "My IP Address" FROM DUAL; -- DBA 여부SELECT SYS_CONTEXT('USERENV','ISDBA') isdba FROM DUAL;ISDBA-------TRUESELECT SYS_CONTEXT('USERENV','TERMINAL') terminal FROM DUAL; SELECT SYS_CONTEXT('USERENV','LANGUAGE') language FROM DUAL; SELECT SYS_CONTEXT('USERENV','SESSIONID') sessionid FROM DUAL; SELECT SYS_CONTEXT('USERENV','INSTANCE') instance FROM DUAL; SELECT SYS_CONTEXT('USERENV','ENTRYID') entryid FROM DUAL; SELECT SYS_CONTEXT('USERENV','ISDBA') isdba FROM DUAL; SELECT SYS_CONTEXT('USERENV','NLS_TERRITORY') nls_territory FROM DUAL; SELECT SYS_CONTEXT('USERENV','NLS_CURRENCY') nls_currency FROM DUAL; SELECT SYS_CONTEXT('USERENV','NLS_CALENDAR') nls_calendar FROM DUAL; SELECT SYS_CONTEXT('USERENV','NLS_DATE_FORMAT') nls_date_format FROM DUAL; SELECT SYS_CONTEXT('USERENV','NLS_DATE_LANGUAGE') nls_date_language FROM DUAL; SELECT SYS_CONTEXT('USERENV','NLS_SORT') nls_sort FROM DUAL; SELECT SYS_CONTEXT('USERENV','CURRENT_USER') current_user FROM DUAL; SELECT SYS_CONTEXT('USERENV','CURRENT_USERID') current_userid FROM DUAL; SELECT SYS_CONTEXT('USERENV','SESSION_USER') session_user FROM DUAL; SELECT SYS_CONTEXT('USERENV','SESSION_USERID') session_userid FROM DUAL; SELECT SYS_CONTEXT('USERENV','PROXY_USER') proxy_user FROM DUAL; SELECT SYS_CONTEXT('USERENV','PROXY_USERID') proxy_userid FROM DUAL; SELECT SYS_CONTEXT('USERENV','DB_DOMAIN') db_domain FROM DUAL; SELECT SYS_CONTEXT('USERENV','DB_NAME') db_name FROM DUAL; SELECT SYS_CONTEXT('USERENV','HOST') host FROM DUAL; SELECT SYS_CONTEXT('USERENV','OS_USER') os_user FROM DUAL; SELECT SYS_CONTEXT('USERENV','EXTERNAL_NAME') external_name FROM DUAL; SELECT SYS_CONTEXT('USERENV','IP_ADDRESS') ip_address FROM DUAL; SELECT SYS_CONTEXT('USERENV','NETWORK_PROTOCOL') network_protocol FROM DUAL; SELECT SYS_CONTEXT('USERENV','BG_JOB_ID') bg_job_id FROM DUAL; SELECT SYS_CONTEXT('USERENV','FG_JOB_ID') fg_job_id FROM DUAL; SELECT SYS_CONTEXT('USERENV','AUTHENTICATION_TYPE') FROM DUAL;출처 : http://develop.sunshiny.co.kr/681 |
반응형