Si utilizamos las base de datos Oracle estaremos familiarizados con el modo ArchiveLog. En este modo la base de datos archiva redologs viejos, lo que nos permite realizar muchas acciones de recuperación de datos, pero nos llena el disco. Por esa razon es conveniente periodicamente remoder redologs muy antiguos.
Para hacerlo debemos utilizar la herramienta RMAN. Para esto nos logeamos en el servidor y tipiamos rman:
% rman
RMAN>
Las conexiones RMAN a una base de datos se especifican y autentican de la misma manera que las conexiones SQL * Plus a una base de datos. La única diferencia es que las conexiones RMAN a una base de datos de destino o auxiliar requieren el privilegio SYSDBA. Las palabras clave AS SYSDBA están implícitas y no se pueden especificar explícitamente.
Puede conectarse a una base de datos con opciones de línea de comandos o mediante el comando CONNECT TARGET. El siguiente ejemplo inicia RMAN y luego se conecta a una base de datos de destino a través de Oracle Net (tenga en cuenta que AS SYSDBA no se especifica porque está implícito). RMAN solicita una contraseña.
RMAN> CONNECT TARGET SYS@SERVER
Primero listamos los logs :
RMAN> list archivelog all;
Luego removemos los que tienen más de 10 días
RMAN> delete archivelog until time 'SYSDATE-10';
released channel: ORA_DISK_1
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=55 device type=DISK
List of Archived Log Copies for database with db_unique_name SERVER
=====================================================================
Key Thrd Seq S Low Time
------- ---- ------- - ---------
504 1 635 A 26-MAR-19
Name: /1_635_966300309.dbf
505 1 636 A 27-MAR-19
Name: /1_636_966300309.dbf
...
Do you really want to delete the above objects (enter YES or NO)? YES
deleted archived log
archived log file name=/1_635_966300309.dbf RECID=504 STAMP=1003998698
deleted archived log
...
Y Listo!
También podemos eliminar los logs y de las siguientes maneras :
RMAN>delete archivelog all;
RMAN>delete archivelog until time ‘SYSDATE-10’;
RMAN>delete archivelog from time ‘SYSDATE-10’
RMAN>delete archivelog from time ‘SYSDATE-10’ until time ‘SYSDATE-2’;
RMAN>delete archivelog from sequence 1000;
RMAN>delete archivelog until sequence 1500;
RMAN>delete archivelog from sequence 1000 until sequence 1500;