Aucun message portant le libellé XML. Afficher tous les messages
Aucun message portant le libellé XML. Afficher tous les messages

mercredi 25 septembre 2013

Mémoire insuffisante occasionnée par un bug de l'analyseur (parser) XML

Lors du traitement de contenu XML, une erreur de mémoire insuffisante a été rencontrée. Le message d’erreur exacte est le suivant :

ORA-27163: mémoire insuffisante
ORA-06512: à "SYS.XMLTYPE", ligne 272
ORA-06512: à ligne 1
ORA-06512: à ligne 15

Après avoir diagnostiquer le problème, nous avons trouver une solution de contournement sur MOS (My Oracle Support). Il suffit d'exécuter cette commande pour désactiver la nouvelle version du parser XML et d'utiliser plutôt l'ancienne :

Alter session set events='31156 trace name context forever, level 0x400';

Ce problème a été rencontré sous Oracle Database 11.2.0.3.6 sur un plateforme Red Hat Enterprise Linux 64bits.

jeudi 23 mai 2013

Accès au journal de la base de données (alert.log)


Un de mes collègues de travail m’a parlé d'un besoin qu'il avait en clientèle. Ce besoin consiste à accéder au fichier log de la bd (alert log) via une requête. Voici quelques façons qui me viennent à l’idée :

  • La table « x$dbgalertext » est une table externe mappé sur le fichier alert log
  • Depuis 11g, les alert log sont stocké en fichier texte mais aussi en XML donc facilement exploitable.
  • Il existe UTL_FILE pour effectuer des opérations
  • Pourquoi ne pas exploiter les tables externes en mettant en référence le fichier log désiré
  • Le package « dbms_system.ksdwrt » permet d’écrire dans le fichier alert log.