-
Notifications
You must be signed in to change notification settings - Fork 164
Expand file tree
/
Copy pathfan.xml
More file actions
125 lines (123 loc) · 4.64 KB
/
Copy pathfan.xml
File metadata and controls
125 lines (123 loc) · 4.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: f4c44b86948f70a7e89f582b500e2595452e00f0 Maintainer: yannick Status: ready -->
<!-- Reviewed: no -->
<chapter xml:id="oci8.fan" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Support de FAN (Fast Application Notification : Application de notification Rapide) OCI8</title>
<para>
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.
</para>
<para>
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.
</para>
<para>
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.
</para>
<para>
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.
</para>
<para>
Lorsque <link linkend="ini.oci8.events">oci8.events</link>
vaut <literal>On</literal>, il est suggéré de définir
<link linkend="ini.oci8.ping-interval">oci8.ping_interval</link>
à -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.
</para>
<para>
Pour activer le support FAN en PHP OCI8, compiler PHP OCI8 avec les
bibliothèques Oracle 10gR2 ou supérieures, puis suivre ces étapes :
</para>
<para>
<itemizedlist>
<listitem>
<simpara>
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 :
</simpara>
<para>
<informalexample>
<screen>
<![CDATA[
SQL> execute dbms_service.modify_service(
SERVICE_NAME => 'sales',
AQ_HA_NOTIFICATIONS => TRUE);
]]>
</screen>
</informalexample>
</para>
</listitem>
<listitem>
<simpara>
Éditer le fichier php.ini et ajouter :
</simpara>
<para>
<informalexample>
<screen>
<![CDATA[
oci8.events = On
]]>
</screen>
</informalexample>
</para>
</listitem>
<listitem>
<simpara>
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.
</simpara>
</listitem>
<listitem>
<simpara>
Exécuter l'application, se connecter à la base de données
Oracle 10gR2 ou supérieures.
</simpara>
</listitem>
</itemizedlist>
</para>
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->