오라클 계정 사용 유무 확인 (서비스 부하가 많은 곳은 사용하지 말것)

 

1. audit table

우선 trigger에서 사용할 테이블부터 생성

 

create table system.audit_schema 

(

    username varchar2(30),

    sess        varchar2(256),

    host        varchar2(256),

    login_dt   date,

    osuer      varchar2(256),

    program  varchar2(48)

);

 

2. audit trigger

CREATE OR REPLACE TRIGGER "LOGON_AUDIT_TRIGGER" AFTER
LOGON ON DATABASE
DECLARE
sess number(10);
prog varchar2(70);
BEGIN
IF sys_context('USERENV','BG_JOB_ID') is null and user = 'CERT' THEN
   sess := sys_context('USERENV','SESSIONID');
   SELECT program INTO prog FROM v$session WHERE audsid = sess
   and rownum<=1;
   INSERT INTO system.audit_schema VALUES (
   user,sys_context('USERENV','SESSIONID'),
   sys_context('USERENV','HOST'),
   sysdate,
   sys_context('USERENV','OS_USER'),

   prog);
END IF;
END;

'RDB > Oracle' 카테고리의 다른 글

oracle 19c 권장 파라미터  (0) 2022.02.18
oracle 19c dictionary 및 fixed 테이블 통계정보 수집  (0) 2022.02.18
azure oracle alert 로그 체크  (0) 2021.08.03
oracle object meta 정보 추출  (0) 2021.03.23
DB별 비교  (0) 2021.02.19

+ Recent posts