DBA Data[Home] [Help]

PACKAGE: SYS.DBMS_AUDIT_MGMT

Source


1 PACKAGE dbms_audit_mgmt AS
2 
3   -- Constants
4 
5   -- Audit Trail types
6   --
7   AUDIT_TRAIL_AUD_STD           CONSTANT NUMBER := 1;
8   AUDIT_TRAIL_FGA_STD           CONSTANT NUMBER := 2;
9   --
10   -- Both AUDIT_TRAIL_AUD_STD and AUDIT_TRAIL_FGA_STD
11   AUDIT_TRAIL_DB_STD            CONSTANT NUMBER := 3;
12   --
13   AUDIT_TRAIL_OS                CONSTANT NUMBER := 4;
14   AUDIT_TRAIL_XML               CONSTANT NUMBER := 8;
15   --
16   -- Both AUDIT_TRAIL_OS and AUDIT_TRAIL_XML
17   AUDIT_TRAIL_FILES             CONSTANT NUMBER := 12;
18   --
19   -- All above audit trail types
20   AUDIT_TRAIL_ALL               CONSTANT NUMBER := 15;
21 
22   --
23   -- OS Audit File Configuration parameters
24   OS_FILE_MAX_SIZE              CONSTANT NUMBER := 16;
25   OS_FILE_MAX_AGE               CONSTANT NUMBER := 17;
26 
27   --
28   --
29   CLEAN_UP_INTERVAL             CONSTANT NUMBER := 21;
30   DB_AUDIT_TABLEPSACE           CONSTANT NUMBER := 22;
31   DB_DELETE_BATCH_SIZE          CONSTANT NUMBER := 23;
32   TRACE_LEVEL                   CONSTANT NUMBER := 24;
33   -- AUD_TAB_MOVEMENT_FLAG(23) will not be entered in DAM_CONFIG_PARAM$
34   AUD_TAB_MOVEMENT_FLAG         CONSTANT NUMBER := 25;
35   FILE_DELETE_BATCH_SIZE        CONSTANT NUMBER := 26;
36 
37   --
38   -- Values for PURGE_JOB_STATUS
39   PURGE_JOB_ENABLE              CONSTANT NUMBER := 31;
40   PURGE_JOB_DISABLE             CONSTANT NUMBER := 32;
41 
42   --
43   -- NG Audit Trail write mode configuration
44   AUDIT_TRAIL_WRITE_MODE        CONSTANT NUMBER := 33;
45   -- Values for Write mode
46   AUDIT_TRAIL_QUEUED_WRITE      CONSTANT NUMBER := 1;
47   AUDIT_TRAIL_IMMEDIATE_WRITE   CONSTANT NUMBER := 2;
48   --AUDIT_TRAIL_COMMIT_WRITE      CONSTANT NUMBER := 3;
49 
50   --
51   -- Values for TRACE_LEVEL
52   TRACE_LEVEL_DEBUG             CONSTANT PLS_INTEGER := 1;
53   TRACE_LEVEL_ERROR             CONSTANT PLS_INTEGER := 2;
54 
55   -- UNIFIED Audit Trail
56   AUDIT_TRAIL_UNIFIED           CONSTANT NUMBER := 51;
57 
58   --
59   -- Values for CONTAINER
60   CONTAINER_CURRENT             CONSTANT PLS_INTEGER := 1;
61   CONTAINER_ALL                 CONSTANT PLS_INTEGER := 2;
62 
63   -- Values for FLUSH_TYPE
64   FLUSH_CURRENT_INSTANCE        CONSTANT PLS_INTEGER := 1;
65   FLUSH_ALL_INSTANCES           CONSTANT PLS_INTEGER := 2;
66 
67   ----------------------------------------------------------------------------
68   /*
69 
70   NOTE: The package can be split into two packages - one intended for use by
71   AV collectors and the one by Audit Admin.
72 
73   The first 3 procedures will be mainly used by the Collectors and the rest
74   must be executed by Audit Admins.
75 
76   Alternately, wrapper packages can be written to achieve this Seperation of
77   Duty.
78 
79   */
80 
81   /* APIS REQUIRED BY COLLECTORS */
82   ----------------------------------------------------------------------------
83 
84   -- set_last_archive_timestamp - Sets timestamp when last audit records
85   --                              were archived
86   --
87   -- INPUT PARAMETERS
88   --   audit_trail_type           - Audit trail for which the last audit
89   --                                record timestamp is being set
90   --   last_archive_time          - Timestamp when last audit record was
91   --                                archived
92   --   rac_instance_number        - RAC instance number to which this applies
93   --                                def. value = null(applies to no RAC node)
94   --   container                  - PDB Container to execute in
95   --                                CONTAINER_CURRENT or CONTAINER_ALL
96   --                                Default : CONTAINER_CURRENT
97   --   database_id                - Database ID (DBID) of the audit records
98   --                                to cleanup. Default: NULL
99   --   container_guid             - Container GUID of the audit records
100   --                                to cleanup. Default: NULL
101 
102   PROCEDURE set_last_archive_timestamp
103             (audit_trail_type           IN PLS_INTEGER,
104              last_archive_time          IN TIMESTAMP,
105              rac_instance_number        IN PLS_INTEGER := null,
106              container                  IN PLS_INTEGER := CONTAINER_CURRENT,
107              database_id                IN NUMBER := null,
108              container_guid             IN VARCHAR2 := null
109             );
110 
111   ----------------------------------------------------------------------------
112 
113   -- clear_last_archive_timestamp - Deletes the timestamp set by
114   --                                set_last_archive_timestamp
115   --
116   -- INPUT PARAMETERS
117   --   audit_trail_type           - Audit trail for which the last audit
118   --                                record timestamp was set
119   --   rac_instance_number        - RAC instance number to which this applies
120   --                                def. value = null(applies to no RAC node)
121   --   container                  - PDB Container to execute in
122   --                                CONTAINER_CURRENT or CONTAINER_ALL
123   --                                Default : CONTAINER_CURRENT
124   --   database_id                - Database ID (DBID) of the audit records
125   --                                to cleanup. Default: NULL
126   --   container_guid             - Container GUID of the audit records
127   --                                to cleanup. Default: NULL
128 
129   PROCEDURE clear_last_archive_timestamp
130             (audit_trail_type           IN PLS_INTEGER,
131              rac_instance_number        IN PLS_INTEGER := null,
132              container                  IN PLS_INTEGER := CONTAINER_CURRENT,
133              database_id                IN NUMBER := null,
134              container_guid             IN VARCHAR2 := null
135             );
136 
137   ----------------------------------------------------------------------------
138 
139   -- get_last_archive_timestamp - Retrieves the timestamp set by
140   --                              set_last_archive_timestamp for the current
141   --                              instance
142   --
143   -- INPUT PARAMETERS
144   --   audit_trail_type           - Audit trail for which the last audit
145   --                                record timestamp was set
146   -- RETURNS
147   --   TIMESTAMP - Last Archive Timestamp in memory
148 
149   FUNCTION get_last_archive_timestamp
150            (audit_trail_type           IN PLS_INTEGER)
151   RETURN TIMESTAMP;
152 
153    -----------------------------------------------------------------------------
154 
155   -- get_audit_commit_delay - GETs the audit commit delay set in the db.
156   --
157   -- INPUT PARAMETERS
158   --   None
159   -- RETURNS
160   --   PLS_INTEGER - AUD_AUDIT_COMMIT_DELAY
161   --
162 
163   FUNCTION get_audit_commit_delay RETURN PLS_INTEGER;
164 
165   ----------------------------------------------------------------------------
166 
167   -- get_audit_trail_property_value - Retrieves the value of the property set
168   --                                  by set_audit_trail_property
169   --
170   -- INPUT PARAMETERS
171   --   audit_trail_type           - Audit trail for which the property was set
172   --   audit_trail_property       - Property for which the value is to be
173   --                                fetched
174   -- RETURNS
175   --   NUMBER - Value of the audit trail property in memory
176 
177   FUNCTION get_audit_trail_property_value
178            (audit_trail_type           IN PLS_INTEGER,
179             audit_trail_property       IN PLS_INTEGER)
180   RETURN NUMBER;
181 
182   ----------------------------------------------------------------------------
183 
184   -- is_cleanup_initialized - Checks if Audit Cleanup is initialized for the
185   --                          audit trail type
186   --
187   -- INPUT PARAMETERS
188   --   audit_trail_type           - Audit trail to check initialization for.
189   --   container                  - PDB Container to execute in
190   --                                CONTAINER_CURRENT or CONTAINER_ALL
191   -- RETURNS
192   --   TRUE  - If audit trail is initialized for clean up.
193   --   FALSE - otherwise.
194   --
195 
196   FUNCTION is_cleanup_initialized
197            (audit_trail_type           IN PLS_INTEGER,
198             container                  IN PLS_INTEGER := CONTAINER_CURRENT)
199   RETURN BOOLEAN;
200 
201   -- is_cleanup_initialized2 - Checks if Audit Cleanup is initialized for the
202   --                           audit trail type and returns VARCHAR2 type
203   --
204   -- INPUT PARAMETERS
205   --   audit_trail_type           - Audit trail to check initialization for.
206   --   container                  - PDB Container to execute in
207   --                                CONTAINER_CURRENT or CONTAINER_ALL
208   -- RETURNS
209   --   'TRUE'  - If audit trail is initialized for clean up.
210   --   'FALSE' - otherwise.
211   --
212 
213   FUNCTION is_cleanup_initialized2
214            (audit_trail_type           IN     PLS_INTEGER,
215             container                  IN     PLS_INTEGER := CONTAINER_CURRENT)
216   RETURN VARCHAR2;
217 
218   -- is_cleanup_initialized - Checks if Audit Cleanup is initialized for the
219   --                          audit trail type (CDB version)
220   --                          This function returns all PDB names that are not
221   --                          initialized for cleanup
222   -- INPUT PARAMETERS
223   --   audit_trail_type           - Audit trail to check initialization for.
224   --   container                  - PDB Container to execute in
225   --                                CONTAINER_CURRENT or CONTAINER_ALL
226   -- OUTPUT PARAMETERS
227   --   uninitialized_pdb          - Array of uninitialized PDB names
228   -- RETURNS
229   --   TRUE  - If audit trail is initialized for clean up.
230   --   FALSE - otherwise.
231   --
232   FUNCTION is_cleanup_initialized
233            (audit_trail_type           IN     PLS_INTEGER,
234             container                  IN     PLS_INTEGER := CONTAINER_CURRENT,
235             uninitialized_pdbs         IN OUT DBMS_SQL.VARCHAR2S)
236   RETURN BOOLEAN;
237 
238   ----------------------------------------------------------------------------
239 
240   /* APIS NEED TO BE RUN BY AUDIT ADMINS */
241   ----------------------------------------------------------------------------
242 
243   -- init_cleanup  - Initialize DBMS_AUDIT_MGMT
244   --
245   -- INPUT PARAMETERS
246   --   audit_trail_type           - Audit trail for which set-up must done.
247   --   default_cleanup_interval   - Default interval at which clean up is
248   --                                invoked.
249   --   container                  - PDB Container to execute in
250   --                                CONTAINER_CURRENT or CONTAINER_ALL
251   --                                Default : CONTAINER_CURRENT
252 
253   PROCEDURE init_cleanup
254             (audit_trail_type           IN PLS_INTEGER,
255              default_cleanup_interval   IN PLS_INTEGER,
256              container                  IN PLS_INTEGER := CONTAINER_CURRENT
257             );
258 
259   ----------------------------------------------------------------------------
260 
261   -- set_audit_trail_location - Set destination for an audit trail
262   --
263   -- INPUT PARAMETERS
264   --   audit_trail_type           - Audit trail for which the location
265   --                                is being set
266   --   audit_trail_location_value - Value of the location
267 
268   PROCEDURE set_audit_trail_location
269             (audit_trail_type           IN PLS_INTEGER,
270              audit_trail_location_value IN VARCHAR2
271             );
272 
273   ----------------------------------------------------------------------------
274 
275   -- deinit_cleanup  - De-Initialize DBMS_AUDIT_MGMT
276   --
277   -- INPUT PARAMETERS
278   --   audit_trail_type           - Audit trail for which set-up must done.
279   --   container                  - PDB Container to execute in
280   --                                CONTAINER_CURRENT or CONTAINER_ALL
281   --                                Default : CONTAINER_CURRENT
282 
283   PROCEDURE deinit_cleanup
284             (audit_trail_type           IN PLS_INTEGER,
285              container                  IN PLS_INTEGER := CONTAINER_CURRENT);
286 
287   ----------------------------------------------------------------------------
288 
289   -- set_audit_trail_property - Set a property of an audit trail
290   --
291   -- INPUT PARAMETERS
292   --   audit_trail_type           - Audit trail whose parameter must be set
293   --   audit_trail_property       - Property that must be set
294   --   audit_trail_property_value - Value to which the property must set
295 
296   PROCEDURE set_audit_trail_property
297             (audit_trail_type           IN PLS_INTEGER,
298              audit_trail_property       IN PLS_INTEGER,
299              audit_trail_property_value IN PLS_INTEGER
300             );
301 
302   ----------------------------------------------------------------------------
303 
304   -- clear_audit_trail_property - Clears a property of an audit trail
305   --
306   -- INPUT PARAMETERS
307   --   audit_trail_type           - Audit trail whose parameter must be set
308   --   audit_trail_property       - Property that must be cleared
309   --   use_default_values         - Use default values after clearing the
310   --                                property, default value is FALSE.
311 
312   PROCEDURE clear_audit_trail_property
313             (audit_trail_type           IN PLS_INTEGER,
314              audit_trail_property       IN PLS_INTEGER,
315              use_default_values         IN BOOLEAN := FALSE
316             );
317 
318  ----------------------------------------------------------------------------
319 
320   -- clean_audit_trail - Deletes entries in audit trail according to the
321   --                     timestamp set in set_last_archive_timestamp
322   --
323   -- INPUT PARAMETERS
324   --   audit_trail_type           - Audit trail which should be cleared
325   --   use_last_arch_timestamp    - Use Last Archive Timestamp set.
326   --                                default value = TRUE.
327   --   container                  - PDB Container to execute in
328   --                                CONTAINER_CURRENT or CONTAINER_ALL
329   --                                Default : CONTAINER_CURRENT
330   --   database_id                - Database ID (DBID) of the audit records
331   --                                to cleanup. Default: NULL
332   --   container_guid             - Container GUID of the audit records
333   --                                to cleanup. Default: NULL
334 
335   PROCEDURE clean_audit_trail
336             (audit_trail_type           IN PLS_INTEGER,
337              use_last_arch_timestamp    IN BOOLEAN := TRUE,
338              container                  IN PLS_INTEGER := CONTAINER_CURRENT,
339              database_id                IN NUMBER := null,
340              container_guid             IN VARCHAR2 := null
341             );
342 
343   ----------------------------------------------------------------------------
344 
345   -- create_purge_job - Creates a purge job for an audit trail
346   --
347   -- INPUT PARAMETERS
348   --   audit_trail_type           - Audit trail for which this job is created
349   --   audit_trail_purge_interval - Interval to determine frequency of
350   --                                purge operation
351   --   audit_trail_interval_unit  - Unit of measurement for
352   --                                audit_trail_purge_interval
353   --   audit_trail_purge_name     - Name to identify this job
354   --   use_last_arch_timestamp    - Use Last Archive Timestamp set.
355   --                                default value = TRUE.
356   --   container                  - Job to manage Current or All PDBs -
357   --                                CONTAINER_CURRENT or CONTAINER_ALL
358   --                                Default : CONTAINER_CURRENT
359 
360   PROCEDURE create_purge_job
361             (audit_trail_type           IN PLS_INTEGER,
362              audit_trail_purge_interval IN PLS_INTEGER,
363              audit_trail_purge_name     IN VARCHAR2,
367 
364              use_last_arch_timestamp    IN BOOLEAN := TRUE,
365              container                  IN PLS_INTEGER := CONTAINER_CURRENT
366             );
368   ----------------------------------------------------------------------------
369 
370   -- set_purge_job_status - Set the status of the purge job
371   --
372   -- INPUT PARAMETERS
373   --   audit_trail_purge_name     - Name of the purge job created
374   --   audit_trail_status_value   - Value to which the status must set
375 
376   PROCEDURE set_purge_job_status
377             (audit_trail_purge_name     IN VARCHAR2,
378              audit_trail_status_value   IN PLS_INTEGER
379             );
380 
381   ----------------------------------------------------------------------------
382 
383   -- set_purge_job_interval - Set the interval of the purge job
384   --
385   -- INPUT PARAMETERS
386   --   audit_trail_purge_name     - Name of the purge job created
387   --   audit_trail_interval_type  - Type of interval that must be set
388   --   audit_trail_interval_value - Value to which the interval must set
389 
390   PROCEDURE set_purge_job_interval
391             (audit_trail_purge_name     IN VARCHAR2,
392              audit_trail_interval_value IN PLS_INTEGER
393             );
394 
395   ----------------------------------------------------------------------------
396 
397   -- drop_purge_job - Drops the purge job for an audit trail
398   --
399   -- INPUT PARAMETERS
400   --   audit_trail_purge_name     - Name to identify this job
401 
402   PROCEDURE drop_purge_job
403             (audit_trail_purge_name     IN VARCHAR2
404             );
405 
406   ----------------------------------------------------------------------------
407 
408   -- move_dbaudit_tables - Moves DB audit tables to specified tablespace
409   --
410   -- INPUT PARAMETERS
411   --   audit_trail_tbs - The table space to which to move the DB audit tables.
412   --                     The default value is the SYSAUX tablespace.
413 
414   PROCEDURE move_dbaudit_tables
415             (audit_trail_tbs     IN VARCHAR2  DEFAULT 'SYSAUX'
416             );
417 
418   ----------------------------------------------------------------------------
419 
420   -- set_debug_level - Sets the debug level for tracing
421   --
422   -- INPUT PARAMETERS
423   --   debug_level - Number to identify the trace level
424 
425   PROCEDURE set_debug_level(debug_level IN PLS_INTEGER := TRACE_LEVEL_ERROR);
426 
427   ----------------------------------------------------------------------------
428 
429   -- flush_unified_audit_trail - Flushes all the in-memory queues
430   --
431   -- INPUT PARAMETERS
432   --   flush_type     - Flush Local RAC node or all RAC nodes
433   --                    The default value is FLUSH_CURRENT_INSTANCE
434   --   container      - PDB Container to execute in
435   --                    CONTAINER_CURRENT or CONTAINER_ALL
436   --                    Default : CONTAINER_CURRENT
437   --
438 
439   PROCEDURE flush_unified_audit_trail
440             (flush_type        IN PLS_INTEGER := FLUSH_CURRENT_INSTANCE,
441              container         IN PLS_INTEGER := CONTAINER_CURRENT);
442 
443   ----------------------------------------------------------------------------
444 
445   -- load_unified_audit_files - Loads all spillover audit files to tables
446   --
447   --   container                  - PDB Container to execute in
448   --                                CONTAINER_CURRENT or CONTAINER_ALL
449   --                                Default : CONTAINER_CURRENT
450   --
451 
452   PROCEDURE load_unified_audit_files
453             (container         IN PLS_INTEGER := CONTAINER_CURRENT);
454 
455   ----------------------------------------------------------------------------
456 
457   -- drop_old_unified_audit_tables - Drops the given Old Unified Audit
458   --                                 (CLI based) tables
459   --
460   --   container_guid             - Container GUID of the Unified Audit
461   --                                table
462   --
463 
464   PROCEDURE drop_old_unified_audit_tables
465             (container_guid    IN VARCHAR2);
466 
467 END dbms_audit_mgmt;