-
Notifications
You must be signed in to change notification settings - Fork 106
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
69ad792
commit 42afb35
Showing
1 changed file
with
117 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | ||
--> |