반응형
감사란 데이터 작업에 대한 모니터링을 말하며 오라클의 감시카메라같은 역할을 한다.
테이블의 변경 또는 얼마나 많은 양의 데이터가 I/O되며 절정 시간에 동접자가
얼마나 되는지에 대한 통계자료를 모을 수 있다.
< 감사 조회 >
SHOW PARAMETER audit -- 감사 설정 파라미터 조회
SELECT * FROM sys.aud$; -- Audit 결과가 쌓이는 저장소 & 감사 결과 조회(테이블)
SELECT * FROM dba_audit_trail WHERE OWNER != 'SYS'; -- 감사결과 조회(sys.aud$을 기반으로 생성된 뷰)
SELECT * FROM dictionary WHERE table_name like '%AUDIT%';
-- 데이터 사전에서 감사와 관련된 테이블 조회
SELECT * FROM dba_obj_audit_opts; -- 객체와 관련된 감사 설정 정보 조회
SELECT * FROM dba_priv_audit_opts; -- 시스템 권한과 관련된 감사 설정 정보 조회
< 감사 설정 >
예시)HR 소유의 EMPLOYEES(사원) 테이블을 조작할 때마다 감사를 수행할 수 있도록 하고 감사 결과는 XML문서로 받아 해석해보자.
ALTER SYSTEM SET audit_trail = xml,extended scope=spfile;
위 명령어를 적용하고나서 sql 재접속이 필요하다.
콘솔에서 sqlplus sys as sysdba
shutdown immediate 후 startup하면 재접속된다.
감사 설정 파라미터를 조회해보면 다음과 같이 audit_trail의 VALUE값이 XML로 변경된 것을 확인할 수 있다.
NAME TYPE VALUE
-------------------- ------- -----------------------------------------------------
audit_file_dest string C:\ORACLEXE\APP\ORACLE\PRODUCT\11.2.0\SERVER\DATABASE
audit_sys_operations boolean FALSE
audit_trail string XML, EXTENDED
AUDIT INSERT,UPDATE,DELETE ON hr.employees by access; -- hr의 employees 테이블에 접근할 때 감사 수행
------------------------------------------------------------------------------
NOAUDIT INSERT,UPDATE,DELETE ON hr.employees -- ※참고용 : 감사 제거
------------------------------------------------------------------------------
다음과 같이 테이블을 조작하고 감사된 결과가 XML 문서로 저장되는지 확인한다.
UPDATE hr.employees
SET job_id = 'ST_MAN'
WHERE employee_id = 125;
DELETE FROM hr.employees
WHERE employee_id = 93;
commit; -- 삭제작업은 트랜젝션이 발생하므로 커밋이 되야 완전히 삭제된다.
XML문서가 저장되는 위치는 감사 설정 파라미터 테이블을 조회했을 때 나오는
audit_file_dest의 VALUE값이다.
필자는 위에서 조회된 결과에 의하면
C:\ORACLEXE\APP\ORACLE\PRODUCT\11.2.0\SERVER\DATABASE에 XML문서가 저장 된다.
|
cs |
반응형
'DBMS' 카테고리의 다른 글
Oracle Listner 설정 / Oracle 실행 쿼리 확인 (0) | 2017.09.26 |
---|---|
SQL 감사 기록 삭제 & 백업 (0) | 2017.09.24 |
PL/SQL 패스워드 검증 (0) | 2017.09.19 |
PL/SQL - 프로시저 생성 (0) | 2017.09.18 |
DB 사용자 생성 - 권한부여/제거 (0) | 2017.09.05 |