lunes, 26 de diciembre de 2011

RMAN "backup optimization" en acción


RMAN tiene varios parámetros que permiten configurar nuestra política de respaldo.

Con "BACKUP OPTIMIZATION" podemos acortar el tiempo y espacio ocupado por el  respaldo, ya que cuando está configurado no se respaldan archivos que ya existen como respaldos válidos en el destino.

Existe desde 9i, y por defecto no está habilitado. Ejemplo en 11.2 XE:

RMAN> SHOW BACKUP OPTIMIZATION;

using target database control file instead of recovery catalog
RMAN configuration parameters for database with db_unique_name XE are:
CONFIGURE BACKUP OPTIMIZATION OFF; # default

Debemos habilitarlo explícitamente:

RMAN> CONFIGURE BACKUP OPTIMIZATION ON;

new RMAN configuration parameters:
CONFIGURE BACKUP OPTIMIZATION ON;
new RMAN configuration parameters are successfully stored

Cómo podemos ver su funcionamiento en la práctica?. Según el tipo de archivo a respaldar es el criterio usado para decidir si hay una copia idéntica. Los detalles en el manual (de 11.2).

En este ejemplo, se trata de copiar un backupset a un directorio local.

¿Para qué puede interesar hacer esto?. El caso más obvio es sacar respaldos fuera de la Flash Recovery Area cuando usamos ASM, para luego respaldarlos a cinta como parte de una política de respaldo externa a la base.

RMAN> backup as copy device type disk format '/respaldos/%U' backupset COMPLETED BETWEEN 'SYSDATE-2' AND 'SYSDATE-1';
skipping backupset key 342; already backed up 1 time(s)
skipping backupset key 343; already backed up 1 time(s)
skipping backupset key 344; already backed up 1 time(s)

Para forzar esta copia sin cambiar la configuración, se debe agregar la clausula FORCE a la sentencia:

RMAN> backup as copy device type disk format '/respaldos/%U' backupset COMPLETED BETWEEN 'SYSDATE-2' AND 'SYSDATE-1' FORCE;
Starting backup at 20/DEC/2011 19:45:49
using channel ORA_DISK_1
input backupset count=15078 stamp=770144640 creation_time=17/DEC/2011 19:45:00
channel ORA_DISK_1: starting piece 1 at 20/DEC/2011 19:45:52
channel ORA_DISK_1: backup piece +RECOVERY/prod/backupset/2011_12_17/nnndf0_backup_prod_1217110500_0.397.770144653
...

jueves, 22 de diciembre de 2011

Formato de fecha en comandos RMAN

Comparto un truco simple pero muy útil: incluir la hora en comandos RMAN que muestran o reciben fechas.


Por ejemplo, si queremos ver los archivos generados en un backup específico:

RMAN> list backup summary tag bkp_prod_121511060003;

List of Backups
===============
Key     TY LV S Device Type Completion Time #Pieces #Copies Compressed Tag
------- -- -- - ----------- --------------- ------- ------- ---------- ---
5234   B  F  A DISK        15-DEC-11       1       1       YES        bkp_prod_121511060003
5235   B  F  A DISK        15-DEC-11       1       1       YES        bkp_prod_121511060003

RMAN> exit

Recovery Manager complete.



La fecha en la que se generó, "Completion Time", no incluye la hora.

Para cambiar el formato, no se puede hacer a nivel de sesión:

RMAN> sql "alter session set nls_date_format=''dd/mm/yyyy hh:mi:ss''";

sql statement: alter session set nls_date_format=''dd/mm/yyyy hh:mi:ss''

RMAN> list backup summary tag bkp_prod_121511060003;

List of Backups
===============
Key     TY LV S Device Type Completion Time #Pieces #Copies Compressed Tag
------- -- -- - ----------- --------------- ------- ------- ---------- ---
5234   B  F  A DISK        15-DEC-11       1       1       YES        bkp_prod_121511060003
5235   B  F  A DISK        15-DEC-11       1       1       YES        bkp_prod_121511060003


La forma de hacerlo es usando la variable de ambiente NLS_DATE_FORMAT en el sistema operativo, fuera de la consola RMAN:

[oracle@oraculo ~]$ export NLS_DATE_FORMAT='DD/MON/YYYY HH24:MI:SS'

[oracle@oraculo ~]$ rman target /

Recovery Manager: Release 10.2.0.3.0 - Production on Wed Dec 21 20:31:46 2011

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

connected to target database: Ent11g (DBID=943234298)


RMAN> list backup summary tag bkp_prod_121511060003;

using target database control file instead of recovery catalog

List of Backups
===============
Key     TY LV S Device Type Completion Time      #Pieces #Copies Compressed Tag
------- -- -- - ----------- -------------------- ------- ------- ---------- ---
 5234   B  F  A DISK        15/DEC/2011 03:21:03 1       1       YES        bkp_prod_121511060003
 5235   B  F  A DISK        15/DEC/2011 03:52:47 1       1       YES        bkp_prod_121511060003

lunes, 19 de diciembre de 2011

Pasó otro OOW

Después de haber asistido a dos Oracle OpenWorld Latin America consecutivos, es inevitable comparar, y haber ido a éste con la expectativa de mejorar lo visto el año anterior.

No fue el caso en los temas que me interesan de bases de datos. Pero para compensarlo se vieron muchas más charlas de Java en el mismo evento (aunque con entrada separada). Como no es un tema que me interese, mi valoración del evento no es tan buena, aunque la gente que asistió interesada en desarrollo, seguramente va a opinar distinto.

En lo personal el evento fue muy importante, ya que presenté una charla por el UYOUG en el marco del User Group Form, que incluyo a continuación.

Es la misma que presenté en el primer evento del UYOUG en Montevideo, con ajustes menores para hacerla más entendible si se lee sin asistir a la charla, y el agregado de ejemplos a las transparencias (cosa que antes mostraba en mi notebook).


lunes, 5 de diciembre de 2011

Presentación en el OOW Latin America

Si andan por el Oracle OpenWorld Latin America en San Pablo, no se pierdan las presentaciones técnicas dadas por miembros de grupos de usuarios. http://www.oracle.com/openworld/lad-en/connect/face-to-face/user-groups/index.html

En particular la del miércoles :)