<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/oci8.setup.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'pt_BR',
  ),
  'this' => 
  array (
    0 => 'oci8.configuration.php',
    1 => 'Configura&ccedil;&otilde;es em Execu&ccedil;&atilde;o',
    2 => 'Configura&ccedil;&otilde;es em Execu&ccedil;&atilde;o',
  ),
  'up' => 
  array (
    0 => 'oci8.setup.php',
    1 => 'Instala&ccedil;&atilde;o/Configura&ccedil;&atilde;o',
  ),
  'prev' => 
  array (
    0 => 'oci8.test.php',
    1 => 'Testando',
  ),
  'next' => 
  array (
    0 => 'oci8.constants.php',
    1 => 'Constantes predefinidas',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'pt_BR',
    'path' => 'reference/oci8/ini.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="oci8.configuration" class="section">
    <h2 class="title">Configurações em Execução</h2>
    <p class="simpara">
O comportamento destas funções é afetado pelas configurações do <var class="filename">php.ini</var>.
</p>
    <p class="para">
     <table class="doctable table">
      <caption><strong>Opções de Configuração da OCI8</strong></caption>
      
       <thead>
        <tr>
         <th>Nome</th>
         <th>Padrão</th>
         <th>Modificável</th>
         <th>Registro de Alterações</th>
        </tr>

       </thead>

       <tbody class="tbody">
        <tr>
         <td><a href="oci8.configuration.php#ini.oci8.connection-class" class="link">oci8.connection_class</a></td>
         <td>&quot;&quot;</td>
         <td><strong><code><a href="info.constants.php#constant.ini-all">INI_ALL</a></code></strong></td>
         <td class="empty">&nbsp;</td>
        </tr>

        <tr>
         <td><a href="oci8.configuration.php#ini.oci8.default-prefetch" class="link">oci8.default_prefetch</a></td>
         <td>&quot;100&quot;</td>
         <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
         <td class="empty">&nbsp;</td>
        </tr>

        <tr>
         <td><a href="oci8.configuration.php#ini.oci8.events" class="link">oci8.events</a></td>
         <td>Off</td>
         <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
         <td class="empty">&nbsp;</td>
        </tr>

        <tr>
         <td><a href="oci8.configuration.php#ini.oci8.max-persistent" class="link">oci8.max_persistent</a></td>
         <td>&quot;-1&quot;</td>
         <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
         <td class="empty">&nbsp;</td>
        </tr>

        <tr>
         <td><a href="oci8.configuration.php#ini.oci8.old-oci-close-semantics" class="link">oci8.old_oci_close_semantics</a></td>
         <td>Off</td>
         <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
         <td>Descontinuado a partir do PHP 8.1.0.</td>
        </tr>

        <tr>
         <td><a href="oci8.configuration.php#ini.oci8.persistent-timeout" class="link">oci8.persistent_timeout</a></td>
         <td>&quot;-1&quot;</td>
         <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
         <td class="empty">&nbsp;</td>
        </tr>

        <tr>
         <td><a href="oci8.configuration.php#ini.oci8.ping-interval" class="link">oci8.ping_interval</a></td>
         <td>&quot;60&quot;</td>
         <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
         <td class="empty">&nbsp;</td>
        </tr>

        <tr>
         <td><a href="oci8.configuration.php#ini.oci8.prefetch-lob-size" class="link">oci8.prefetch_lob_size</a></td>
         <td>&quot;0&quot;</td>
         <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
         <td>Disponível desde o PECL OCI8 3.2.</td>
        </tr>

        <tr>
         <td><a href="oci8.configuration.php#ini.oci8.privileged-connect" class="link">oci8.privileged_connect</a></td>
         <td>Off</td>
         <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
         <td class="empty">&nbsp;</td>
        </tr>

        <tr>
         <td><a href="oci8.configuration.php#ini.oci8.statement-cache-size" class="link">oci8.statement_cache_size</a></td>
         <td>&quot;20&quot;</td>
         <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
         <td class="empty">&nbsp;</td>
        </tr>

       </tbody>
      
     </table>

    </p>

    <p class="para">Aqui está uma breve explicação das
diretivas de configuração.</p>

    <p class="para">
     <dl>
      
       <dt id="ini.oci8.connection-class">
        <code class="parameter">oci8.connection_class</code>
        <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
       </dt>
       <dd>
        <p class="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.
        </p>
        <p class="para">
         Este valor pode ser definido no momento da execução
         com a função <span class="function"><a href="function.ini-set.php" class="function">ini_set()</a></span> antes da conexão.
        </p>
        <p class="para">
         Para usar o DRCP, o OCI8 deve estar vinculado às bibliotecas Oracle 11<em>g</em>
         (ou posterior) e o banco de dados deve ser Oracle
         11<em>g</em> (ou posterior). O pool de conexões DRCP deve ser
         habilitado no banco de dados, <code class="literal">oci8.connection_class</code>
         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.
        </p>
       </dd>
      
      
       <dt id="ini.oci8.default-prefetch">
        <code class="parameter">oci8.default_prefetch</code>
        <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
       </dt>
       <dd>
        <p class="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
         <code class="literal">0</code> desativa a pré-busca.
        </p>
        <p class="para">
         O valor de pré-busca não altera o número de linhas que
         funções como <span class="function"><a href="function.oci-fetch-array.php" class="function">oci_fetch_array()</a></span> retornam ao
         usuário; a pré-busca e o armazenamento em cache de linhas são tratados
         internamente no OCI8.
        </p>
        <p class="para">
         O valor pode ser definido por instrução
         com <span class="function"><a href="function.oci-set-prefetch.php" class="function">oci_set_prefetch()</a></span> antes da execução
         da instrução.
        </p>
        <p class="para">
         Ao usar o Oracle Database 12<em>c</em> (ou posterior), o valor de
         pré-busca definido pelo PHP pode ser substituído pelo arquivo
         de configuração <code class="literal">oraaccess.xml</code> do cliente Oracle. Consulte
         a documentação da Oracle para obter mais detalhes.
        </p>
        <blockquote class="note"><p><strong class="note">Nota</strong>: 
         <span class="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.
         </span>
        </p></blockquote>
       </dd>
      
      
       <dt id="ini.oci8.events">
        <code class="parameter">oci8.events</code>
        <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
       </dt>
       <dd>
        <p class="para">
         Usar <code class="literal">On</code> permite que o PHP seja notificado de
         eventos de Notificação Rápida de Aplicação (FAN) do banco de dados.
        </p>
        <p class="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.
        </p>
        <p class="para">
         Ao usar <code class="literal">On</code>, o banco de dados também precisa ser
         configurado para postar eventos FAN.
        </p>
        <p class="para">
         O suporte FAN estará disponível quando o OCI8 estiver vinculado com bibliotecas Oracle
         10<em>g</em>R2 (ou posterior) e conectado a banco de dados Oracle
         10<em>g</em>R2 (ou posterior).
        </p>
       </dd>
      
      
       <dt id="ini.oci8.max-persistent">
        <code class="parameter">oci8.max_persistent</code>
        <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
       </dt>
       <dd>
        <p class="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.
        </p>
       </dd>
      
      
       <dt id="ini.oci8.old-oci-close-semantics">
        <code class="parameter">oci8.old_oci_close_semantics</code>
        <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
       </dt>
       <dd>
        <p class="para">
         Esta opção controla o comportamento de <span class="function"><a href="function.oci-close.php" class="function">oci_close()</a></span>.
         Ativá-lo significa que <span class="function"><a href="function.oci-close.php" class="function">oci_close()</a></span> 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, é <em>fortemente recomendado</em> o
         ajuste das chamadas a <span class="function"><a href="function.oci-close.php" class="function">oci_close()</a></span> na
         aplicação em vez de habilitar esta opção.
        </p>
       </dd>
      
      
       <dt id="ini.oci8.persistent-timeout">
        <code class="parameter">oci8.persistent_timeout</code>
        <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
       </dt>
       <dd>
        <p class="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 <span class="function"><a href="function.oci-close.php" class="function">oci_close()</a></span>.
        </p>
        <blockquote class="note"><p><strong class="note">Nota</strong>: 
         <span class="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<em>g</em> resolve os problemas
          de memória e recursos
          que <code class="literal">oci8.max_persistent</code>
          e <code class="literal">oci8.persistent_timeout</code> anteriormente
          tentaram superar.
         </span>
        </p></blockquote>
       </dd>
      
      
       <dt id="ini.oci8.ping-interval">
        <code class="parameter">oci8.ping_interval</code>
        <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
       </dt>
       <dd>
        <p class="para">
         O número de segundos que devem passar antes de emitir um ping
         durante <span class="function"><a href="function.oci-pconnect.php" class="function">oci_pconnect()</a></span>. 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 <span class="function"><a href="function.oci-pconnect.php" class="function">oci_pconnect()</a></span> for chamada. Para desativar
         completamente os pings, defina esta opção como -1.
        </p>
        <blockquote class="note"><p><strong class="note">Nota</strong>: 
         <span class="simpara">
          Desabilitar pings permite que <span class="function"><a href="function.oci-pconnect.php" class="function">oci_pconnect()</a></span>
          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 <span class="function"><a href="function.oci-pconnect.php" class="function">oci_pconnect()</a></span> para obter mais informações.
         </span>
        </p></blockquote>
       </dd>
      
      
       <dt id="ini.oci8.prefetch-lob-size">
        <code class="parameter">oci8.prefetch_lob_size</code>
        <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
       </dt>
       <dd>
        <p class="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á.
        </p>
        <p class="para">
         O valor afeta LOBs retornados como instâncias OCILob e também aqueles
         retornados usando <strong><code><a href="oci8.constants.php#constant.oci-return-lobs">OCI_RETURN_LOBS</a></code></strong>.
        </p>
        <p class="para">
         O valor pode ser definido por instrução com
         <span class="function"><a href="function.oci-set-prefetch-lob.php" class="function">oci_set_prefetch_lob()</a></span> antes da execução
         da instrução.
        </p>
        <blockquote class="note"><p><strong class="note">Nota</strong>: 
         <span class="simpara">
          Use com Oracle Database 12.2 ou posterior.
         </span>
        </p></blockquote>
       </dd>
      
      
       <dt id="ini.oci8.privileged-connect">
        <code class="parameter">oci8.privileged_connect</code>
        <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
       </dt>
       <dd>
        <p class="para">
         Esta opção permite que as conexões usem as credenciais externas
         privilegiadas
         <strong><code><a href="oci8.constants.php#constant.oci-sysoper">OCI_SYSOPER</a></code></strong> ou <strong><code><a href="oci8.constants.php#constant.oci-sysdba">OCI_SYSDBA</a></code></strong>.
        </p>
        <blockquote class="note"><p><strong class="note">Nota</strong>: 
         <span class="simpara">
          Definir isso como <code class="literal">On</code> 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.
         </span>
        </p></blockquote>
       </dd>
      
      
       <dt id="ini.oci8.statement-cache-size">
        <code class="parameter">oci8.statement_cache_size</code>
        <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
       </dt>
       <dd>
        <p class="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.
        </p>
        <p class="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.
        </p>
        <p class="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.
        </p>
        <p class="para">
         Esta opção é mais útil com conexões persistentes.
        </p>
        <p class="para">
         Ao usar o Oracle Database 12<em>c</em> (ou posterior), esse
         valor pode ser substituído e ajustado automaticamente pelo
         arquivo <code class="literal">oraaccess.xml</code> do cliente Oracle. Consulte a
         documentação da Oracle para obter mais detalhes.
        </p>
       </dd>
      
     </dl>
    </p>
   </div><?php manual_footer($setup); ?>