Files
archived-doc-pt-br/reference/oci8/testing.xml
2025-01-05 11:06:11 -03:00

145 lines
4.1 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: f4c44b86948f70a7e89f582b500e2595452e00f0 Maintainer: leonardolara Status: ready -->
<section xml:id="oci8.test" xmlns="http://docbook.org/ns/docbook">
<title>Testando</title>
<para>
A suíte de testes do OCI8 está em <filename>ext/oci8/tests</filename>.
Depois que os testes do OCI8 forem executados, este diretório também conterá registros de
falhas.
</para>
<para>
Antes de executar testes do PHP, edite o arquivo <filename>details.inc</filename>
e defina $user, $password e a string de conexão $dbase. A
suíte de testes do OCI8 foi desenvolvida usando a
conta <literal>SYSTEM</literal>. Alguns testes falharão se
o usuário de teste não tiver as permissões equivalentes.
</para>
<para>
Se o Oracle Database Resident Connection Pooling estiver sendo
testado, defina $test_drcp para &true; e garanta que a
string de conexão use um servidor DRCP apropriado.
</para>
<para>
Uma alternativa para a edição de <filename>details.inc</filename> é
definir variáveis de ambiente, por exemplo:
<programlisting>
<![CDATA[
$ export PHP_OCI8_TEST_USER=system
$ export PHP_OCI8_TEST_PASS=oracle
$ export PHP_OCI8_TEST_DB=localhost/XE
$ export PHP_OCI8_TEST_DRCP=FALSE
]]>
</programlisting>
Observe que em alguns shells essas variáveis não são propagadas corretamente
para o processo PHP e os testes falharão na conexão se este método
for usado.
</para>
<para>
A seguir, defina qualquer ambiente necessário para o banco de dados Oracle. Se o PHP
estiver sendo executado nas mesmas máquinas do Oracle Database, pode-se executar:
<programlisting>
<![CDATA[
$ . /usr/local/bin/oraenv
]]>
</programlisting>
</para>
<para>
Com o Oracle 11<emphasis>g</emphasis>R2 XE, execute:
<programlisting>
<![CDATA[
$ . /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh
]]>
</programlisting>
</para>
<para>
Alguns shells exigem que &php.ini; tenham <literal>E</literal> no parâmetro
variables_order, por exemplo:
<programlisting>
<![CDATA[
variables_order = "EGPCS"
]]>
</programlisting>
</para>
<para>
Execute todos os testes PHP com:
<programlisting>
<![CDATA[
$ cd your_php_src_directory
$ make test
]]>
</programlisting>
ou execute somente os testes OCI8 com
<programlisting>
<![CDATA[
$ cd your_php_src_directory
$ make test TESTS=ext/oci8
]]>
</programlisting>
</para>
<para>
Quando os testes forem concluídos, revise quaisquer falhas de teste. Em sistemas
lentos, alguns testes podem demorar mais que o tempo
limite padrão em <filename>run-tests.php</filename>. Para corrigir isso,
defina a variável de ambiente <literal>TEST_TIMEOUT</literal> para
um número maior de segundos.
</para>
<para>
Em máquinas rápidas com um banco de dados local configurado para carga leve
(por exemplo, Oracle 11<emphasis>g</emphasis>R2 XE) alguns testes podem falhar com erros ORA-12516
ou ORA-12520. Para evitar isso, aumente o parâmetro
<literal>PROCESSES</literal> do banco de dados usando as seguintes etapas:
</para>
<para>
Conecte-se como o proprietário do software Oracle:
<programlisting>
<![CDATA[
$ su - oracle
]]>
</programlisting>
</para>
<para>
Defina o ambiente Oracle necessário com <filename>oracle_env.sh</filename> ou
<filename>oraenv</filename>, como descrito acima.
</para>
<para>
Inicie a ferramente de linha de comando SQL*Plus e
aumente <literal>PROCESSES</literal>
<programlisting>
<![CDATA[
$ sqlplus / as sysdba
SQL> alter system set processes=100 scope=spfile
]]>
</programlisting>
</para>
<para>
Reinicie o banco de dados:
<programlisting>
<![CDATA[
SQL> startup force
]]>
</programlisting>
</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
-->