mirror of
https://github.com/php/doc-ru.git
synced 2026-04-29 10:13:14 +02: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
|
|
-->
|