mirror of
https://github.com/php/doc-ru.git
synced 2025-07-22 18:26:31 +00:00
119 lines
5.9 KiB
XML
119 lines
5.9 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
||
<!-- EN-Revision: f4c44b86948f70a7e89f582b500e2595452e00f0 Maintainer: rjhdby Status: ready --><!-- Reviewed: no -->
|
||
|
||
<chapter xml:id="oci8.fan" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||
<title>Поддержка OCI8 Fast Application Notification (FAN)</title>
|
||
<para>
|
||
Поддержка FAN обеспечивает быстрое переподключение в случае сбоев,
|
||
что обеспечивает высокую доступность базы данных Oracle.
|
||
Эта функциональность позволяет PHP OCI8 скрипту получать оповещения
|
||
в случае если база данных или сервер, на котором она запущена, становятся
|
||
недоступны. Без FAN, OCI8 может подвиснуть, пока не будет превышено время ожидания
|
||
подключения и возвращена ошибка, что может занять несколько минут.
|
||
Разрешение FAN в OCI8 позволяет приложениям определять такие ошибки и
|
||
переподключаться к доступному экземпляру базы данных без ожидания
|
||
ответа от недоступной базы.
|
||
</para>
|
||
<para>
|
||
Поддержка FAN доступна если клиентские библиотеки Oracle, с которыми
|
||
собран PHP, и база данных Oracle имеют версию 10gR2 или более позднюю.
|
||
</para>
|
||
<para>
|
||
FAN даёт преимущества пользователям кластерной технологии Oracle (RAC),
|
||
так как подключение к доступной базе данных может быть произведено мгновенно.
|
||
Пользователи Oracle Data Guard с брокером могут наблюдать события FAN
|
||
создаваемые при переходе резервной базы в режим основной.
|
||
Отдельные установленные экземпляры базы данных будут
|
||
посылать события FAN при своём перезапуске.
|
||
</para>
|
||
<para>
|
||
Для активных соединений, когда сервер или экземпляр базы становятся
|
||
недоступны, будет возвращена ошибка соединения для текущей
|
||
запущенной функции модуля OCI8. При последующем переподключении
|
||
PHP-скрипта будет установлено соединение с работающим экземпляром
|
||
базы данных. Также модуль OCI8 прозрачно зачищает все ожидающие
|
||
соединения, затронутые падением сервера или базы данных, так что
|
||
новые соединения будут нормально устанавливаться без оглядки на какие-либо
|
||
проблемы с сервисом.
|
||
</para>
|
||
<para>
|
||
Если <link linkend="ini.oci8.events">oci8.events</link> установлено как
|
||
<literal>On</literal>, то предполагается, что
|
||
<link linkend="ini.oci8.ping-interval">oci8.ping_interval</link> установлено
|
||
в значение -1, так как включение событий FAN предоставляет
|
||
проактивное управление ожидающими соединениями.
|
||
</para>
|
||
<para>
|
||
Для включения поддержки FAN в PHP OCI8, соберите PHP OCI8 с библиотеками
|
||
Oracle 10gR2 или более поздними и выполните следующие шаги:
|
||
</para>
|
||
<para>
|
||
<itemizedlist>
|
||
<listitem>
|
||
<simpara>
|
||
Под аккаунтом привилегированного администратора баз данных, с помощью
|
||
программ типа SQL*Plus разрешите сервису базы отправлять оповещения FAN,
|
||
к примеру:
|
||
</simpara>
|
||
<para>
|
||
<informalexample>
|
||
<screen>
|
||
<![CDATA[
|
||
SQL> execute dbms_service.modify_service(
|
||
SERVICE_NAME => 'sales',
|
||
AQ_HA_NOTIFICATIONS => TRUE);
|
||
]]>
|
||
</screen>
|
||
</informalexample>
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<simpara>
|
||
Добавьте в php.ini
|
||
</simpara>
|
||
<para>
|
||
<informalexample>
|
||
<screen>
|
||
<![CDATA[
|
||
oci8.events = On
|
||
]]>
|
||
</screen>
|
||
</informalexample>
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<simpara>
|
||
Если приложение не обрабатывает ошибки соединения OCI8,
|
||
модифицируйте его таким образом, чтобы обрабатывало и производило,
|
||
например, переподключение и перезапуск запросов.
|
||
</simpara>
|
||
</listitem>
|
||
<listitem>
|
||
<simpara>
|
||
Запустите приложение соединяясь с базой данных Oracle версии 10gR2 или выше.
|
||
</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
|
||
-->
|