Support de FAN (Fast Application Notification : Application de notification Rapide) OCI8

Le support de FAN fournit un basculement de connexion rapide, une fonctionnalitĂ© de haute disponibilitĂ© pour la base de donnĂ©es Oracle. Il permet aux scripts PHP OCI8 d'ĂȘtre notifiĂ©s lorsqu'une machine de base de donnĂ©es ou une instance de base de donnĂ©es devient non disponible. Sans FAN, OCI8 peut se figer en cas d'atteinte du dĂ©lai maximal TCP, et une erreur est retournĂ©e, ce qui peut prendre plusieurs minutes. L'activation de FAN en OCI8 permet aux applications de dĂ©tecter les erreurs et de se re-connecter Ă  une instance de connexion disponible sans que le serveur Web n'ait besoin d'en connaĂźtre.

Le support de FAN est disponible lorsque les bibliothÚques clientes Oracle liées à PHP et la base de données Oracle sont en version 10gR2 ou supérieures.

FAN fait bĂ©nĂ©ficier aux utilisateurs de la technologie de cluster Oracle (RAC) car les connexions survivantes aux instances de base de donnĂ©es peuvent ĂȘtre effectuĂ©es immĂ©diatement. Les utilisateurs de Data Guard Oracle avec un broker, vont voir les Ă©vĂ©nements FAN gĂ©nĂ©rĂ©s lorsqu'une base de donnĂ©es passe en ligne. Les bases de donnĂ©es qui ne font pas partie d'un cluster vont envoyer des Ă©vĂ©nements FAN lorsque la base de donnĂ©es redĂ©marre.

Pour les connexions actives, lorsqu'une machine ou une instance de base de données devient indisponible, une erreur de connexion sera retournée par la fonction de l'extension OCI8 appelée. Lors d'une reconnexion d'un script sous-jacent PHP, une connexion à une instance de base de données survivante sera établie. L'extension OCI8 va également, de façon transparente, nettoyer toutes les connexions inactives affectées par une machine de base de données ou une instance en échec, aussi, les appels de connexion PHP vont établir une nouvelle connexion sans que le script n'en connaisse, faisant ainsi aucune interruption de service.

Lorsque oci8.events vaut On, il est suggéré de définir oci8.ping_interval à -1 pour désactiver le ping, sachant que l'activation des événements FAN fournit un gestionnaire de connexions pro-actif des connexions inactives devenues invalides par une interruption de service.

Pour activer le support FAN en PHP OCI8, compiler PHP OCI8 avec les bibliothÚques Oracle 10gR2 ou supérieures, puis suivre ces étapes :

  • Avec les privilĂšges d'administrateur de la base de donnĂ©es, utiliser un programme comme SQL*Plus pour activer le service de base de donnĂ©es pour poster les Ă©vĂ©nements FAN ; par exemple :

        SQL> execute dbms_service.modify_service(
                       SERVICE_NAME        => 'sales',
                       AQ_HA_NOTIFICATIONS => TRUE);
    
  • Éditer le fichier php.ini et ajouter :

        oci8.events = On
    
  • Si l'application ne gĂšre toujours pas les conditions d'erreur OCI8, la modifier pour dĂ©tecter les Ă©checs. Ceci peut nĂ©cessiter la re-connexion et la rĂ©-exĂ©cution des requĂȘtes.
  • ExĂ©cuter l'application, se connecter Ă  la base de donnĂ©es Oracle 10gR2 ou supĂ©rieures.
add a note

User Contributed Notes

There are no user contributed notes for this page.