INSTALANDO OCI8 E ORACLE INSTANT CLIENT NO UBUNTU

1. Instalando os pacotes necessários, se você usa o Xampp esse passo não é necessário

No entanto o pacote libaio1 é obrigatório

sudo apt-get install php5-dev build-essential php-pear libaio1

2. Baixando os instaladores do Instantclient do Oracle

Próximo passo é fazer o download dos pacotes rpm necessários para a instalação do cliente Oracle. Você irá precisar dos seguintes arquivos:

Basic – oracle-instantclient11.2-basic-11.2.0.1.0-1.i386.rpm ~ 44MB
Devel – oracle-instantclient11.2-devel-11.2.0.2.0.i386.rpm ~ 590KB

Atenção para a versão do seu sistema. Caso seu sistema for 64 bits deverá baixar a versão apropriada.

Todas as versões do cliente podem ser encontradas no link abaixo.

Download Oracle Instant Client:
https://www.oracle.com/technetwork/database/features/instant-client/index-097480.html

3. Convertendo os pacotes para .DEB aceitos no Ubuntu

O que temos que fazer é converter os pacotes tipo rpm para tipo deb utilizando o Alien.

Instalando o Alien

1
sudo apt-get install alien

Com o Alien instalado basta converter os pacotes:

12sudo alien oracle-instantclient11.2-basic-11.2.0.1.0-1.i386.rpmsudo alien oracle-instantclient11.2-devel-11.2.0.2.0.i386.rpm

Neste ponto o Alien converteu seus arquivos para pacotes tipo deb, olhando na mesma pasta você deverá encontrar os arquivos convertidos.

4. Instalando o Cliente

Agora basta instalarmos o cliente utilizando os pacotes tipo deb.

12sudo dpkg -i oracle-instantclient11.2-basic-11.2.0.1.0-1.i386.deb
sudo dpkg -i oracle-instantclient11.2-devel-11.2.0.2.0.i386.deb

5. Instalando OCI8/PHP

Seu cliente Oracle ja está instalado, próximo passo é a instalação da extensão PHP OCI8.

No caso do Xampp pode ser necessário acessar a pasta de instalação do PHP em /opt/lampp/bin
e executar sudo ./pecl install oci8

1sudo pecl install oci8

Atualmente a biblioteca oci8 está destinada ao PHP 8, se você usa uma versão inferir, deve ser verificado a versão correta em:
https://pecl.php.net/package/oci8

Atenção: Durante a instalação será solicitado para entrar com o caminho  do cliente Oracle. Basta deixar em branco e o sistema irá encontrar a o caminho do instant client automaticamente.

6. Configurando

OCI8 instalado agora é só informar ao PHP para utilizar a extensão.

Adicione a linha extension=oci8.so na seção de extensões do php.ini

Dependendo do tipo de instalação do PHP o php.ini pode tá em locais diferentes da instalação padrão.

Se tudo ocorreu bem o Apache vai reiniciar sem problemas. Você pode conferir a instalação rodando um phpinfo() no servidor.

Execute #sudo php -v para verificar se tudo ocorreu bem ou #sudo php -ini para verificar a configuração do arquivo php.ini

Um exemplo simples de script para testar a conexão.

01020304050607080910111213<?php$dbstr ="(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.1)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = ORCL)))"; if($conn0 = oci_connect('usuario','senha', $dbstr)):print "CONECTADO EM 192.168.1.1";else:print "ERRO NA CONEXAO";endif;?>

Servidor pronto para trabalhar com PHP e Oracle.
Para saber mais sobre OCI8 com PHP consulte a documentação oficial em https://br3.php.net/manual/pt_BR/book.oci8.php

How do I install Composer PHP packages without Composer?

An alternative solution that worked for me (since php-download was down) can be done by making your own little local composer downloader.

  1. Download and install XAMPP locally: https://www.apachefriends.org/index.html
  2. Download and install composer locally: https://getcomposer.org/download/
  3. Open commandprompt, navigate to say c:\temp and and simply type the composer dependancy, for example: composer require league/oauth2-client
  4. Copy the files from your c:\temp folder to your web host using an FTP program
  5. Add this to the top of your php: require("vendor/autoload.php");

Backup e Restore consistente com Oracle Data Pump

O Oracle Data Pump é basicamente um utilitário que permite a movimentação em alta velocidade de dados e metadados de um banco de dados para outro, através de backups lógicos.

Realizando o Backup

O utilitário responsável pelo processo de exportação é o expdp (Export Data Pump)

Antes de tudo será necessário criar um diretório dentro do Oracle através do SQLPLUS ou qualquer outro gerenciador de banco de dados

SQL> CREATE OR REPLACE directory exp_dumps AS ‘c:\exp_dumps’;

SQL> GRANT READ, WRITE ON directory exp_dumps TO system;

# expdp system/<senha>@<banco> directory=EXP_DUMPS dumpfile=SOLUS_DUMP.dmp logfile=log_DUMP.txt FLASHBACK_TIME=systimestamp schemas=<usuario> reuse_dumpfiles=y

Realizando o Restore

Criar pasta do dump e directory do dump no oracle
sql>CREATE OR REPLACE DIRECTORY dump_dir AS ‘c:\dump_dir’;

#impdp system/<senha>@<banco> directory=dump_dir dumpfile=EXP_DUMP.DMP logfile=log.txt schemas=<usuario>