Oracle DBMS_AUDIT_MGMT
Version 11.2.0.3
 
General Information
Note The following is contained in the file header:
The package can be split into two packages - one intended for use by AV collectors and the one by Audit Admin.
The first 3 procedures will be mainly used by the Collectors and the rest must be executed by Audit Admins.
Alternately, wrapper packages can be written to achieve this Seperation of Duty.
Source {ORACLE_HOME}/rdbms/admin/dbmsamgt.sql
First Available 11.1.0.7
Constants
Name Data Type Value
Audit Tab Movement Flag
AUD_TAB_MOVEMENT_FLAG NUMBER 25
Audit Trail Types
AUDIT_TRAIL_AUD_STD NUMBER 1
AUDIT_TRAIL_FGA_STD NUMBER 2
AUDIT_TRAIL_OS NUMBER 4
AUDIT_TRAIL_XML NUMBER 8
Both Audit Trail Types 1 and 2
AUDIT_TRAIL_DB_STD NUMBER 3
Both Audit Trail Types 4 and 8
AUDIT_TRAIL_FILES NUMBER 12
All Audit Trail Types
AUDIT_TRAIL_ALL NUMBER 15
Batch Size
FILE_DELETE_BATCH_SIZE NUMBER 26
OS Audit File Configuration Parameters
OS_FILE_MAX_SIZE NUMBER 16
OS_FILE_MAX_AGE NUMBER 17
Property Parameters
CLEAN_UP_INTERVAL NUMBER 21
DB_AUDIT_TABLEPSACE NUMBER 22
DB_DELETE_BATCH_SIZE NUMBER 23
TRACE_LEVEL NUMBER 24
Values for PURGE_JOB_STATUS
PURGE_JOB_ENABLE NUMBER 31
PURGE_JOB_DISABLE NUMBER 32
Values for TRACE_LEVEL
TRACE_LEVEL_DEBUG PLS_INTEGER 1
TRACE_LEVEL_ERROR PLS_INTEGER 2
Dependencies
ALL_TAB_COLS DBA_USERS
DAM_CLEANUP_JOBS$ DBMS_ASSERT
DAM_CONFIG_PARAM$ DBMS_AUDIT_MGMT_LIB
DAM_LAST_ARCH_TS$ DBMS_LOCK
DBA_AUDIT_MGMT_CLEAN_EVENTS DBMS_SCHEDULER
DBA_AUDIT_MGMT_CLEANUP_JOBS DBMS_STATS
DBA_AUDIT_MGMT_CONFIG_PARAMS DUAL
DBA_AUDIT_MGMT_LAST_ARCH_TS OBJ$
DBA_FREE_SPACE PLITBLM
DBA_TABLES V$INSTANCE
DBA_TABLESPACES V$OPTION
DBA_TAB_PARTITIONS V$INSTANCE
Security Model Execute is granted to the EXECUTE_CATALOG_ROLE role
Subprograms
 
CLEAN_AUDIT_TRAIL
Deletes entries in audit trail according to the timestamp set in set_last_archive_timestamp dbms_audit_mgmt.clean_audit_trail(
audit_trail_type        IN PLS_INTEGER,
use_last_arch_timestamp IN BOOLEAN := TRUE);
See IS_CLEANUP_INITIALIZED Demo Below
 
CLEAR_AUDIT_TRAIL_PROPERTY
Clears an audit trail property dbms_audit_mgmt.clear_audit_trail_property(
audit_trail_type     IN PLS_INTEGER,
audit_trail_property IN PLS_INTEGER,
use_default_values   IN BOOLEAN := FALSE);
DECLARE
 att NUMBER := dbms_audit_mgmt.audit_trail_os;
 atp NUMBER := dbms_audit_mgmt.os_file_max_age;
BEGIN
  dbms_audit_mgmt.set_audit_trail_property(att, atp, 30);
  dbms_audit_mgmt.clear_audit_trail_property(att, atp, TRUE);
END;
/
 
CLEAR_LAST_ARCHIVE_TIMESTAMP
Deletes the timestamp set by set_last_archive_timestamp dbms_audit_mgmt.clear_last_archive_timestamp(
audit_trail_type    IN PLS_INTEGER,
rac_instance_number IN PLS_INTEGER := NULL);
DECLARE
 att NUMBER := dbms_audit_mgmt.audit_trail_os;
BEGIN
  dbms_audit_mgmt.clear_last_archive_timestamp(att, 1);
  dbms_audit_mgmt.clear_last_archive_timestamp(att, 2);
  dbms_audit_mgmt.clear_last_archive_timestamp(att, 3);
END;
/
 
CREATE_PURGE_JOB
Creates a purge job for an audit trail dbms_audit_mgmt.create_purge_job(
audit_trail_type           IN PLS_INTEGER,
audit_trail_purge_interval IN PLS_INTEGER,
audit_trail_purge_name     IN VARCHAR2,
use_last_arch_timestamp    IN BOOLEAN := TRUE);
DECLARE
 att NUMBER := dbms_audit_mgmt.audit_trail_aud_std;
 pje NUMBER := dbms_audit_mgmt.purge_job_enable;
BEGIN
  dbms_audit_mgmt.create_purge_job(att, 48, 'UW_PURGE');
  dbms_audit_mgmt.set_purge_job_interval('UW_PURGE', 48);
  dbms_audit_mgmt.set_purge_job_status('UW_PURGE', pje);
  dbms_audit_mgmt.drop_purge_job('UW_PURGE');
