Files
2024-12-22 10:03:36 -03:00

392 lines
16 KiB
XML
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: d4d5216e7a965ca194f6b1c9dee84cecab2674e5 Maintainer: leonardolara Status: ready -->
<section xml:id="oci8.configuration" xmlns="http://docbook.org/ns/docbook">
&reftitle.runtime;
&extension.runtime;
<para>
<table>
<title>Opções de Configuração da OCI8</title>
<tgroup cols="4">
<thead>
<row>
<entry>&Name;</entry>
<entry>&Default;</entry>
<entry>&Changeable;</entry>
<entry>&Changelog;</entry>
</row>
</thead>
<tbody xml:id="oci8.configuration.list">
<row>
<entry><link linkend="ini.oci8.connection-class">oci8.connection_class</link></entry>
<entry>""</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.oci8.default-prefetch">oci8.default_prefetch</link></entry>
<entry>"100"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.oci8.events">oci8.events</link></entry>
<entry>Off</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.oci8.max-persistent">oci8.max_persistent</link></entry>
<entry>"-1"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.oci8.old-oci-close-semantics">oci8.old_oci_close_semantics</link></entry>
<entry>Off</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry>Descontinuado a partir do PHP 8.1.0.</entry>
</row>
<row>
<entry><link linkend="ini.oci8.persistent-timeout">oci8.persistent_timeout</link></entry>
<entry>"-1"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.oci8.ping-interval">oci8.ping_interval</link></entry>
<entry>"60"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.oci8.prefetch-lob-size">oci8.prefetch_lob_size</link></entry>
<entry>"0"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry>Disponível desde o PECL OCI8 3.2.</entry>
</row>
<row>
<entry><link linkend="ini.oci8.privileged-connect">oci8.privileged_connect</link></entry>
<entry>Off</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.oci8.statement-cache-size">oci8.statement_cache_size</link></entry>
<entry>"20"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
</tbody>
</tgroup>
</table>
</para>
&ini.descriptions.title;
<para>
<variablelist>
<varlistentry xml:id="ini.oci8.connection-class">
<term>
<parameter>oci8.connection_class</parameter>
<type>string</type>
</term>
<listitem>
<para>
Este texto definido pelo usuário deve sempre ser definido ao usar o Oracle Database
Resident Connection Pooling (DRCP). Ele permite o subparticionamento do
pool de conexões DRCP, permitindo que conexões persistentes OCI8 de uma
aplicação reutilizem sessões de banco de dados de um script PHP anterior,
proporcionando melhor escalabilidade. Quando uma aplicação usa um processo de pool
de banco de dados usado anteriormente com uma classe de conexão diferente, as configurações
da sessão, como por exemplo o formato de data padrão do Oracle, são redefinidas. Isso
evita o compartilhamento acidental de informações entre diferentes
aplicações.
</para>
<para>
Este valor pode ser definido no momento da execução
com a função <function>ini_set</function> antes da conexão.
</para>
<para>
Para usar o DRCP, o OCI8 deve estar vinculado às bibliotecas Oracle 11<emphasis>g</emphasis>
(ou posterior) e o banco de dados deve ser Oracle
11<emphasis>g</emphasis> (ou posterior). O pool de conexões DRCP deve ser
habilitado no banco de dados, <literal>oci8.connection_class</literal>
deve ser definido com a mesma string para todos os servidores web que executam a mesma
aplicação e a string de conexão OCI8 deve especificar o uso de um
servidor em pool. A aplicação deve usar conexões persistentes.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.oci8.default-prefetch">
<term>
<parameter>oci8.default_prefetch</parameter>
<type>int</type>
</term>
<listitem>
<para>
Esta opção define o número padrão de linhas extras que serão
buscadas e armazenadas em cache automaticamente sempre que for feita uma solicitação
de baixo nível de dados do banco de dados. Definir um valor
<literal>0</literal> desativa a pré-busca.
</para>
<para>
O valor de pré-busca não altera o número de linhas que
funções como <function>oci_fetch_array</function> retornam ao
usuário; a pré-busca e o armazenamento em cache de linhas são tratados
internamente no OCI8.
</para>
<para>
O valor pode ser definido por instrução
com <function>oci_set_prefetch</function> antes da execução
da instrução.
</para>
<para>
Ao usar o Oracle Database 12<emphasis>c</emphasis> (ou posterior), o valor de
pré-busca definido pelo PHP pode ser substituído pelo arquivo
de configuração <literal>oraaccess.xml</literal> do cliente Oracle. Consulte
a documentação da Oracle para obter mais detalhes.
</para>
<note>
<simpara>
Uma pré-busca maior pode resultar em melhor desempenho, ao
custo de um aumento no uso de memória. Para consultas que retornam
grandes quantidades de dados, o benefício de desempenho pode ser
significativo.
</simpara>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.oci8.events">
<term>
<parameter>oci8.events</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Usar <literal>On</literal> permite que o PHP seja notificado de
eventos de Notificação Rápida de Aplicação (FAN) do banco de dados.
</para>
<para>
Sem FAN, quando uma instância de banco de dados ou nó de máquina falha
inesperadamente, as aplicações PHP podem ser bloqueadas aguardando uma
resposta do banco de dados até que o tempo limite do TCP expire. Com eventos
FAN, as aplicações PHP são rapidamente notificadas sobre falhas
que afetam suas conexões de banco de dados estabelecidas. A extensão
OCI8 limpará conexões inutilizáveis no
cache de conexões persistentes.
</para>
<para>
Ao usar <literal>On</literal>, o banco de dados também precisa ser
configurado para postar eventos FAN.
</para>
<para>
O suporte FAN estará disponível quando o OCI8 estiver vinculado com bibliotecas Oracle
10<emphasis>g</emphasis>R2 (ou posterior) e conectado a banco de dados Oracle
10<emphasis>g</emphasis>R2 (ou posterior).
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.oci8.max-persistent">
<term>
<parameter>oci8.max_persistent</parameter>
<type>int</type>
</term>
<listitem>
<para>
O número máximo de conexões OCI8 persistentes por processo
PHP. Definir esta opção como -1 significa que não há
limite.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.oci8.old-oci-close-semantics">
<term>
<parameter>oci8.old_oci_close_semantics</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Esta opção controla o comportamento de <function>oci_close</function>.
Ativá-lo significa que <function>oci_close</function> não fará
nada; a conexão não será
fechada até o final do script. Isto é apenas para compatibilidade
com versões anteriores. Se for necessário habilitar esta
configuração, é <emphasis>fortemente recomendado</emphasis> o
ajuste das chamadas a <function>oci_close</function> na
aplicação em vez de habilitar esta opção.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.oci8.persistent-timeout">
<term>
<parameter>oci8.persistent_timeout</parameter>
<type>int</type>
</term>
<listitem>
<para>
O número máximo de segundos que um processo PHP pode
manter aberta uma conexão persistente ociosa. Definir esta
opção como -1 significa que conexões persistentes ociosas serão
retidas até que o processo PHP termine ou que a conexão
seja explicitamente fechada com <function>oci_close</function>.
</para>
<note>
<simpara>
No PHP, a expiração de recursos ociosos não é baseada em alarme.
Ocorre quando o PHP termina o processamento de um script e verifica o
timestamp da última utilização dos recursos. Portanto, existe um paradoxo
de que conexões ociosas só podem ser fechadas quando há alguma
atividade (embora não necessariamente relacionada ao OCI8) no processo
PHP. Se houver mais de um processo PHP, cada um
deverá ser ativado individualmente para acionar a expiração de
seus recursos ociosos. A introdução do Database Resident
Connection Pooling (DRCP) no Oracle 11<emphasis>g</emphasis> resolve os problemas
de memória e recursos
que <literal>oci8.max_persistent</literal>
e <literal>oci8.persistent_timeout</literal> anteriormente
tentaram superar.
</simpara>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.oci8.ping-interval">
<term>
<parameter>oci8.ping_interval</parameter>
<type>int</type>
</term>
<listitem>
<para>
O número de segundos que devem passar antes de emitir um ping
durante <function>oci_pconnect</function>. Um ping garante
que a conexão com o banco de dados seja válida. Quando definido como 0,
as conexões persistentes serão executadas sempre
que <function>oci_pconnect</function> for chamada. Para desativar
completamente os pings, defina esta opção como -1.
</para>
<note>
<simpara>
Desabilitar pings permite que <function>oci_pconnect</function>
opere com a maior eficiência, mas o PHP pode não ser capaz
de detectar conexões inutilizáveis, como as causadas por queda
de rede, ou se o banco de dados Oracle caiu desde que o PHP
foi conectado, até que a conexão seja usada posteriormente no
script. Consulte a
documentação de <function>oci_pconnect</function> para obter mais informações.
</simpara>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.oci8.prefetch-lob-size">
<term>
<parameter>oci8.prefetch_lob_size</parameter>
<type>int</type>
</term>
<listitem>
<para>
Este é um parâmetro de ajuste que afeta o buffer interno de dados LOB.
Aumentar esse valor pode melhorar o desempenho da busca de LOBs
menores, reduzindo as viagens de ida e volta entre o PHP e o banco de dados. O uso
da memória mudará.
</para>
<para>
O valor afeta LOBs retornados como instâncias OCILob e também aqueles
retornados usando <constant>OCI_RETURN_LOBS</constant>.
</para>
<para>
O valor pode ser definido por instrução com
<function>oci_set_prefetch_lob</function> antes da execução
da instrução.
</para>
<note>
<simpara>
Use com Oracle Database 12.2 ou posterior.
</simpara>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.oci8.privileged-connect">
<term>
<parameter>oci8.privileged_connect</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Esta opção permite que as conexões usem as credenciais externas
privilegiadas
<constant>OCI_SYSOPER</constant> ou <constant>OCI_SYSDBA</constant>.
</para>
<note>
<simpara>
Definir isso como <literal>On</literal> pode permitir que scripts em servidores
web executados com os privilégios de usuário do sistema operacional apropriados se
conectem como usuários privilegiados do banco de dados sem exigir uma
senha do banco de dados. Isso pode ser um risco à segurança.
</simpara>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.oci8.statement-cache-size">
<term>
<parameter>oci8.statement_cache_size</parameter>
<type>int</type>
</term>
<listitem>
<para>
Esta opção permite o cache de instruções e especifica quantas
instruções devem ser armazenadas em cache. Para desabilitar o cache de instruções basta definir
esta opção como 0.
</para>
<para>
O cache de instruções elimina a necessidade de transmitir o texto
da instrução ao banco de dados e elimina a necessidade de transmitir quaisquer
metadados sobre a instrução de volta ao PHP. Isto pode
melhorar significativamente o desempenho geral do sistema em
aplicações que reutilizam instruções durante o tempo de vida de uma
conexão. Alguns &quot;cursores&quot; extras de banco de dados podem ser
ser mantidas abertas sob a suposição de que as instruçõs serão
reutilizadas.
</para>
<para>
Configure esse valor para o tamanho do conjunto de instruções de trabalho
usado pela aplicação. Definir um valor muito pequeno pode fazer com que
as instruções sejam liberadas do cache antes de serem
reutilizadas.
</para>
<para>
Esta opção é mais útil com conexões persistentes.
</para>
<para>
Ao usar o Oracle Database 12<emphasis>c</emphasis> (ou posterior), esse
valor pode ser substituído e ajustado automaticamente pelo
arquivo <literal>oraaccess.xml</literal> do cliente Oracle. Consulte a
documentação da Oracle para obter mais detalhes.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</section>
<!-- 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
-->