Audit Trail Purge 4편 (기타 Purge 작업 2)

안녕하세요 Thinking Man 입니다.

이번 글에서는 Audit Trail 데이터를 삭제하는 방법 중 자동/수동을 제외한 기타 삭제 방법에 대해 알아보도록 하겠습니다.

이번 글을 읽게 되면 DB Audit Trail Purge작업을 활성화/비활성화 방법, Purge Interval 변경 및 Archive Timestamp 삭제 방법에 대해서 알 수 있습니다.

이 글은 Oracle 11gR2 공식 문서를 참고하여 작성하였습니다.

 

audit Trail Purge

 

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)

Audit Trail 관리 2편(OS Audit Trail 관리)

Audit Trail 관리 1편(DB Audit Trail 관리)

1 thought on “Audit Trail Purge 4편 (기타 Purge 작업 2)”

Comments are closed.