Le manque d'espace sur un serveur est une problème qu'on devrait avoir très rarement, des outils de surveillance (voir OEM, Nagios, etc) vont nous permettre d'être avertis de tout consommation excessive d'espace sur nos serveurs, cependant cela peut se produire quand même malgré nos précautions.
Pour commencer on va vous placer dans le contexte :
Bases de données : Oracle 12cR1 + PSU Avril 2019
Système d'exploitations : Solaris 11 - 64 bits
Et...justement c'est ça le problème qu'on a eu chez un de nos clients, on a vu notre espace de l'ORACLE_HOME remplir assez vite dans une seule journée à cause des fichiers de traces trop volumineux.
Selon nos politiques de conservations des logs et des traces on était correct, cependant avoir de gros fichiers de plusieurs Go dans la même journée dans l'espace de quelques heures ce n'est pas habituel.
En feuillant un peu j'ai remarqué que ces traces sont plutôt reliés à nos sauvegardes RMAN qui commençaient à inscrire tout, mais absolument tout ce qu'il faisait pendant la sauvegarde, et avec une base de données assez grande on peut comprendre que le fichier ou fichiers résultants peut être assez grand.
Voici un exemple du contenu d'un des fichiers trace :
Et cela continue, et continue :
le fichier de trace a plusieurs Go et il peut être divisé en plus en plusieurs fichiers pour la même sauvegarde, comme c'était notre cas.
Apparemment le dernier PSU d'avril 2019 nous a apporté ces petits problèmes pour notre version de base de données.
Sur le site d'Oracle, après quelques recherches, il recommande d'installer un patch mais qui pour le moment est disponible juste pour 12cR2, le contournement reste notre seule solution pour le moment.
Selon la note "RMAN Generating Trace File at Every Execution 2323240.1"
On devrait venir faire une modification dans le paramètre events pour éviter que la base de données continue de nos générer ces gros fichiers, voici la solution de contournement :
On peut le faire en mémoire et cela va bien fonctionne :
alter system set events 'trace[krb.*] disk disable, memory disable' ;
Pour quelque chose plus permanent, il faudrait le faire dans le spfile :
alter system set event = 'trace[krb.*] disk disable, memory disable' scope = spfile;
Aucun commentaire:
Enregistrer un commentaire