oracle user audit
오라클 계정 사용 유무 확인 (서비스 부하가 많은 곳은 사용하지 말것)
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;