22 octubre 2012

TIP: ¿Que pasa si quiero trabajar con Import/export y el usuario SYS?





En más de una ocasión hemos querido volcar los datos de auditoría de una base de datos a otra  y más concretamente las tablas:
  • AUD$
  •  FGA_LOG$

Supongamos que tenemos una instalación de Oracle 10g R2 en concreto 10.2.0.1, (sí, las hay) y no disponemos de  DBMS_AUDIT_MGMT (nota de Oracle Support 731908.1) para purgar y gestionar la información de auditoría. 



Este paquete solo es para Audit Vault 10.2.0.3 y el uso fuera de este utilitario no esta soportada, sin embargo , desde la versión 11gr2 está disponible de forma libre, aunque fue liberada para la versión 11gr1 específicamente en el patchset 11.1.0.7, además está disponible para la versión 10.2.0.3 en el parche 6989148 , también disponible en la versión 10.2.0.4 en el parche 6996030.
 

¿Cómo hacerlo?

Estas tablas son propiedad de SYS, el usuario más poderoso dentro de una base de datos Oracle (vamos es como Hulk en Avengers) Recordemos que estas tablas no se pueden practicar particiones (mientras siga la tabla en el tablespace system.) y puede que queramos que desaparezcan del tablespace, porque su crecimiento desmesurado puede poner en riesgo el rendimiento de nuestro sistema.

La forma de utilizar a nuestro Hulk (usuario SYS) a la hora de importar los datos es usarlo de la siguiente manera:

 $>imp \"sys/Menele#32 as sysdba\"  tables=fga_log$ file=/oracle/home/table.dmp ignore=Y buffer=1000000 

$>imp \"sys/Menele#32 as sysdba\"  tables=aud$ file=/oracle/home/table.dmp ignore=Y buffer=1000000
 
La opción Ignore=Y, permite que no se recree la table y se importen solo los datos.
Para solo purgar datos podemos utilizar la siguiente estrategia:

 SQL> connect / as sysdba
Connected.
SQL> truncate table fga_log$;
Table truncated.
 
Puedes borrar determinados registros usando la columna  TIMESTAMP# (date) como sigue:


 SQL> delete from fga_log$ where timestamp# < sysdate-14;
 

No hay comentarios:

Publicar un comentario

Por favor deja tu comentario, es valioso.