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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function log_sql_erro($mensagem){
 
$descricao = mysql_error();
$nr_erro = mysql_errno();
 
$error = "MySQL erro: $descricao";
$error .= "Numero do erro: $nr_erro";
$error .= "Data:" . date ("D, F j, Y H:i:s");
$error .= "IP: " . getenv("REMOTE_ADDR");
$error .= "Browser" . getenv("HTTP_USER_AGENT");
$error .= "Referer" . getenv("HTTP_REFERER");
$error .= "Server name" . getenv("SCRIPT_NAME");
$error .= "Script Name" . getenv("SERVER_NAME");
$error .= "Server" . getenv("SERVER_SOFTWARE");
$error .= "OS" .PHP_OS;
$error .= "PHP Versao" . PHP_VERSION;
$error .= "";
 
echo $error;
 
exit();
}

Instalando CentOS 6.2 x86_64

Neste artigo de hoje vou mostrar como instalar e fazer as configurarações iniciais do centOS 6.2 x86_64, neste servidor será instalado o Oracle 11g R2, para replicação do ambiente principal que esta no Red Hat 6.2 x86_64.

Estou usando um ambiente cloud, com as seguintes configurações;

Processador Intel Xeon E5620 2.40GHz
8 Core’s
12 GB ram
1 Placa de rede (Gigabyte)
300 GB de espaço

Antes de iniciarmos precisamos fazer download do centos, acesse o link e baixe de onde preferir.

Baixe a versão x86_64
Links para donwloads
http://www.centos.org/
http://www.centos.org/modules/tinycontent/index.php?id=15

Mãos na massa!!!!

Nesta primeira tela do boot selecione a opçao install
Escolha o idioma de sua preferencia.

Selecione o seu tipo de teclado.

Tipo de armazenamento (estou usando disco local, caso esteja usando armazenamenro em storage selecione o outro tipo.)

Informe o nome para o host.

Fuso horário.

Informe uma senha para usuário root e confirme.

Marque a opção para criar personalizado e prosiga.

Recomendações do DBA para criação do swap

1024 MB até 2048 – Calcular espaço do Swap 1.5 X RAM
2049 MB até 16 GB – Calcular espaço do Swap 1 X RAM
maior que 16 GB – Espaço do Swap 16 GB

Vou criar a partição swap com o tamanho equivalente q quantidade de memória ram disponivel, no meu caso tenho 12 GB, então vou criar uma partiçao com 122888 MB (1024*12).

Agora crie uma outra partição, com o ponto de montagem / (barra) e marque para utilizar o espaço restante.

Aguarde o processo de formatação, levará alguns minutos até a próxima tela.

Nesta etapa o instalador copia os arquivos e faz as configurações Pós-Instalação automaticamente, é so aguardar….

A tela abaixo mostra que finalizamos a primeira etapa (instalação), agora vamos fazer as configurações iniciais.

Nesta será criado um outro usuário (informe um usuário e senha).

Informe a data e hora.

Kdump – Após configurar o kdump reinicie o host.

Quando reiniciar a primeira configuração a ser feita é liberar o acesso SSH ao servidor(essencial para configurar remotamente de outros computadores.).

para habilitar o SSH digite o comando no terminal.

#chkconfig sshd on

Agora inicie o serviço.

#service sshd start

Em seguida vamos configurar a placa de rede.

Logue como root, e no terminal digite #ifconfig, anote o endereço MAC.

#ifconfig

Agora acesse o diretório network-scripts

#cd /etc/sysconfig/network-scripts

crie um arquivo com o nome ifcfg-eth0

#vi ifcfgeth0

Dentro do arquivo deverá conter as informações como abaixo(altere conforme sua rede)

#ENDEREÇO MAC

HWADDR=00:00:00:00:00:00

TYPE=Ethernet

BOOTPROTO=none

#IP DO HOST

IPADDR=192.168.1.19

#MASCARA

PREFIX=24

#GATEWAY

GATEWAY=192.168.1.6

#SERVIDORES DNS DA SUA REDE

DNS1=192.168.1.2

DNS1=192.168.1.9

DEFROUTE=yes

IPV4_FAILURE_FATAL=yes

IPV6INIT=no

#NOME DA CONEXAO

NAME=eth0

#ATIVA PLACA DE REDE NO BOOT

ONBOOT=yes

Salve o arquivo e reinicie o servidor para aplicar as alterações.

no terminal digite o comando abaixo para atualizar os pacotes do servidor(esta etapa demora um pouco dependendo da sua velocidade com a internet).

#yum update -y

Vamos configurar o arquivo hosts

#vi /etc/hosts

Acrescente a linha no final do arquivo conforme o endereço IP que você informou durante a instalação e nome do host.

192.168.1.19 srv06.seudomnio.com srv06

Agora vamos desativar o SELINUX, edite o arquivo /etc/selinux/cofig

#vi etc/selinux/config

Altere de enforcing para disable

SELINUX=disabled

