DB (데이터베이스)/Oracle (오라클)

[Oracle] Oracle audit_trail파라미터 설정방법

뜽배 2024. 6. 17. 18:25
728x90
반응형

oracle DB에서 audit_trail을 설정 하는 방법에 대해 알아보자

우선 oracle audit기능에 대해 설명해보자면. 

 

AUDIT기능은 oracle DB의 사용자 행동을 감시하는 목적으로 사용된다.
이 기능을 통해 어떤 사용자가, 어떤 테이블을 언제 사용하고, 어떤 작업을 하는지 기록하여 확인할 수 있게된다


1. audit기능 활성화

-- DB에 sysdba로 접속한다.
sqlplus "/as sysdba"

-- audit_trail 파라미터 조회
show parameter audit_trail;


sqlplus 에서 show parameter명령어를 통해 audit_trail의 값을 확인한다.


현재 'NONE'으로 되어있다.

audit_trail에는 설정 할 수 있는 값이 3가지가 있다. 아래는 설정할 수 있는 값에 대한 설명이다.


NONE : audit을 비활성화
OS : audit의 결과를 os에 파일로 저장
DB : audit의 결과를 DB (SYS.AUD$ 테이블)에 저장
DB, EXTENDED : audit의 결과를 DB (SYS.AUD$ 테이블)에 저장 [DB와 다른점은 SQLBIND, SQLTEXT 추가 정보를 저장]


audit_trail을 "DB, EXTENDED"로 바꿔서 활성화 해보자

-- audit_trail 파라미터 DB, EXTENDED 로 변경
alter system set audit_trail=DB, EXTENDED scope=spfile;

shutdown immediate;
startup;

-- audit_trail 파라미터 변경된 것 확인
show parameter audit_trail;

 


이렇게 audit_trail의 값을 "DB, EXTENDED"로 변경했다.

 

2. audit의 종류


Statement Auditing  : create table, drop user등 sql문장에 대해 audit가능
format : AUDIT statement,[statement].. [By user[, user]] [by {session | access}] [whenever [not] successful]

Privilege Auditing : 시스템 권한을 부여받은 사용자가 그 권한으로 사용한 모든 문장 감사 기능
foramt : AUDIT privilege,[privilege].. [By user[,user]] [by {session | access}] [whenever [not] successful]

Object Auditing : 특정 스키마의 오브젝트에 수행되는 명령문 감사 
format : AUDIT statement[,statement].. [By user[,user]] [by access {session | access}] [whenever [not] successful]

728x90
반응형