Entries Tagged 'Oracle' ↓
December 18th, 2008 — Linux, Oracle, PHP, gnome, ubuntu
Here are a few steps to have your PHP with Oracle (OCI8) support. I assume you already have Apache and PHP running. I have tested this procedure with Ubuntu 8.04 (Hardy, LTS) Server Edition.
Install some needed packages:
sudo apt-get install php-pear php5-dev libaio1 build-essential
Download the Oracle Instant Client:
http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/linuxsoft.html
You need the packages:
- Basic client
- SDK
- SQL Plus (Optional)
Unzip all downloaded files in /opt/instantclient
Run the commands below:
cd /opt/instantclient
sudo ln -s libclntsh.so.11.1 libclntsh.so
sudo ln -s libocci.so.11.1 libocci.so
sudo sh -c ‘echo “/opt/instantclient” > /etc/ld.so.conf.d/oracle.conf’
sudo ldconfig
Let’s install OCI8 module:
sudo pecl install oci8
When asked for Oracle PATH, type:
all <ENTER>
instantclient,/opt/instantclient <ENTER>
<ENTER>
Put the newly created extension in PHP config:
sudo sh -c ‘echo “extension=oci8.so” > /etc/php5/conf.d/oracle.ini’
Restart your apache:
sudo /etc/init.d/apache2 restart
Check with phpinfo() if OCI8 module was loaded.
That’s All!
April 26th, 2008 — Linux, Oracle
Acabei de encontrar um artigo muito legal que mostra como fazer o mapeamento de objetos para bancos de dados relacionais. Muito legal, bem prático mesmo. Ele mostra várias abordagens/técnicas. Alguma delas vai te servir.
Um exemplo dele é o seguinte: Você possui uma classe mãe (abstrata), chamada Pessoa. E duas classes filhas (concretas) chamadas Cliente e Funcionário. Como armazenar estas classes em um banco de dados relacional? Ele mostra como.
Artigo: http://www.agiledata.org/essays/mappingObjects.html
Boa leitura!
July 26th, 2006 — Linux, Oracle, PHP
Infelizmente o php que vem no Ubuntu não oferece suporte ao Oracle.
Este guia mostra como instalar o php direto dos fontes para que ele consiga conectar-se a este banco de dados.
Pré-Requisito
Passo 0 (zero): É necessário um cliente oracle instalado na máquina. Caso ainda não tenha um e queira instalar um [levíssimo] cliente, acesse este post. Feito isso, siga essas etapas:
Instalação
- Instale o apache e outros pacotes necessários: – e os milhares de dependências

sudo apt-get install apache2 apache2-threaded-dev flex bison libxml2-dev gcc g++ make autoconf automake libtool
- Baixe o [fonte do] php em http://www.php.net/downloads.php
Descompactar em alguma pasta, no meu caso: /home/wendell/php-5.1.4
- Compile o php:
cd /home/wendell/php-5.1.4
./configure \
–with-apxs2=/usr/bin/apxs2 \
–with-oci8=instantclient,/usr/lib/instantclient \
–with-config-file-path=/etc/php5 \
–prefix=/usr/lib/php
make
sudo make install
sudo mkdir /etc/php5
sudo cp php.ini-dist /etc/php5
- Adicione ou descomente a linha abaixo do /etc/apache2/apache2.conf:
AddType application/x-httpd-php .php
- Reinicie o apache:
sudo /etc/init.d/apache2 restart
Pronto. Agora é só testar!
Crie um arquivo vazio com o seguinte conteúdo:
phpinfo();
?>
E salve-o na pasta padrão do apache – /var/www – com o nome info.php.
Abra o browser e visite: http://maquina/info.php
Se tudo deu certo, deve haver uma seção OCI8 indicando as propriedades da extensão Oracle.
Até a próxima!
Fiquem a vontade para tirar dúvidas. Usem a área de comentários ou entrem em contato diretamente: wendell_listas@bani.com.br
July 26th, 2006 — Linux, Oracle
Olá, pessoal. Segue um roteiro de como, em questão de minutos, ter um cliente oracle pronto pra funcionar no Linux.
-
- Baixe os arquivos Basic, SDK e SQL*Plus, salve-os em uma pasta temporária.
- Descompacte os três arquivos (.zip) no diretório /usr/lib/instantclient
- Crie um link simbólico:
cd /usr/lib/instantclient
sudo ln -s libclntsh.so.10.1 libclntsh.so
- Ajustar o ldconfig para essa pasta:
sudo sh -c “echo /usr/lib/instantclient >> /etc/ld.so.conf”
sudo ldconfig
- Ajustando o SQL*Plus
sudo ln -s /usr/lib/instantclient/sqlplus /usr/bin/sqlplus
.
Pronto! Está instalado. Para testar, você pode usar o SQL*Plus.
sqlplus system/manager@//servidor_oracle/sid
Perceba que usei a sintaxe nova do SQL*Plus para me conectar ao Oracle.
Se você deseja usar o tnsnames.ora, execute os seguintes passos adicionais:
- Copie o tnsnames.ora para a pasta /usr/lib/instantclient
- Crie uma variável de ambiente, que aponta para a pasta onde está o tnsnames.ora:
sudo sh -c “echo export TNS_ADMIN=/usr/lib/instantclient >> /etc/profile”
- Efetue logoff e login novamente (ou execute o arquivo /etc/profile)
.
Para finalizar, uma dica: Para obter as mensagens do Oracle em português, faça:
sudo sh -c “echo export NLS_LANG=’BRAZILIAN PORTUGUESE_BRAZIL.UTF8′ >> /etc/profile”
.
.
Fiquem a vontade para tirar dúvidas. Usem a área de comentários ou entrem em contato diretamente: wendell_listas@bani.com.br