Détecter une erreur dans un script RMAN

Pour vérifier que votre script RMAN s’est exécuté correctement, vous pouvez tester le code retour de la commande, comme ci-dessous:

cat >test_rman.sh
#!/bin/sh

rman <<EOF
connect target /
list backup summary;
exit;
EOF

RETVAL=$?
echo "Return Code is :$RETVAL"

Sélectionnez les touches "Ctrl+D"

chmod +x test_rman.sh

./test_rman.sh

...
Return Code is :0

Si RMAN rencontre une erreur quelconque, même si la dernière commande réussie, le code retour n’est plus 0 mais 1; voici un exemple:

cat >test_rman.sh
#!/bin/sh

rman <<EOF
connect target /
list;
list backup summary;
exit;
EOF

RETVAL=$?
echo "Return Code is :$RETVAL"

Sélectionnez les touches "Ctrl+D"

chmod +x test_rman.sh

./test_rman.sh

...
Return Code is :1

Si vous voulez afficher une erreur après coup, vous pouvez utilisez les vues V$RMAN_BACKUP_JOB_DETAILS, V$RMAN_BACKUP_TYPE et V$RMAN_OUTPUT d’Oracle 10g. A ce propos, regardez ce blog post