ACE Director Alum Daniel Morgan, founder of Morgan's Library, is scheduling
complimentary technical Workshops on Database Security for the first 30
Oracle Database customers located anywhere in North America, EMEA, LATAM, or
APAC that send an email to
asra_us@oracle.com. Request a Workshop for
your organization today.
Purpose
Provides utilities that enable audit administrators to manage the audit trail. In a mixed mode environment, these audit trails comprise the database, operating system (OS), and XML audit trails.
In a unified auditing environment, this comprises the unified 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,
container IN PLS_INTEGER := CONTAINER_CURRENT,
database_id IN NUMBER := NULL,
container_guid IN VARCHAR2 := NULL);
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;
/
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,
container IN PLS_INTEGER,
database_id IN NUMBER,
container_guid IN RAW);
DECLARE
att NUMBER := dbms_audit_mgmt.audit_trail_os;
BEGIN
dbms_audit_mgmt.clear_last_archive_timestamp(att, NULL, dbms_audit_mgmt.container_all);
dbms_audit_mgmt.clear_last_archive_timestamp(att, NULL, dbms_audit_mgmt.container_all);
dbms_audit_mgmt.clear_last_archive_timestamp(att, NULL, dbms_audit_mgmt.container_all);
END;
/
dbms_audit_mgmt.create_purge_job(
audit_trail_type IN PLS_INTEGER,
audit_trail_purge_interval IN PLS_INTEGER, -- hours
audit_trail_purge_name IN VARCHAR2,
use_last_arch_timestamp IN BOOLEAN := TRUE,
container IN PLS_INTEGER := CONTAINER_CURRENT);
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', TRUE);
dbms_audit_mgmt.set_purge_job_interval('UW_PURGE', 48);
dbms_audit_mgmt.set_purge_job_status('UW_PURGE',
dbms_audit_mgmt.purge_job_enable);
dbms_audit_mgmt.drop_purge_job('UW_PURGE');
END;
/
Retrieves the value of the property set by set_audit_trail_property
dbms_audit_mgmt.get_audit_trail_property_value(
audit_trail_type IN PLS_INTEGER,
audit_trail_property IN PLS_INTEGER)
RETURN NUMBER;
DECLARE
att PLS_INTEGER := dbms_audit_mgmt.audit_trail_os;
atp PLS_INTEGER := dbms_audit_mgmt.os_file_max_age;
n NUMBER;
BEGIN
n := dbms_audit_mgmt.get_audit_trail_property_value(att, atp);
END;
/
Returns the timestamp set by set_last_archive_timestamp for the current instance
dbms_audit_mgmt.get_last_archive_timestamp(audit_trail_type IN PLS_INTEGER) RETURN TIMESTAMP;
DECLARE
att NUMBER := dbms_audit_mgmt.audit_trail_aud_std;
lat TIMESTAMP := TO_TIMESTAMP('15-MAR-17 14:42:42.00','DD-MON-YYYY HH24:MI:SS.FF');
BEGIN
dbms_audit_mgmt.init_cleanup(att, 24, dbms_audit_mgmt.container_all);
dbms_audit_mgmt.set_last_archive_timestamp(att, lat, NULL);
END;
/
DECLARE
att PLS_INTEGER := dbms_audit_mgmt.audit_trail_xml;
tsp TIMESTAMP;
BEGIN
tsp := dbms_audit_mgmt.get_last_archive_timestamp(att);
END;
/
DECLARE
att NUMBER := dbms_audit_mgmt.audit_trail_aud_std;
BEGIN
IF dbms_audit_mgmt.is_cleanup_initialized(att, dbms_audit_mgmt.container_all) THEN
dbms_output.put_line('Cleanup Is Initialized');
dbms_audit_mgmt.deinit_cleanup(att, dbms_audit_mgmt.container_all);
END IF;
END;
/
dbms_audit_mgmt.init_cleanup(
audit_trail_type IN PLS_INTEGER,
default_cleanup_interval IN PLS_INTEGER,
container IN PLS_INTEGER := CONTAINER_CURRENT);
DECLARE
att NUMBER := dbms_audit_mgmt.audit_trail_aud_std;
BEGIN
dbms_audit_mgmt.init_cleanup(att, 31, dbms_audit_mgmt.container_all);
END;
/
Checks if Audit Cleanup is initialized for the audit trail type
Overload 1
dbms_audit_mgmt.is_cleanup_initialized(
audit_trail_type IN PLS_INTEGER,
container 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, dbms_audit_mgmt.container_all) THEN
dbms_output.put_line('Cleanup Is Initialized');
dbms_audit_mgmt.set_audit_trail_location(att, 'UWDATA');
dbms_audit_mgmt.deinit_cleanup(att, dbms_audit_mgmt.container_all);
ELSE
dbms_output.put_line('Cleanup Was Not Initialized');
dbms_audit_mgmt.init_cleanup(att, 24, dbms_audit_mgmt.container_all);
dbms_audit_mgmt.clean_audit_trail(att, TRUE, dbms_audit_mgmt.container_all);
END IF;
END;
/
Overload 2
dbms_audit_mgmt.is_cleanup_initialized(
audit_trail_type IN PLS_INTEGER,
container IN PLS_INTEGER,
uninitialized_pdbs IN dbms_sql.varchar2s)
RETURN BOOLEAN;
DECLARE
att NUMBER := dbms_audit_mgmt.audit_trail_aud_std;
uipdbs dbms_sql.varchar2s;
BEGIN
uipdbs(1) := 'ORADEV';
uipdbs(2) := 'ORATEST';
IF dbms_audit_mgmt.is_cleanup_initialized(att, 2, uipdbs) THEN
dbms_output.put_line('TRUE');
ELSE
dbms_output.put_line('FALSE');
END IF;
END;
/
Checks if Audit Cleanup is initialized for the audit trail type and returns VARCHAR2 type
dbms_audit_mgmt.is_cleanup_initialized2(
audit_trail_type IN PLS_INTEGER,
container IN PLS_INTEGER := CONTAINER_CURRENT)
RETURN VARCHAR2;
set serveroutput on
DECLARE
att NUMBER := dbms_audit_mgmt.audit_trail_aud_std;
ret VARCHAR2(5);
BEGIN
ret := dbms_audit_mgmt.is_cleanup_initialized2(att);
dbms_output.put_line(ret);
END;
/
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);
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,
container IN PLS_INTEGER := NULL,
database_id IN NUMBER := NULL,
container_guid IN VARCHAR2 := NULL);
DECLARE
att NUMBER := dbms_audit_mgmt.audit_trail_aud_std;
lat TIMESTAMP := TO_TIMESTAMP('14-OCT-14 14:42:42.00','DD-MON-YYYY HH24:MI:SS.FF');
BEGIN
dbms_audit_mgmt.set_last_archive_timestamp(att, lat, NULL);
END;
/