O comando TRUNCATE é responsável por limpar os registros de uma tabela e fará isto de uma forma mais rápido que o comando DELETE.

Para usar o comando é necessário ter permissão.

SELECT count(*) FROM tabela_A;

4639
TRUNCATE TABLE tabela_A;

SELECT count(*) FROM tabela_A;
0

Oracle/PLSQL: Função TO_CHAR
Sintaxe da função;

TO_CHAR( value, [ format_mask ], [ nls_language ] )

exemplo com datas
TO_CHAR(sysdate, ‘yyyy/mm/dd’); retorno ‘2003/07/09’
TO_CHAR(sysdate, ‘Month DD, YYYY’); retorno ‘July 09, 2003’
TO_CHAR(sysdate, ‘FMMonth DD, YYYY’); retorno ‘July 9, 2003’
TO_CHAR(sysdate, ‘MON DDth, YYYY’); retorno ‘JUL 09TH, 2003’
TO_CHAR(sysdate, ‘FMMON DDth, YYYY’); retorno ‘JUL 9TH, 2003’
TO_CHAR(sysdate, ‘FMMon ddth, YYYY’); retorno ‘Jul 9th, 2003’

http://www.techonthenet.com/oracle/functions/to_char.php

Configurando conexão com PHP + Oracle usando CentOS 6.3 / Red Hat 6.3

Neste artigo vou descrever a maneira mais simples e rapida para configurar o PHP para suporte com Oracle.

Antes de iniciar é necessário ter alguns pacotes básicos instalados;

1
# yum install gcc gcc-c++ autoconf libaio

Instalar o servidor web Apache
O comando abaixo instala o servidor web apache.

1
# yum -y install httpd

Configure para iniciar junto co o boot
Agora configuramos o apache para iniciar junto com o boot.

1
# chkconfig httpd on

Instalar o PHP
Instalando o PHP

1
# yum -y install php php-devel php-pear

Para instalar todas as bibliotecas do PHP – esta etapa não é obrigatoria
O comando abaixo instala todas as extensões disponíveis para o PHP

1
# yum -y install php*

Configurar o SELINUX
Agora vamos desabilitar SELINUX para não interferir no servidor httpd

1
2
3
/etc/sysconfig/selinux
 
# SELINUX=disabled

Instalar o Oracle client
Agora precisamos baixar o client do oracle no site Oracle.com é necessário fazer um cadastro rápido e gratuito.
Lembrando que você deve baixar de acordo com a arquitetura i686 ou x64

O comando abaixo instala os pacotes RPM.
x86_64
oracle-instantclient11.2-basic-11.2.0.3.0-1.x86_64.rpm
oracle-instantclient11.2-devel-11.2.0.3.0-1.x86_64.rpm

1
2
# rpm -ivh oracle-instantclient11.2-basic-11.2.0.3.0-1.x86_64.rpm
# rpm -ivh oracle-instantclient11.2-devel-11.2.0.3.0-1.x86_64.rpm

i686/i386
oracle-instantclient11.2-basic-11.2.0.1.0-1.i386.rpm
oracle-instantclient11.2-devel-11.2.0.1.0-1.i386.rpm

1
2
# rpm -ivh oracle-instantclient11.2-basic-11.2.0.1.0-1.i386.rpm
# rpm -ivh oracle-instantclient11.2-devel-11.2.0.1.0-1.i386.rpm

Agora é necessário setar a variável D_LIBRARY_PATH para o caminho da instalação do oracle client, que será carregado durante a Instalação do OCI8

1
2
# export LD_LIBRARY_PATH=/usr/lib/oracle/
# export LD_LIBRARY_PATH=/usr/lib64/oracle/

PHP – Instalação das extensões PECL
http://php.net/manual/pt_BR/install.pecl.php

Instalar o OCI – http://pecl.php.net/package/oci8

1
# pecl install oci8

Quando for solicitado o caminho do oracle_home, pressione enter caso tenha usado o comando export LD_LIBRARY_PATH apontando para o caminho do oracle client ou informar o caminho da instalação
Lembrando que tem diferença entre as plataformas i686 e x64(de acordo com a versão de plataforma e client do oracle usados)
Para suporte
http://php.net/manual/pt_BR/install.pecl.php

Editar o arquivo php.ini

1
# /etc/php.ini

Acrescentar a linha

1
# extension=oci8.so

reiniciar o host

1
# reboot

após reiniciar crie um arquivo phpinfo.php

1
<!--?php phpinfo(); ?-->

Se tudo ocorreu bem deverá aparecer o modulo OCI conforme a imagem abaixo

Problemas comuns

1
2
3
4
5
6
7
8
9
10
When running the CLI version of PHP from the command line, you may receive errors like the following:
[root@myserver /root]$ php -v
PHP Warning: Module 'pcre' already loaded in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/spl.so' - /usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/spl.so: Undefined symbol "pcre_exec" in Unknown on line 0
 PHP Warning: Module 'SimpleXML' already loaded in Unknown on line 0
PHP Warning: Module 'session' already loaded in Unknown on line 0
PHP Warning: Module 'exif' already loaded in Unknown on line 0
PHP 5.2.3 (cli) (built: Jun 14 2007 15:29:17)
Copyright (c) 1997-2007 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies

Como resolver?
-Verifique se desabilitou o SELINUX após a configuração é necessário reiniciar o host.

 

Atualizado em 28/04/2018

Para instalar o suporte para PHP 5.4 no Linux CentOS 7

pecl install oci8-2.0.12

Extra: Quando tiver problemas para conexão pelo SQL PLUS (sqlplus command not found on Linux)

(para usar o SQLPLUS)
# yum install glibc.i686

Você pode abrir o SQLPLUS para testar a conexão com o banco de dados

Digite no terminal o comando sqlplus

# sqlplus

Para descobrir o diretorio de instalação do Oracle

#find / -name sqlplus -print

Resultado será parecido com:

# /u01/app/oracle/product/database/bin/sqlplus

Execute o comando para indicador o local

ORACLE_HOME=/u01/app/oracle/product/database
export ORACLE_HOME
PATH=$PATH:$ORACLE_HOME/bin
export PATH

Instalando o Oracle Database 11g Release 2 (11.2) no Red Hat 6.2

Resolvi criar este post devido algumas dificuldades que encontramos em migrar de versão do oracle 10g para 11g R2 e de Plataforma Windows 2003 Standard (32) para Red Hat 6.2 X86_64

O problema de fato foi na etapa 18 da instalação do banco de dados, pois o oracle exige alguns pacotes em versão inferior a que está disponivel no Red Hat 6.2 e com a compilação i386, sendo que estão disponiveis apenas na compilação i686 (resumindo ambos são versão 32b porem o nome da compilação mudou)

ora_dependencias

ora_dependencias

Dependencias

libaio-0.3.105
compat-libstdc++--33-3.2.3
libaio-devel-0.3.105
libgcc-3.4.6
libstdc++-3.4.6
unixODBC-2.2.11
unixODBC-devel-2.2.11
pdksh-5.2.14

Eu tentei desistalar alguns pacotes que estavam em versão mais atual para instalar na versão que o instalador pediu o resultado foi um fracasso, pois não é possivel desistalar todos os pacotes por causa de várias dependencias que eles possuem, além do fato de estarmos usando um sistema atualizado e fazendo ele trabalhar com pacotes desatualizados… leia abaixo o resultado da minha experiencia.

Desistalação de Pacotes com RPM (Red Hat Package Manager)

Importante – Nunca use o comando (rpm -e –nodeps)

Read More →