Agora vamos configurar os pré-requisitos para instalaçao do oracle 11g R2

Vamos editar o arquivo /etc/sysctl.conf e setar os parâmetros do kernel.

kernel.shmall = 2097152

kernel.shmmax = 536870912

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

fs.file-max = 6815744

fs.aio-max-nr = 1048576

fs.suid_dumpable = 1

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_default = 262144

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048576

Em seguida vamos instalar os pacotes necessários para instalação do oracle.
Estes pacotes estão no diretório Packages da midia de instalação
Você poderá instalar pacote por pacote com o comando rpm -ivh nome-pacote ou pelo YUM

Veja abaixo a lista dos pacotes a serem instalados:

yum install -y gnome-icon-theme-2.28.0-2.el6.noarch

yum install -y sgml-common-0.6.3-32.el6.noarch

yum install -y dmz-cursor-themes-0.4-4.el6.noarch

yum install -y libstdc++-devel-4.4.4-13.el6.x86_64

yum install -y kernel-headers-2.6.32-71.el6.x86_64

yum install -y elfutils-libelf-devel-0.148-1.el6.x86_64

yum install -y libgcc-4.4.4-13.el6.i686

yum install -y nss-softokn-freebl-3.12.7-1.1.el6.i686

yum install -y glibc-2.12-1.7.el6.i686

yum install -y mpfr-2.4.1-6.el6.x86_64

yum install -y libXt-1.0.7-1.el6.x86_64

yum install -y libXmu-1.0.5-1.el6.x86_64

yum install -y libXxf86misc-1.0.2-1.el6.x86_64

yum install -y libXxf86vm-1.1.0-1.el6.x86_64

yum install -y libaio-0.3.107-10.el6.i686

yum install -y libstdc++-4.4.4-13.el6.i686

yum install -y ncurses-libs-5.7-3.20090208.el6.i686

yum install -y readline-6.0-3.el6.i686

yum install -y libICE-1.0.6-1.el6.i686

yum install -y xorg-x11-xauth-1.0.2-7.1.el6.x86_64

yum install -y cpp-4.4.4-13.el6.x86_64

yum install -y libtool-ltdl-2.2.6-15.5.el6.x86_64

yum install -y unixODBC-2.2.14-11.el6.x86_64

yum install -y ppl-0.10.2-11.el6.x86_64

yum install -y cloog-ppl-0.15.7-1.2.el6.x86_64

yum install -y libmcpp-2.7.2-4.1.el6.x86_64

yum install -y mcpp-2.7.2-4.1.el6.x86_64

yum install -y xorg-x11-server-utils-7.4-15.el6.x86_64

yum install -y compat-db42-4.2.52-15.el6.x86_64

yum install -y compat-db43-4.3.29-15.el6.x86_64

yum install -y libdmx-1.1.0-1.el6.x86_64

yum install -y libXxf86dga-1.1.1-1.el6.x86_64

yum install -y libXv-1.0.5-1.el6.x86_64

yum install -y libIDL-0.8.13-2.1.el6.x86_64

yum install -y ORBit2-2.14.17-3.1.el6.x86_64

yum install -y GConf2-2.28.0-6.el6.x86_64

yum install -y libbonobo-2.24.2-4.el6.x86_64

yum install -y gtk2-engines-2.18.4-5.el6.x86_64

yum install -y shared-mime-info-0.70-4.el6.x86_64

yum install -y libdaemon-0.14-1.el6.x86_64

yum install -y avahi-0.6.25-8.el6.x86_64

yum install -y avahi-glib-0.6.25-8.el6.x86_64

yum install -y gnome-vfs2-2.24.2-6.el6.x86_64

yum install -y libtool-ltdl-2.2.6-15.5.el6.i686

yum install -y unixODBC-2.2.14-11.el6.i686

yum install -y libuuid-2.17.2-6.el6.i686

yum install -y libSM-1.1.0-7.1.el6.i686

yum install -y libXau-1.0.5-1.el6.i686

yum install -y xorg-x11-utils-7.4-8.el6.x86_64

yum install -y compat-libstdc++-33-3.2.3-69.el6.x86_64

yum install -y celt051-0.5.1.3-0.el6.x86_64

yum install -y libXp-1.0.0-15.1.el6.x86_64

yum install -y libxcb-1.5-1.el6.i686

yum install -y libX11-1.3-2.el6.i686

yum install -y libXext-1.1-3.el6.i686

yum install -y ConsoleKit-x11-0.4.1-3.el6.x86_64

yum install -y libXi-1.3-3.el6.i686

yum install -y xorg-x11-xinit-1.0.9-13.el6.x86_64

yum install -y libXtst-1.0.99.2-3.el6.i686

yum install -y libXt-1.0.7-1.el6.i686

yum install -y compat-libstdc++-33-3.2.3-69.el6.i686

yum install -y glibc-headers-2.12-1.7.el6.x86_64

yum install -y glibc-devel-2.12-1.7.el6.x86_64

