Bonjour à tous !
Tout le monde sait certainement que lors d'une session SQL+ , si l'on désire génerer un fichier de sortie, il suffit d'un SPOOL monfichierdelog.log
Mais si pour la première fois vous êtes confrontés à devoir effectuer une sauvegarde / restauration avec RMAN et que vous desirez génerer un fichier de log, vous risquez d'avoir une surprise.
En effet naturlellement, vous allez tenter un
export ORACLE_SID=ORADB
RMAN target /
RMAN > SPOOL /tmp/result.log
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00558: error encountered while parsing input commands
RMAN-01006: error signalled during parse
RMAN-02001: unrecognized punctuation symbol "/"
Bon maintenant qu'on sait ce qui ne marche pas, voyons deux moyens de générer notre log.
Exemple 1: Generer un fichier de sortie pour l'ensemble de la session RMAN
export ORACLE_SID=ORADB
RMAN target / log /tmp/result.log
ou encore si l'on a déjà un script rman de maintenance prêt à être lané.
export ORACLE_SID=ORADB
RMAN target / cmdfile /tmp/script.sql / log /tmp/result.log
Exemple 2 : Generer un script de sortie au cas par cas lors d'une session RMAN.
export ORACLE_SID=ORADB
RMAN target /
RMAN > SPOOL LOG TO /tmp/result.log
RMAN > show all;
RMAN > SPOOL LOG OFF
Si je veux être un peu plus complet, je me dois de préciser que le fichier de sortie sera écrasé à chaque fois sauf si l'on utilise la clause "append" valable dans les deux cas.
exemples:
export ORACLE_SID=ORADB
RMAN target / cmdfile /tmp/script.sql / log /tmp/result.log append
ou
export ORACLE_SID=ORADB
RMAN target /
RMAN > SPOOL LOG TO /tmp/result.log append
A très bientôt !
LAO.