Which has the higher priority in your organization: Deploying a new database or securing the ones you already have?
Looking for a website, and resources, dedicated solely to securing Oracle databases? Check out DBSecWorx.
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;
/