yum install -y gcc-4.4.4-13.el6.x86_64

yum install -y compat-gcc-34-3.4.6-19.el6.x86_64

yum install -y gnome-themes-2.28.1-6.el6.noarch

yum install -y system-icon-theme-6.0.0-2.el6.noarch

yum install -y system-gnome-theme-60.0.2-1.el6.noarch

yum install -y ncurses-devel-5.7-3.20090208.el6.x86_64

yum install -y libgnome-2.28.0-11.el6.x86_64

yum install -y gcc-c++-4.4.4-13.el6.x86_64

yum install -y readline-devel-6.0-3.el6.x86_64

yum install -y glibc-devel-2.12-1.7.el6.i686

yum install -y compat-db-4.6.21-15.el6.x86_64

yum install -y unixODBC-devel-2.2.14-11.el6.i686

yum install -y unixODBC-devel-2.2.14-11.el6.x86_64

yum install -y libaio-devel-0.3.107-10.el6.i686

yum install -y libaio-devel-0.3.107-10.el6.x86_64

yum install -y compat-gcc-34-c++-3.4.6-19.el6.x86_64.rpm

yum install -y compat-li*

yum install -y elfu*

yum install -y gcc-c++ pdksh*

yum install -y gcc

yum install -y compat*

yum install -y pdksh*

 

# yum install -y unixODBC.i686

# yum install -y unixODBC-devel.i686

# yum install -y unixODBC-devel

http://blog.fabianobento.com.br/downloads/pdksh-5.2.14-12.i386.rpm
http://blog.fabianobento.com.br/downloads/pdksh-5.2.14-21.x86_64.rpm

Agora seu servidor está pronto para receber a instalação do oracle.

Contate seu DBA para criar o diretório da instalação, configurar os usuários, permissões e parametros do Oracle.

Posts relacionados

 

Instalando e Configurando o VNC no Red Hat 6.2 / CentOS 6.2
http://blog.fabianobento.com.br/2012/05/instalando-configurando-vnc-red-hat-6-2/

Habilitando ambiente X na inicialização do Red Hat 6.2 / CentOS 6.2
http://blog.fabianobento.com.br/2012/05/habilitando-ambiente-na-inicializacao-red-hat-6-2/

Instalando o Oracle Database 11g Release 2 (11.2) no Red Hat 6.2 – Resolvendo dependencias
http://blog.fabianobento.com.br/2012/05/instalando-oracle-database-11g-release-2-11-2-red-hat-6-2/

 

[REVISÃO em 12-05-2012]
Aumentando a área de Swap sem ter que reinstalar o Red Hat – Instalação do oracle 11G R2

Completando uma sequencia de 7 artigos, mostrando configurações de serviços e de softwares no Red Hat, hoje vou publicar a solução que encontrei para aumentar a área de swap sem ter que reinstalar o OS.
Esta sequencia de artigos se deu ao fato da migraçao de ambiente que estou acompanhando aqui na empresa onde trabalho.

Um outro problema que você poderá ter na etapa 18 da instalaçao o oracle é a área Swap que deve ter no minimo 16 GB, ao contrário você terá um erro como a imagem abaixo.

Bom vamos ao que interessa, Como resolver ??

(Geralmente configuramos área de swap equivalente a metade de memória que temos no servidor)

No meu caso o servidor tem 32 GB e minha área de swap tinha 15.62 GB e era necessário 16 GB para instalação do oracle, então precisei especificar em 400 MB no shell para chegarmos nos 16GB.
1024*16 (16384 MB)

Vamos verificar o tamanho do swap

No terminal digite

1
# free

Depois verificamos quanto de espaço físico temos em disco para poder aumentar na memória swap.

1
# df -hT

Em seguida iremos criar um diretório no raíz com o nome de swap:

1
# mkdir /swap

Agora criaremos a swap propriamente dita:

1
# cd /swap

no meu caso ja tinha 15.62 GB de swap, então precisei adicionar 400 MB

1
# dd if=/dev/zero of=/swap/swapfile bs=1024 count=400000

Leva alguns minutos para concluir, espere aparecer a mensagem abaixo.

400000+0 records in
400000+0 records out

É recomendado mudar a permissão do arquivo

#chmod 600 /swap/swapfile

1
# mkswap /swap/swapfile

Setting up swapspace version 1, size = 509595904 bytes

1
# swapon /swap/swapfile

Pronto, agora veja o resultado.

1
# free


Vamos adicionar agora a nova entrada no FSTAB para montar no boot. Edite o arquivo /etc/fstab e adicionando a seguinte linha:

/swap/swapfile swap swap defaults 0 0

Salve e saia do FSTAB.

Pronto esta feito , você acabou de aumentar sua SWAP.

Se quizer voltar ao tamanho original , delete o arquivo que esta em /swap e tire a linha do /etc/fstab.

post original: http://jf.eti.br/howto-aumentando-a-area-de-swap-sem-ter-que-reinstalar/

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 →