preload preload preload preload

Gestion des logs du listener Oracle


Le vendredi 07 novembre 2014 par madpellzo Oracle Aucun commentaire

Cette article explique comment mettre en place la rotation et la purge automatique des logs du listener Oracle. En effet, ceux-ci peuvent envahir progressivement votre espace vital.

Admettons que vous ayez installé votre Oracle sous /opt/oracle. 

Logs d'alerte du listener

ceux-ci sont tocké sous /opt/oracle/diag/tnslsnr/<listner_name>/listener/alert sous forme de fichiers xml de la forme log_XXX.xml. Si vous n'avez pas mis ne place un mécanisme de purge automatique, ils peuvent à terme prendre beaucoup de place.

Dans la purge ou la mise ne place d'une purge auto, nous allons utilisé un nouvel outil de gestion des diagnostic introduit dans la version 11 (il me semble) : adrci.

Purge des alert logs à proprement parler, en tant que user oracle (ou un le user avec lequel Oracle est installé):

$ adrci

Listons tout d'abord les "home" où sont stockés les fichiers de diagnostic:

adrci> show homes
ADR Homes:
diag/rdbms/oraclesid/ORASID
diag/tnslsnr/listnername/listener

Celui qui nous intéresse est le dernier, positionnons-nous dessus:

adrci> set home diag/tnslsnr/listnername/listener

Purgeons les logs de type ALERT vieux de plus d'un jour (1440 minutes)

adrci> purge -age 1440 -type ALERT

Cette action est manuelle, nous souhaiterions positionner un age maximum. Dans l'exemple nous allons paramétré 48h:

adrci> set home diag/tnslsnr/listnername/listener
adrci> set control (SHORTP_POLICY = 48)
adrci> set control (LONGP_POLICY = 48)

Lançons la purge (une fois manuellement)
adrci> purge
 
Les fichier d'alerte de votre listener seront maintenant purgé automatiquement que ils seront vieux de plus de 48h.
 
 

Rotation du fichier listener.log

Merci au site "Million Dollar Server" pour l'astuce.
 
Oracle ne prend pas en charge la roation de ce fichier de log : /opt/oracle/diag/<nom_ listener>/listener/trace/listener.log.
On va donc gérer la rotation au niveau OS avec logrotate.
 
En root, créer le fchier /etc/logrotate.d/oracle-listener qui contiendra
/opt/oracle/diag/tnslsnr/<nom_du listener>/listener/trace/listener.log {
    missingok
    daily
    rotate 31
    compress
    delaycompress
    create 644 oracle oinstall
    prerotate
        su - oracle -c "lsnrctl set Log_status off"
    endscript
    postrotate
        su - oracle -c "lsnrctl set Log_status on"
    endscript
}
Testons notre configuration (en root)
# /usr/sbin/logrotate -vdf /etc/logrotate.conf
Exécutons un logrotate (en root)
# /usr/sbin/logrotate -vf /etc/logrotate.conf
 

Mots clés : oacle

  • Ecrire un commentaire








    Quelle est la dernière lettre du mot eulhd ?