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!
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).
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);
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’;