Oracle/PLSQL: Função REPLACE
SELECT
replace(‘1.1.1.1.1’, ‘.’, ”)
FROM dual
retorno
11111
Oracle/PLSQL: Função REPLACE
SELECT
replace(‘1.1.1.1.1’, ‘.’, ”)
FROM dual
retorno
11111
Oracle/PLSQL: Função DECODE
Decode(situacao,’A’,’Ativo’,’E’,’Excluído’) situacao
Conectar com usuário que possui permissão.
Digite @ e o nome do arquivo .sql para executá-lo:
SQL > @arquivo.sql
Se for em um diretório especifico você deve informar.
SQL > @c:/arquivo.sql
Atualização do post em 12/05/2020.
Para executar vários arquivos, você precisa criar um arquivo com a lista dos outros arquivos a serem executados.
Exemplo:
Criei 3 arquivos, sendo;
a.sql
b.sql
e o arquivo teste.sql
Ao chamar o arquivo teste.sql, ele irá chamar os arquivos a.sql e b.sql.
Subindo a base e listener do banco Oracle 11g, após ligar o servidor
Neste video de hoje vou mostrar como subir o serviço do Oracle após ligar o servidor com o oracle já instalado e configurado.
Link do Video: https://www.youtube.com/watch?v=9v_yHPofgnQ
Comandos:
//Ativando o LISTENER $lsnrctl start //Parando o LISTENER $lsnrctl stop //Conectando localmente no servidor $sqlplus / as sysdba //Ativando a base de dados SQL> startup //Parando a base de dados SQL> shutdown immediate
Comandos Úteis para Oracle
Para verificar a codificação do banco de dados basta rodar o SQL baixo.
select * from nls_database_parameters;
Verificar dados da Instancia do Oracle
SELECT * FROM v$instance;
verifica status da conta
select username, account_status from dba_users;
verificar se tem algum usuário usando o sistema (bom caso deseje parar o servico do oracle server)
select saddr, sid, username, logon_time, status,
osuser, machine, program
from v$session;
— objetos invalidos
select count (*) from dba_objects where status=’invalid’ and owner like ‘rm%’;
— verifica objetos invalidos
select object_type, object_name, status
from dba_objects
where status=’invalid’
and owner like ‘rm%’;
–propriedades do server (language, character set e etc..)
select * from nls_database_parameters;
–propriedades da sessao (language, character set e etc..)
select * from nls_session_parameters;
Oracle: Exportando base de dados – arquivo dump(.dmp) pela linha de comando
Você pode especificar todos os parâmetros válidos e seus valores a partir da linha de comando usando a seguinte sintaxe:
exp username/password PARAMETER=value
ou
exp username/password PARAMETER=(value1,value2,...,valuen)
Exemplo prático:
exp fabiano/senha@servico file=fabiano.dmp log=fabiano_exp.log statistics=none consistent=y exp fabiano/senha@dbtestefile=fabiano.dmp log=fabiano_exp.log statistics=none consistent=y
Você pode especificar todos os parâmetros válidos e seus valores a partir da linha de comando usando a seguinte sintaxe:
imp username/password PARAMETER=value
ou
imp username/password PARAMETER=(value1,value2,...,valuen)
Exemplo prático:
imp fabiano/senha file=fabiano.dmp log=fabiano_imp.log fromuser=fabiano touser=fabiano imp fabiano/senha file=fabiano.dmp log=fabiano_imp.log fromuser=fabiano touser=fabiano ignore='Y' full=yes
Oracle – Comandos
Assistente de configuração do Oracle net
[oracle@localhost ~]$netca
Assistente de configuração de banco de dados
[oracle@localhost ~]$dbca
Assistente de configuração do
[oracle@localhost ~]$emca
Enterprise Manager
Inicar: emctl start dbconsole Parar: emctl stop dbconsole Status: emctl status dbconsole
[oracle@localhost ~]$env | grep ORACLE
[oracle@localhost ~]$sysctl -p |grep kernel
[oracle@localhost ~]$df -k /dev/shm
SQL> show parameter arch // /u01/app/oracle/oradata/dbbanco/archive/
Tamanho do banco
select sum(bytes) /1073741824 TAMANHO_GB from dba_segments;
monitor sessão
SQL> SELECT SID, SERIAL#, USERNAME FROM V$SESSION WHERE USERNAME='SYS';
Dica: diretório para scripts
/u01/app/oracle/admin/scripts
Criando usuário no Oracle / Drop user
1-Criar um tablespace
CREATE TABLESPACE fabiano_data LOGGING DATAFILE ‘/u01/app/oracle/oradata/fabiano/fabiano_data.dbf’ SIZE 200m AUTOEXTEND ON NEXT 100m EXTENT MANAGEMENT LOCAL;
Apagar table space
drop tablespace fabiano_data;
2-Criar usuário
create user fabiano identified by senha default tablespace fabiano_data temporary tablespace temp;
3-Privilégios de DBA para o usuário
grant dba to fabiano;
4-Excluindo um usuário
drop user fabiano cascade;
Dica: Executar antes da exclusão
SQL> purge recyclebin;
SQL>alter session set optimizer_mode=choose;
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
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