안녕하세요 Thinking Man 입니다.
이번 글에서는 Audit Trail 데이터를 삭제하는 방법 중 자동/수동을 제외한 기타 삭제 방법에 대해 알아보도록 하겠습니다.
이번 글을 읽게 되면 DB Audit Trail Purge작업을 활성화/비활성화 방법, Purge Interval 변경 및 Archive Timestamp 삭제 방법에 대해서 알 수 있습니다.
이 글은 Oracle 11gR2 공식 문서를 참고하여 작성하였습니다.
Audit Trail Purge 기타 방법
Audit Trail Purge 작업 활성화/비활성화
Audit Trail Purge 작업을 활성화/비활성화를 위해서는 DBMS_AUDIT_MGMT.SET_PURGE_JOB_STATUS 프로시저를 사용합니다.
예제) OS_Audit_Trail_TM 이라는 작업을 활성화하는 예제
BEGIN DBMS_AUDIT_MGMT.SET_PURGE_JOB_STATUS( AUDIT_TRAIL_PURGE_NAME => 'OS_Audit_Trail_TM', AUDIT_TRAIL_STATUS_VALUE => DBMS_AUDIT_MGMT.PURGE_JOB_ENABLE); END; /
예제 속성 설명
- AUDIT_TRAIL_PURGE_NAME : Purge 활성화/비활성화 하고자 하는 작업명을 지정. 기존 작업을 확인하려면 DBA_AUDIT_MGMT_CLEANUP_JOBS 뷰의 JOB_NAME 및 JOB_STATUS 컬럼을 확인.
- AUDIT_TRAIL_STATUS_VALUE : 아래 중 하나를 지정
– DBMS_AUDIT_MGMT.PURGE_JOB_ENABLE : 지정된 정리 작업을 활성화
– DBMS_AUDIT_MGMT.PURGE_JOB_DISABLE : 지정된 정리 작업을 비활성
원하는 Purge 작업의 Interval 설정 변경
스케쥴링 된 Purge 작업을 다음 Purge 작업이 수행되기 전 스케쥴 Interval을 변경할 수 있습니다. DBMS_AUDIT_MGMT.CREATE_PURGE_JOB에서 설정한 Interval 보다 이 프로시저의 설정이 우선 시 됩니다.
예제) OS_Audit_Trail_TM Purge 작업의 Interval 을 24시간으로 변경
BEGIN DBMS_AUDIT_MGMT.SET_PURGE_JOB_INTERVAL( AUDIT_TRAIL_PURGE_NAME => 'OS_Audit_Trail_TM', AUDIT_TRAIL_INTERVAL_VALUE => 24 ); END; /
예제 속성 설명
- AUDIT_TRAIL_PURGE_NAME : Interval을 변경하고자 하는 Purge 명을 지정
- AUDIT_TRAIL_INTERVAL_VALUE : DBMS_AUDIT_MGMT.CREATE_PURGE_JOB 프로시저로 지정된 기본 Interval을 업데이트합니다. 1 ~ 999 값을 입력가능. Interval 시간 측정은 Purge 작업을 수행할 때부터 측정.
원하는 Audit Trail Purge 작업 삭제
특정 Purge 작업을 삭제하기 위해서는 DBMS_AUDIT_MGMT.DROP_PURGE_JOB 프로시저를 사용해야 합니다.
예제) FGA_Audit_Trail_TM이라는 Purge 작업을 삭제
BEGIN DBMS_AUDIT_MGMT.DROP_PURGE_JOB( AUDIT_TRAIL_PURGE_NAME => 'FGA_Audit_Trail_TM'); END; /
예제 속성 설명
- AUDIT_TRAIL_PURGE_NAME : 삭제하고자 하는 Purge 작업명을 지정. 기존 작업을 확인하려면 DBA_AUDIT_MGMT_CLEANUP_JOBS 뷰의 JOB_NAME 및 JOB_STATUS 컬럼을 확인.
ARCHIVE TIMESTAMP 설정 삭제
설정된 Archive Timestamp를 삭제하려면 DBMS_AUDIT_MGMT.CLEAR_LAST_ARCHIVE_TIMESTAMP 프로시저를 사용해야 합니다.
예제) RAC 1번 Node의 XML 형식의 OS Audit Trail 타임스탬프를 삭제
BEGIN DBMS_AUDIT_MGMT.CLEAR_LAST_ARCHIVE_TIMESTAMP( AUDIT_TRAIL_TYPE => DBMS_AUDIT_MGMT.AUDIT_TRAIL_XML', RAC_INSTANCE_NUMBER => 1 ); END; /
예제 속성 설명
- RAC_INSTANCE_NUMBER : RAC의 경우 원하는 Instance 를 지정. AUDIT_TRAIL_TYPE 속성이 DBMS_AUDIT_MGMT.AUDIT_TRAIL_OS, DBMS_AUDIT_MGMT.AUDIT_TRAIL_XML인 경우에는 RAC_INSTANCE_NUMBER를 0으로 설정 불가. 이 설정을 아예 생략하거나 1로 지정해야합니다.
※ AUDIT_TRAIL_TYPE이 DBMS_AUDIT_MGMT.AUDIT_TRAIL_AUD_STD, DBMS_AUDIT_MGMT.AUDIT_TRAIL_FGA_STD 이거나 RAC 가 아닌 경우에는 RAC_INSTANCE_NUMBER 설정을 생략할 수 있습니다. 이 경우가 아니면 원하는 Instance 번호를 지정해야 합니다. Instance 번호는 SQL*Plus에서 SHOW PARAMETER INSTANCE_NUMBER 명령으로 확인 가능합니다.
DB Audit Trail 배치 사이즈 초기화
설정된 배치 사이즈를 초기화(삭제)하려면 DBMS_AUDIT_MGMT.CLEAR_AUDIT_TRAIL_PROPERTY 프로시저를 사용합니다.
예제) 표준 감사의 배치 사이즈를 삭제하는 예제
BEGIN DBMS_AUDIT_MGMT.CLEAR_AUDIT_TRAIL_PROPERTY( AUDIT_TRAIL_TYPE => DBMS_AUDIT_MGMT.AUDIT_TRAIL_AUD_STD, AUDIT_TRAIL_PROPERTY => DBMS_AUDIT_MGMT.DB_DELETE_BATCH_SIZE, USE_DEFAULT_VALUES => TRUE ); END; /
예제 속성 설명
- AUDIT_TRAIL_TYPE : 초기화 하고자하는 Audit Trail 유형을 지정. 이전글의 “초기화 이후 자동 Purge 간격 변경 방법” 속성 참고
- AUDIT_TRAIL_PROPERTY : DB_DELETE_BATCH_SIZE 속성을 지정. 현재 속성 값을 확인을 위해서는 DBA_AUDIT_MGMT_CONFIG_PARAMS 뷰의 DB_DELETE_BATCH_SIZE 컬럼을 확인하면 됩니다.
- USE_DEFAULT_VALUES : TRUE를 입력. TRUE는 현재 감사 레코드 배치 사이즈를 지우고 기본 값 10000으로 셋팅합니다.
같이 읽으면 좋은 글
> Audit Trail Purge 3편 (기타 Purge 작업)
> Audit Trail Purge 2편 (자동 Purge)
> Audit Trail Purge 1편 (수동 Purge)
1 thought on “Audit Trail Purge 4편 (기타 Purge 작업 2)”
Comments are closed.