Arnaud Launay

lundi 10 avril 2006

Oracle Linux: sauvegarder une base

Il y a quelques semaines, lors d'une mission, les répertoires contenant une base Oracle en fonctionnement se sont avérés peser plus de 70Go; or, une sauvegarde effectuée sur une machine Windows montrait que le dump de la base ne pesait « que » 1,7Go. Le serveur devant être sauvegardé de façon régulière, il a alors été décidé de ne sauvegarder que le dump, et pas la base "à chaud". Il fallait donc trouver un moyen automatique de sauvegarder la base, moyen qui fût trouvé dans le script Windows qui faisait anciennement les dumps: la commande exp (pour export).

La sauvegarde se fait alors très simplement:

# Attention, utilisation de GNU date
OLDDATE=`date -d "8 days ago" +"%Y%m%d"`
DATE=`date +"%Y%m%d"`
BACKUPDIR="/oracle/backups"
USER=utilisateur
PASS=password
 
# On passe en utilisateur oracle, on lance la sauvegarde en
# spécifiant le fichier de dump et on envoit les logs dans un
# fichier de log en complément du dump
# enfin, on efface les sauvegardes de 8 jours avant
su - oracle -c "exp ${USER}/${PASS} \
file=${BACKUPDIR}/backup-${DATE}.dump \
&> ${BACKUPDIR}/backup-${DATE}.log \
&& rm -f ${BACKUPDIR}/backup-${OLDDATE}.*"

À noter, il existe la commande imp (pour import), qui permet d'effectuer l'opération inverse.

samedi 8 avril 2006

Horde: PHP Notice: Only variable references should be returned by reference in /usr/share/php/Auth/SASL.php on line 94

Si dans les logs de PHP (testé avec 4.4.2), vous obtenez l'erreur "Horde: PHP Notice: Only variable references should be returned by reference in /usr/share/php/Auth/SASL.php on line 94" en utilisant Horde et IMP (testé avec 3.1.1), votre paquet PEAR Auth-SASL est bogué. Le correctif, très simple, implique la modification du fichier Auth/SASL.php, dans lequel il faut remplacer:

<?php
return new $classname();
?>

par:

<?php
$obj = new $classname();
return $obj;
?>

En négligeant de reprendre les balises PHP, bien entendu. Ceci devrait régler le problème de ce message d'information, même si celui-ci n'impacte en rien le reste du fonctionnement du logiciel. Ce bug est décrit chez PEAR, Bug 6611.