END;
/
 
DEINIT_CLEANUP
De-Initialize DBMS_AUDIT_MGMT dbms_audit_mgmt.deinit_cleanup(audit_trail_type IN PLS_INTEGER);
See IS_CLEANUP_INITIALIZED Demos Below
 
DROP_PURGE_JOB
Drops the purge job for an audit trail dbms_audit_mgmt.drop_purge_job(audit_trail_purge_name IN VARCHAR2);
See CREATE_PURGE_JOB Demo Above
 
GET_AUDIT_COMMIT_DELAY
GETs the audit commit delay set in the database. The default is 5. dbms_audit_mgmt.get_audit_commit_delay RETURN PLS_INTEGER;
SELECT dbms_audit_mgmt.get_audit_commit_delay
FROM dual;
 
INIT_CLEANUP
Initializes DBMS_AUDIT_MGMT dbms_audit_mgmt.init_cleanup(
audit_trail_type         IN PLS_INTEGER,
default_cleanup_interval IN PLS_INTEGER);
See IS_CLEANUP_INITIALIZED Demo Below
 
IS_CLEANUP_INITIALIZED
Checks if Audit Cleanup is initialized for the audit trail type. dbms_audit_mgmt.is_cleanup_initialized(audit_trail_type IN PLS_INTEGER) RETURN BOOLEAN;
set serveroutput on

DECLARE
 att NUMBER := dbms_audit_mgmt.audit_trail_aud_std;
BEGIN
  IF dbms_audit_mgmt.is_cleanup_initialized(att) THEN
    dbms_audit_mgmt.set_audit_trail_location(att, 'UWDATA');
    dbms_audit_mgmt.deinit_cleanup(att);
    dbms_output.put_line('Cleanup Is Initialized');
  ELSE
    dbms_audit_mgmt.init_cleanup(att, 24);
    dbms_audit_mgmt.clean_audit_trail(att, TRUE);
    dbms_output.put_line('Cleanup Was Not Initialized');
  END IF;
END;
/
 
MOVE_DBAUDIT_TABLES (11.2.0.1)
Moves DB audit tables to specified tablespace dbms_audit_mgmt.move_dbaudit_tables(audit_trail_tbs IN VARCHAR2 DEFAULT 'SYSAUX');
CREATE TABLESPACE audit_data
DATAFILE 'C:\ORACLE\PRODUCT\ORADATA\ORABASE\AUDDATA.DBF' SIZE 250M
LOGGING FORCE LOGGING ONLINE PERMANENT BLOCKSIZE 8192
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 64K
SEGMENT SPACE MANAGEMENT AUTO;

exec dbms_audit_mgmt.move_dbaudit_tables('audit_data');
 
SET_AUDIT_TRAIL_LOCATION
Sets the destination for an audit trail
Audit trail types are AUDIT_TRAIL_AUD_STD,
AUDIT_TRAIL_FGA_STD, and AUDIT_TRAIL_DB_STD
dbms_audit_mgmt.set_audit_trail_location(
audit_trail_type           IN PLS_INTEGER,
audit_trail_location_value IN VARCHAR2);   -- tablespace name
See IS_CLEANUP_INITIALIZED Demo Above
 
SET_AUDIT_TRAIL_PROPERTY
Sets an property of an audit trail dbms_audit_mgmt.set_audit_trail_property(
audit_trail_type           IN PLS_INTEGER,
audit_trail_property       IN PLS_INTEGER,
audit_trail_property_value IN PLS_INTEGER);
See CLEAR_AUDIT_TRAIL_PROPERTY Demo Above
 
SET_DEBUG_LEVEL
Sets the debug level for tracing dbms_audit_mgmt.set_debug_level(debug_level IN PLS_INTEGER := TRACE_LEVEL_ERROR);
exec dbms_audit_mgmt.set_debug_level(dbms_audit_mgmt.TRACE_LEVEL_ERROR);
 
SET_LAST_ARCHIVE_TIMESTAMP
Sets the timestamp when the last audit records were archived dbms_audit_mgmt.set_last_archive_timestamp(
audit_trail_type    IN PLS_INTEGER,
last_archive_time   IN TIMESTAMP,
rac_instance_number IN PLS_INTEGER := NULL);
DECLARE
 att NUMBER := dbms_audit_mgmt.audit_trail_aud_std;
 lat TIMESTAMP := TO_TIMESTAMP('10-MAR-08 14:42:42.00','DD-MON-YYYY HH24:MI:SS.FF');
BEGIN
  dbms_audit_mgmt.set_LAST_ARCHIVE_TIMESTAMP(att, lat, 1);
END;
/
 
SET_PURGE_JOB_INTERVAL
Set the interval of the purge job dbms_audit_mgmt.set_purge_job_interval(
audit_trail_purge_name     IN VARCHAR2,
audit_trail_interval_value IN PLS_INTEGER);
See CREATE_PURGE_JOB Demo Above
 
SET_PURGE_JOB_STATUS
Set the status of the purge job dbms_audit_mgmt.set_purge_job_status(
audit_trail_purge_name   IN VARCHAR2,
audit_trail_status_value IN PLS_INTEGER);
See CREATE_PURGE_JOB Demo Above
 
 
Morgan's Library Page Footer
This site is maintained by Dan Morgan. Last Updated: This site is protected by copyright and trademark laws under U.S. and International law. © 1998-2013 Daniel A. Morgan All Rights Reserved