오라클에 접속한 클라이언트 IP를 추적함으로써 오라클에 영향을 줄 수 있는 클라이언트의 각종 정보를 검색하여 튜닝 및 문제점을 해결하는데 다양하게 이용될 수 있다. 



1. sys 사용자로 오라클에 접속한다. 
  
    $ sqlplus internal 

  
2. 다음에 제시한 트리거를 생성한다. 


SQL> drop table sqlclient; 
SQL> create table sqlclient ( ipno varchar2(20), sid number,  name varchar2(64)); 


SQL> create or replace procedure ip_ins is 
        curInfo    varchar2(80); 
        v_sid      number; 
        v_sno      number; 
        v_ipno    varchar2(20); 
        v_name    varchar2(64); 
        sessionid  varchar2(20); 
    begin 
        sessionid := dbms_session.unique_session_id(); 
        dbms_application_info.read_client_info(curInfo); 
        dbms_application_info.set_client_info(sessionid); 
        select  sid,  machine 
        into    v_sid,  v_name 
        from    v$session 
        where  client_info = sessionid; 
        dbms_application_info.set_client_info(curInfo); 
        -- 
        v_ipno := sys_context('USERENV','IP_ADDRESS'); 
        if    v_ipno is not null then 
                insert into sqlclient 
                values    (v_ipno, v_sid, v_name ); 
                commit; 
        end if; 
    exception 
        when  dup_val_on_index then 
                update sqlclient 
                set    sid = v_sid ,  name  = v_name 
                where  ipno = v_ipno; 
                commit; 
      -- when  others then 
      --        null; 
        end; 
    / 


SQL> create or replace trigger db_logon 
        after logon on database 
        begin 
          sys.ip_ins; 
      end; 
        / 

3. 클라이언트에서 TCP/IP로 오라클에 접속한 후 정보를 조회한다. 

    SQL > connect sys/
    SQL > select * from sqlclient;

사업자 정보 표시
(주)블루원 | 김홍태 | 서울특별시 용산구 원효로 4가 135 금홍 2빌딩 | 사업자 등록번호 : 106-86-76684 | TEL : 02-3272-7200 | Mail : support_ora@blueone.co.kr | 통신판매신고번호 : 호 | 사이버몰의 이용약관 바로가기

'DB - ORACLE > Oracle DB Admin ' 카테고리의 다른 글

RMAN의 기본적 지식  (0) 2016.02.11
TNSPING으로 접속 TEST하는 방법  (0) 2016.02.11
9. PL/SQL 내장 프로시저 및 함수 소개  (0) 2016.01.04
8. PL/SQL 예외처리  (0) 2016.01.04
7. PL/SQL 명시적 커서 사용  (0) 2016.01.04

+ Recent posts