Rechercher sur arkzoyd.com

11 juin 2012

Supprimer un backupset d'un catalogue RMAN sans CROSSCHECK

Sans accès au media manager depuis votre base de données Oracle, impossible d'établir un canal de maintenance et donc de lancer la commande CROSSCHECK. Dans la cas où cette perte est définitive, pour supprimer les références à vos fichiers de sauvegarde de votre catalogue RMAN ou de votre fichier de contrôle, vous pouvez utiliser CHANGE ... UNCATALOG pour supprimer les références à ces fichiers.

Seulement voilà :
RMAN> list backup tag=TAG20120516T101354;

List of Backup Sets
===================

BS Key  Size       Device Type Elapsed Time Completion Time
------- ---------- ----------- ------------ ---------------
7       6.75M      SBT_TAPE    00:00:56     16-MAY-12
        BP Key: 7   Status: UNAVAILABLE  Compressed: YES  Tag: TAG20120516T101354
        Handle: 08nb4832_1_1   Media: oracle RMAN0000001

  List of Archived Logs in backup set 7
  Thrd Seq     Low SCN    Low Time  Next SCN   Next Time
  ---- ------- ---------- --------- ---------- ---------
  1    51      6997886    16-MAY-12 7009301    16-MAY-12

RMAN> change backup tag=TAG20120516T101354 uncatalog;

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of uncatalog command at 11-JUN-12  
RMAN-06122: CHANGE .. UNCATALOG not supported for BACKUPSET 
Et effectivement, Oracle ne sait pas décataloguer un jeu de sauvegarde ; en revanche, vous pouvez facilement supprimer les fichiers de sauvegarde :
RMAN> change backuppiece tag=TAG20120516T101354 uncatalog;

uncataloged backup piece
backup piece handle=08nb4832_1_1 RECID=7 STAMP=783425634
Uncataloged 1 objects

RMAN> list backup tag=TAG20120516T101354;
specification does not match any backup in the repository
Une solution bien meilleure que de recréer les fichiers de contrôle, sans doute...

Aucun commentaire: