본문 바로가기
오라클 게시판/오라클 함수

【오라클 SQL 함수】 USERENV 함수

by 기서무나구물 2021. 10. 24.

포스팅 목차

    [오라클 SQL 함수(Oracle SQL Function) 목록 리스트 링크]

     

    USERENV

     


    문법

    userenv::=

     


    목적

    USERENV함수는 현재 세션에 대한 정보를 반환한다.

    주 의 : USERENV함수는 이전 버젼과 호완성을 유지하기 위하여 유지되는 레거시 함수이다. 오라클은 이 함수에 대하여 USERENV 네임 스페이스와 SYS_CONTEXT 함수를 함께 사용하는 것을 추천한다. SYS_CONTEXT 참조.

    이 정보는 응용 프로그램 별 감사 추적 테이블을 작성하거나, 세션에서 현재 사용하는 언어별 문자를 정의하는데 유용하다. CHECK 제약 조건에서 USERENV함수는 사용할 수 없다. Table 7-12는 parameter 인수값을 서술한다.

    USERENV에 모든 콜은 NUMBER를 반환하는 SESSIONID, ENTRYID, COMMITSCN파라미터를 가지는 call을 제외하고 VARCHAR2 데이터를 반환한다.

    USERENV 함수는 현재 세션의 환경 정보를 반환합니다.


      - ENTRYID : 사용 가능한 Auditing entry Identifier를 반환합니다.
      - LABEL : 현재 세션의 Label을 반환합니다.
      - LANGUAGE : 현재 세션에서 사용중인 언어와 테리토리 값을 반환합니다.
      - SESSIONID : Auditing(감사) Session ID를 반환합니다.
      - TERMINAL : 현재 세션 터미널의 OS ID를 반환합니다. 

     

    Table 7-12 Parameters of the USERENV Function

    Parameters 설명
    CLIENT_INFO CLIENT_INFO는 DBMS_APPLICATION_INFO패키지를 이용하는 어플리케이션에 의해 저장될수 있는 사용자 세션 정보의 64바이트까지를 반환한다.
    ENTRYID 현재 감사 엔티리 번호를 반환한다. 감사 엔트리 ID순서는 fine-grained 감사 레코드와 통상 감사 레코드 사이를 공유한다. 분산 SQL문에서 이 속성을 이용할수 없다. 참고: 코스 그레인드(coarse-grained)와 파인 그레인드(fine-grained)는 우리말 한마디로 옮기기에는 무척 버거운 개념이다. grain은 원래 보리나 밀 같은 곡식을 낟알로 만드는 작업이나 표면을 우둘투둘하게 하는 일을 뜻 하는데, 그때아주 곱고 섬세하게 하느냐, 아니면 듬성 듬성 크게 하느냐에 따라 fine와 coarse라 는형용사를 붙인다. 이것이 소프트웨어공학에 도입되어 어떠한 프로세스를 아주 잘게 쪼개느냐 아니면 굵게 쪼개서 뭉뚱그려 놓느냐를 표현할 때 쓰게 되었다. 웹서비스에서의서비스라는 단위에 비해 상대적으로 자바의 메소드는 더 세분화되어있다는 뜻에서 코스그레인드 서비스-파인그레인드 메소드라는 대칭이 생겼다고 봐도 좋다.
    ISDBA ISDBA는 만약 사용자가 운영 시스템 또는 패스워드 파일에 의해서 사용자가 DBA권한 소유가 인증되었을 경우에 'TRUE'를 반환한다.
    LANG LANG는 언어명에 대한 ISO 약칭을 반환한다. 'LANGUAGE' 파라미터의 축약
    LANGUAGE LANGUAGE는 이 형태에서 데이터베이스 문자 세트 현행 세션에 의해 이용되는 언어와 지역을 반환한다.language_territory.characterset
    SESSIONID SESSIONID는 감사 세션 식별자를 반환한다.분산 SQL문장에서 이 파라미터를 지정할수 없다.
    TERMINAL TERMINAL은 현재 세션의 터미널에 대한 운영 시스템 식별자를 반환한다. 분산 SQL문자에서, 이 파라미터는 로컬 세션의 식별자를 반환한다. 분산 환경에서, 이 파라미터는 리모트 SELECT문장에 대하여 지원될수 있으나, 리모트 INSERT,UPDATE,DELETE 에서는 이용될수 없다.

     


    관련 함수

    함수명 함수내용
    SYS_CONTEXT 문맥 namespace와 관련된 parameter의 값을 반환.
    SYS_GUID 16바이트로 구성된 고유전역식별자(globally unique identifier,RAW 값)을 생성하여 반환.
    SYS_TYPEID 피연산자(operand)의 대부분 지정한 형태의 typeid를 반환.
    UID 세션 사용자의 유일한 식별하는 정수를 반환.(로그인 유저)
    USER VARCHAR2 형태를 가지는 세션 사용자(로그인 유저)의 이름을 반환.
    USERENV 현재 세션에 대한 정보를 반환.

     


    예제

    다음 예제는 현재 세션의 LANGUAGE 파라미터를 반환한다.

    Oracle Program
    SELECT USERENV('LANGUAGE') "Language" 
    FROM   DUAL;

     

    Results
    Language
    -----------------------------------
    AMERICAN_AMERICA.WE8ISO8859P1

     


      --------------------------------------------  

    오라클 SQL 함수(Oracle SQL Function) 목록 리스트 링크

     

    [SQL, Pandas, R Prog, Dplyr, SQLDF, PANDASQL, DATA.TABLE]
    SQL EMP 예제로 만나는 테이블 데이터 처리 방법 리스트 링크
    반응형

    댓글