Skip to content

Commit

Permalink
initial translation of oci8/fan
Browse files Browse the repository at this point in the history
  • Loading branch information
leonardolara committed Dec 20, 2024
1 parent 69ad792 commit 42afb35
Showing 1 changed file with 117 additions and 0 deletions.
117 changes: 117 additions & 0 deletions reference/oci8/fan.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: f4c44b86948f70a7e89f582b500e2595452e00f0 Maintainer: leonardolara Status: ready -->
<chapter xml:id="oci8.fan" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Suporte à Notificação Rápida de Aplicação (FAN) do OCI8</title>
<para>
O suporte ao FAN oferece recuperação rápida de falhas de conexão, um recurso de alta disponibilidade
do banco de dados Oracle. Isso permite que scripts PHP OCI8 sejam notificados quando uma
máquina de banco de dados ou instância de banco de dados ficar indisponível. Sem o
FAN, o OCI8 pode travar até que ocorra um tempo limite de TCP e um erro seja
retornado, o que pode levar vários minutos. A ativação do FAN no OCI8 pode
permitir que as aplicações detectem erros e se reconectem a uma instância
de banco de dados disponível sem que o usuário da web perceba uma interrupção.
</para>
<para>
O suporte ao FAN está disponível quando as bibliotecas cliente Oracle com as quais o PHP
se vincula e o banco de dados Oracle são da versão 10gR2 ou posterior.
</para>
<para>
O FAN beneficia os usuários da tecnologia de cluster (RAC) da Oracle porque
as conexões com as instâncias de banco de dados sobreviventes podem ser feitas
imediatamente. Os usuários do Data Guard da Oracle com um mediador verão os eventos
FAN gerados quando o banco de dados de reserva ficar online. Os bancos de dados
autônomos enviarão eventos FAN quando o banco de dados for reiniciado.
</para>
<para>
Para conexões ativas, quando uma máquina ou instância de banco de dados ficar
indisponível, um erro de falha de conexão será retornado pela
função da extensão OCI8 que está sendo chamada no momento. Em uma reconexão
subsequente do script PHP, será estabelecida uma conexão com uma instância de
banco de dados sobrevivente. A extensão OCI8 também
limpa de forma transparente quaisquer conexões ociosas afetadas por uma falha de máquina
ou de instância de banco de dados, para que as chamadas de conexão do PHP estabeleçam uma
nova conexão sem que o script esteja ciente de qualquer interrupção
do serviço.
</para>
<para>
Quando <link linkend="ini.oci8.events">oci8.events</link>
for igual a <literal>On</literal>, a sugestão é
definir <link linkend="ini.oci8.ping-interval">oci8.ping_interval</link>
para -1 para desabilitar o ping, já que habilitar eventos FAN fornece
um gerenciamento proativo de conexões ociosas que se tornaram inválidas
por uma interrupção de serviço.
</para>
<para>
Para ativar o suporte FAN no PHP OCI8, compile o PHP OCI8 com bibliotecas Oracle 10gR2
ou posteriores e siga estas etapas:
</para>
<para>
<itemizedlist>
<listitem>
<simpara>
Como administrador de banco de dados privilegiado, use um programa como
o SQL*Plus para permitir que o serviço de banco de dados poste
eventos FAN, por exemplo:
</simpara>
<para>
<informalexample>
<screen>
<![CDATA[
SQL> execute dbms_service.modify_service(
SERVICE_NAME => 'sales',
AQ_HA_NOTIFICATIONS => TRUE);
]]>
</screen>
</informalexample>
</para>
</listitem>
<listitem>
<simpara>
Edite o php.ini e adicione
</simpara>
<para>
<informalexample>
<screen>
<![CDATA[
oci8.events = On
]]>
</screen>
</informalexample>
</para>
</listitem>
<listitem>
<simpara>
Se a aplicação ainda não lidar com condições de erro
OCI8, modifique-a para detectar falhas e tomar as medidas
apropriadas. Isso pode incluir a reconexão e a reexecução de
instruções.
</simpara>
</listitem>
<listitem>
<simpara>
Execute a aplicação conectando-se ao Oracle Database 10gR2 ou posterior.
</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
-->

0 comments on commit 42afb35

Please sign in to comment.