web-dev-qa-db-fra.com

Bonne façon de supprimer l'archive - Oracle

J'ai donc une base de données Oracle (autonome) fonctionnant dans RHEL et j'ai planifié RMAN pour des sauvegardes quotidiennes et hebdomadaires. Parfois, mon système de fichiers (point de montage d'archive) est saturé en raison de la forte génération d'archives. Maintenant, quelle est la bonne façon de supprimer les archives du système de fichiers?

Mon script RMAN a ceci

delete archivelog all completed before 'SYSDATE-5'

mais la commande ci-dessus ne supprime pas correctement les archives comme je le vois, certaines des très anciennes archives sont toujours là ..

Comment les supprimer correctement?

Dois-je exécuter archivelog crosscheck all? puis exécutez à nouveau la commande ci-dessus? Quelle est la bonne façon?

Merci!

6
tesla747

Pour les supprimer, vous pouvez faire: RMAN>crosscheck archivelog all; RMAN>delete noprompt expired archivelog all;, vous pouvez également inclure le delete input clause lorsque vous les sauvegardez, et ils seront supprimés après avoir été sauvegardés (c'est à vous de décider). Vous pouvez essayer d'exécuter la commande que vous avez affichée manuellement pour voir ce qui se passera dans RMAN (en d'autres termes, cela fonctionne-t-il ou donne-t-il une erreur).

6
Petar Spasov

Si RMAN ne connaît pas les archives sur le disque (ont été copiées depuis un autre emplacement), vous pouvez informer RMAN des fichiers d'archive via la commande catalog:

RMAN> CATALOG START WITH '/disk2/archlog' NOPROMPT;

Exécutez ensuite votre sauvegarde archivelog:

RMAN> backup check logical as compressed backupset (archivelog all delete all input);
3
Kris Johnston

vous pouvez simplement émettre cette commande si vous cherchez à supprimer jusqu'à une certaine date

RMAN>delete archivelog until time ‘SYSDATE-10’;

ou vous pouvez l'exécuter avec l'option noprompt si vous ne voulez pas qu'on vous demande oui ou non

RMAN>delete noprompt archivelog until time ‘SYSDATE-10’; 
0
Commando