Académique Documents
Professionnel Documents
Culture Documents
Para el sitio
ndice
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Introduccin.................................................................................................................. 2
Disponibilidad del package DBMS_AUDIT_MGMT ................................................. 3
Borrado de archivos de trace ........................................................................................ 4
Crear un job para llevar a cabo limpiezas de trace ....................................................... 5
Borrar el job para borrar trace ...................................................................................... 7
Para mover las tablas de auditora a otro tablespace .................................................... 8
Manejo de las propiedades de la limpieza y utilizacin de los audit. Trail.................. 9
Modificacin del intervalo del Job de borrado........................................................... 11
Deshabilitar el job de eliminado de los registros de auditora.................................... 12
Implementacin en bases de datos 10g ...................................................................... 13
Referencias ................................................................................................................. 18
1. Introduccin
Qu es el Audit Trail Clean? Es una nueva caracterstica de Oracle11gr2 , la cual permite a
travs de un package realizar el manejo de los registros de auditora, el package que realiza tan
maravillosa tarea se llama DBMS_AUDIT_MGMT, este package permite manejar tanto registros a
nivel de S.O. , XML, registros en la auditora Standard, registros en la auditora fina.
Todo lo anterior provee una poderosa herramienta para llevar a cabo la mantencin de estos
archivos , que muchas veces pueden provocar inconvenientes en nuestra base de datos,
Pgina 2 de 18
Pgina 3 de 18
Con esta forma de borrar , se eliminan todos los trace que se encuentran ubicados en la ruta
asignada por el parmetro AUDIT_FILE_DEST, los nicos archivos que no se eliminan son los
trace generados en la auditora de las conexiones de SYS.
Donde audit_trail_type puede ser :
DBMS_AUDIT_MGMT.AUDIT_TRAIL_ALL
: Borra todos los registros de auditora, ya
sea , la auditora fina (FGA) , la auditora comn (Audit Trail) y los archivos de auditora
generados en Sistema Operativo
DBMS_AUDIT_MGMT.AUDIT_TRAIL_AUD_STD : Slo borra los registros de la
auditora Standar (SYS.AUD$)
DBMS_AUDIT_MGMT.AUDIT_TRAIL_FGA_STD : Borra los registros de la auditora fina
(SYS.FGA_LOG$)
DBMS_AUDIT_MGMT.AUDIT_TRAIL_FILES : Borra los archivos de sistema operativo,
ya sea, los traces como los XML
DBMS_AUDIT_MGMT.AUDIT_TRAIL_OS
: Borra los archivos de sistema operativo
DBMS_AUDIT_MGMT.AUDIT_TRAIL_XML
: Slo borra los XML que se generan en
Sistema Operativo , creados mediante la auditora
Todos esos valores son constantes definidas en el package DBMS_AUDIT_MGMT
Donde use_last_arch_timestamp puede ser :
FALSE : Esto implica que va a borrar todos los trace , no importando en que fecha se
generaron
TRUE : Esto implica que no va a borrar los trace que se han generado despus de la
generacin del ltimo archive
Para borrar las entradas de la tabla de auditora no importando si se generaron antes o despus
del ltimo archive
Ejemplo :
SQL> exec dbms_audit_mgmt.clean_audit_trail ( audit_trail_type =>
DBMS_AUDIT_MGMT.AUDIT_TRAIL_AUD_STD , use_last_arch_timestamp => FALSE );
Para borrar todos los archivos (XML,OS,SYS.AUD$,SYS.FGA_LOG$) que se han generado hasta
el ltimo archive generado
Ejemplo :
SQL> exec dbms_audit_mgmt.clean_audit_trail ( audit_trail_type =>
DBMS_AUDIT_MGMT.AUDIT_TRAIL_AUD_STD , use_last_arch_timestamp => FALSE );
Pgina 4 de 18
(
<valor>
<valor>
<valor>
<valor>
,
,
,
);
Para borrar las entradas de la tabla de auditora no importando si se generaron antes o despus
del ltimo archive
Ejemplo :
SQL> exec dbms_audit_mgmt.create_purge_job
( audit_trail_type
=> DBMS_AUDIT_MGMT.AUDIT_TRAIL_AUD_STD ,
audit_trail_purge_interval => 1 ,
audit_trail_purge_name
=> 'ELIMINA1' ,
use_last_arch_timestamp => FALSE );
Para borrar todos los archivos (XML,OS,SYS.AUD$,SYS.FGA_LOG$) que se han generado hasta
el ltimo archive generado
Ejemplo :
SQL> exec dbms_audit_mgmt.create_purge_job
( audit_trail_type
=> DBMS_AUDIT_MGMT.AUDIT_TRAIL_AUD_STD ,
audit_trail_purge_interval => 1 ,
audit_trail_purge_name
=> 'ELIMINA1' ,
use_last_arch_timestamp => FALSE );
Para todos los anteriores casos , se genera un job (Scheduler) el cual puede ser consultado en
Pgina 5 de 18
Pgina 6 de 18
Pgina 7 de 18
Donde audit_trail_type es el tipo de auditora que ya hemos descrito, pero teniendo en cuenta
que solamente se puede mover la informacin que se encuentre en tablas de la base de datos.
Y audit_trail_location es el nuevo tablespace
Al consultar nuevamente la tabla de auditora , veremos como se mueve a un nuevo tablespace
PROD> select owner , segment_name , tablespace_name from dba_segments where segment_name
like 'AUD$';
OWNER
;SEGMENT_NAME
;TABLESPACE_NAME
------------------;-----------------;---------------SYS
;AUD$
;USERS
El nico inconveniente es que cuando es movido algn componente , se invlidan algunos objetos,
por ejemplo, para el ejemplo que dimos, quedan 4 objetos invlidos
PROD> select owner , object_name from dba_objects where status <> 'VALID';
OWNER
;OBJECT_NAME
------------------;------------------------------------------------------SYS
;DBA_FGA_AUDIT_TRAIL
PUBLIC
;DBA_FGA_AUDIT_TRAIL
SYS
;DBA_COMMON_AUDIT_TRAIL
PUBLIC
;DBA_COMMON_AUDIT_TRAIL
Pgina 8 de 18
Y si quiero borrar de a 100 registros de la tabla SYS.AUD$ cada vez que se ejecuta el job
automtico que setee en los puntos anteriores, debiese escribir el siguiente cdigo
BEGIN
Pgina 9 de 18
DBMS_AUDIT_MGMT.SET_AUDIT_TRAIL_PROPERTY(
audit_trail_type
=> DBMS_AUDIT_MGMT.AUDIT_TRAIL_AUD_STD,
audit_trail_property
=> DBMS_AUDIT_MGMT.DB_DELETE_BATCH_SIZE,
audit_trail_property_value => 100 );
END;
/
Pgina 10 de 18
Pgina 11 de 18
Pudiendo
dejarlo
habilitado
o
deshabilitado
con
las
constantes
DBMS_AUDIT_MGMT.PURGE_JOB_ENABLE y DBMS_AUDIT_MGMT.PURGE_JOB_DISABLE
Pgina 12 de 18
Pgina 13 de 18
Database dismounted.
ORACLE instance shut down.
SQL> quit
Se descomprime el archivo
[oracle@oracle11g parche_AUDIT_TRAIL_CLEAN]$ unzip p6996030_10204_Linuxx86.zip
Archive: p6996030_10204_Linux-x86.zip
creating: 6996030/
creating: 6996030/files/
creating: 6996030/files/lib/
creating: 6996030/files/lib/libserver10.a/
inflating: 6996030/files/lib/libserver10.a/aud.o
inflating: 6996030/files/lib/libserver10.a/kspare.o
inflating: 6996030/files/lib/libserver10.a/kza.o
inflating: 6996030/files/lib/libserver10.a/kzam.o
inflating: 6996030/files/lib/libserver10.a/kzax.o
inflating: 6996030/files/lib/libserver10.a/kzft.o
inflating: 6996030/files/lib/libserver10.a/psdsys.o
inflating: 6996030/files/lib/libserver10.a/szaud.o
inflating: 6996030/files/lib/libserver10.a/zlle.o
creating: 6996030/files/rdbms/
creating: 6996030/files/rdbms/admin/
inflating: 6996030/files/rdbms/admin/catamgt.sql
inflating: 6996030/files/rdbms/admin/catlbacs.sql
inflating: 6996030/files/rdbms/admin/catnools.sql
inflating: 6996030/files/rdbms/admin/dbmsamgt.sql
inflating: 6996030/files/rdbms/admin/prvtamgt.plb
creating: 6996030/etc/
creating: 6996030/etc/config/
inflating: 6996030/etc/config/inventory
inflating: 6996030/etc/config/actions
creating: 6996030/etc/xml/
inflating: 6996030/etc/xml/GenericActions.xml
inflating: 6996030/etc/xml/ShiphomeDirectoryStructure.xml
inflating: 6996030/README.txt
Pgina 14 de 18
Pgina 15 de 18
Versin de OUI
: 10.2.0.4.0
Ubicacin de OUI
: /u01/app/oracle/product/10.2.0/db_1/oui
Ubicacin de Archivo Log :
/u01/app/oracle/product/10.2.0/db_1/cfgtoollogs/opatch/opatch2010-03-15_06-55-32AM.log
ApplySession aplicando el parche temporal '6996030' al directorio ra-z de Oracle
'/u01/app/oracle/product/10.2.0/db_1'
Running prerequisite checks...
OPatch ha detectado un directorio ra-z de Oracle de no cluster del inventario y slo
aplicar un parche al sistema local.
Please shutdown Oracle instances running out of this ORACLE_HOME on the local system.
(Oracle Home = '/u01/app/oracle/product/10.2.0/db_1')
Is the local system ready for patching? [y|n]
y
User Responded with: Y
Realizando copia de seguridad de los archivos e inventario (no para rollback automtico)
del directorio ra-z de Oracle
Realizando copia de seguridad de los archivos afectados por el parche '6996030' para
restauracin. Tardar unos minutos...
Realizando copia de seguridad de los archivos afectados por el parche '6996030' para
rollback. Tardar unos minutos...
Aplicando parche a componente oracle.rdbms, 10.2.0.4.0...
Actualizando el archivo de almacenamiento
"/u01/app/oracle/product/10.2.0/db_1/lib/libserver10.a" con "lib/libserver10.a/aud.o"
Actualizando el archivo de almacenamiento
"/u01/app/oracle/product/10.2.0/db_1/lib/libserver10.a" con "lib/libserver10.a/kspare.o"
Actualizando el archivo de almacenamiento
"/u01/app/oracle/product/10.2.0/db_1/lib/libserver10.a" con "lib/libserver10.a/kza.o"
Actualizando el archivo de almacenamiento
"/u01/app/oracle/product/10.2.0/db_1/lib/libserver10.a" con "lib/libserver10.a/kzam.o"
Actualizando el archivo de almacenamiento
"/u01/app/oracle/product/10.2.0/db_1/lib/libserver10.a" con "lib/libserver10.a/kzax.o"
Actualizando el archivo de almacenamiento
"/u01/app/oracle/product/10.2.0/db_1/lib/libserver10.a" con "lib/libserver10.a/kzft.o"
Actualizando el archivo de almacenamiento
"/u01/app/oracle/product/10.2.0/db_1/lib/libserver10.a" con "lib/libserver10.a/psdsys.o"
Actualizando el archivo de almacenamiento
"/u01/app/oracle/product/10.2.0/db_1/lib/libserver10.a" con "lib/libserver10.a/szaud.o"
Actualizando el archivo de almacenamiento
"/u01/app/oracle/product/10.2.0/db_1/lib/libserver10.a" con "lib/libserver10.a/zlle.o"
Copiando archivo en "/u01/app/oracle/product/10.2.0/db_1/rdbms/admin/catamgt.sql"
Copiando archivo en "/u01/app/oracle/product/10.2.0/db_1/rdbms/admin/catlbacs.sql"
Copiando archivo en "/u01/app/oracle/product/10.2.0/db_1/rdbms/admin/catnools.sql"
Copiando archivo en "/u01/app/oracle/product/10.2.0/db_1/rdbms/admin/dbmsamgt.sql"
Copiando archivo en "/u01/app/oracle/product/10.2.0/db_1/rdbms/admin/prvtamgt.plb"
Ejecutando la utilidad make para el destino ioracle
ApplySession agregando el parche temporal '6996030' al inventario
Verifying the update...
Inventory check OK: Patch ID 6996030 is registered in Oracle Home inventory with proper
meta-data.
Files check OK: Files from Patch ID 6996030 are present in Oracle Home.
El sistema local tiene parches y se puede reiniciar.
OPatch succeeded.
Pgina 16 de 18
10.2.0.1.0
10.2.0.4.0
-------------------------------------------------------------------------------OPatch succeeded.
Pgina 17 de 18
11. Referencias
http://download.oracle.com/docs/cd/E11882_01/appdev.112/e10577/d_audit_mgmt.htm
New Feature DBMS_AUDIT_MGMT To Manage And Purge Audit Information [ID 731908.1]
https://support.oracle.com/CSP/ui/flash.html#tab=KBHome(page=KBHome&id=()),(page=KBNaviga
tor&id=(bmDocTitle=New%20Feature%20DBMS_AUDIT_MGMT%20To%20Manage%20And%20P
urge%20Audit%20Information&viewingMode=1143&bmDocID=731908.1&from=BOOKMARK&bmD
ocType=BULLETIN&bmDocDsrc=DOCUMENT))
Pgina 18 de 18