RMAN – Crosscheck command

Wireless Information System for Emergency Resp...

Image via Wikipedia

El comando CROSSCHECK compara lo existente en el CATALOGO con lo existente fisico en DISCO o TAPE.

Esto no sirve para conocer con que contamos al momento de hacer una tarea que implique traer datos antiguos al dia de hoy.

Recordemos que el comando CROSSCHECK, nos muesta tres estados:

EXPIRED : Cuando un objeto no es encontrado ni en el disco , ni en TAPE.
Si un backup set aparece como EXPIRED todos su componentes también lo están.AVAILABLE: Como su nombre lo indica estan los objetos disponibles para
que RMAN los tome para trabajar. De la misma manera descrita con antelacion ,
si un backup set aparece como AVAILABLE todos su componentes también lo están.UNAVAILABLE: Como su nombre lo indica estan los objetos disponibles
para que RMAN los tome para trabajar.

Voy a poner solo algunos ejemplos de lo que podemos realizar con el :

Cuando trabajamos con RMAN , sabemos que podemos tener resguardos en cinta (TAPE) o en disco (DISK)  es por ello que en algunos casos voy alocar el canal de el TAPE y cuano ejecute el comando sin niguna alocacion voy a estar asumiendo directamente que estoy trabajando con el disco. Esto es importante por que quizas borramos cosas del disco local y al ejecutar el croscheck actualiza el catalogo con datos de lo que tenemos en cinta : Ejemplo

  1. Tomo un backup en filsystem.
  2. Pasa la cinta y lo resguarda.
  3. La cinta no borra lo que resguardado del SO por que no lo tiene configurado por politica.
  4. Las piezas quedan en el SO, y ahi es donde debemos tener cuidado.

* Recomiendo hacer un script para que luego de cada subida a cinta lo elimine o por operativo mediante un cron.

Ahora si vamos a los ejemplos !

CROSSCHECK BACKUP;

Para utilizar entre periodos de tiempo:

ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE sbt;
CROSSCHECK BACKUP
COMPLETED BETWEEN '08-MAY-10' AND '05-JUL-10';
RELEASE CHANNEL;

Ahora hacemos exactamente lo mismo pero sin alocar ningún canal de cinta:

CROSSCHECK BACKUP DEVICE TYPE DISK
COMPLETED BETWEEN '08-MAY-10' AND '05-JUL-10';

Si en las politicas de RMAN tenemos configurado por dedfault el DISCO o SBT podemos ejecutar los comandos libremente, por que tomara siempre lo que definamos: (les recuerdo que pueden utilizar el comando SHOW ALL para poder visualizar las policys)

CROSSCHECK BACKUP COMPLETED BETWEEN '08-MAY-10' AND '05-JUL-10';

Tambien podemos usar otras opciones , previamente corriendo un LIST BACKUP y ejecutar en base a la salida:

CROSSCHECK BACKUP;  # controlamos backup sets, proxy copies e imagenes
CROSSCHECK COPY OF DATABASE;
CROSSCHECK BACKUPSET 2225, 2226, 2227;
CROSSCHECK BACKUPPIECE TAG = 'BACKUP_DIARIO';
CROSSCHECK CONTROLFILECOPY '/u03/rman_database_backup/CTL_01.ctl';
CROSSCHECK DATAFILECOPY 78, 79, 80;

Con la opción COMPLETED AFTER podemos restringir el control a un determinado punto en el tiempo.

CROSSCHECK BACKUP OF DATAFILE 7
COMPLETED AFTER 'SYSDATE -10';

Como último ejemplo dejo un control de los achives y de los spfile, por ahora solo esto debido a que es de lo que más uso le doy, pero si quieren postear otros ejemplos, o tienen algún caso comprobable lo posteamos.
Espero les sea de utilidad.

CROSSCHECK BACKUP OF ARCHIVELOG ALL SPFILE;

Saludos para Venezuela y los Admin de esos pagos.

About Juan Andres
Consultant | Oracle DBA & IT Specialist | LinuxUnix Administrator | Father | Musician | Farmer | Environmentalist | Writer | Builder | Buenos Aires · burzaco.wordpress.com

3 Responses to RMAN – Crosscheck command

  1. Que tal Juan Andrés a pesar de hacer el crosscheck me siguen saliendo piezas obsoletas marcadas como expired, que más puedo hacer?

    • Juan Andres says:

      Mauricio, si es posible quisiera conocer un poco más de detalle de lo que quieres o intentas hacer, de esa manera podre ayudarte.
      Saludos Cordiales.
      Juan Andres.

    • Juan Andres says:

      Mauricio:

      Asumo que debe ser que las piezas no se encuentran en disco ni en TAPE, por ello cuando usamos el comando CROSSCHECK, verificamos que las piezas ahun continuan en disco o en cinta (TAPE).

      Si ocurriese que no se hallan en ambos lugares, entoces la/s piezas seran grabadas en el repositorio como EXPIRADAS.

      Entonces, debes correr:

      CROSSCHECK BACKUP;

      y luego despues de confirmar que siguen como EXPIRED, que limpiara del repositorio las piezas indicadas.

      DELETE EXPIRED BACKUP;

      En el caso que las piezas ahun existieran y no lo corroboraste bien , el comando terminara con error.

      Espero te haya sido de utildad y armare un articulo con ello.
      Saludos desde Argentina.

      Juan Andres.

%d bloggers like this: