- Instalação do Oracle 11G no Windows 7 32 Bits – 1ª Parte
- Instalação do Oracle 11G no Windows 7 32 Bits – 2ª Parte
- Instalação do Oracle 11G no Windows 7 32 Bits – 3ª Parte
- Database (próprio banco em si)
- Listener (serviço que habilita, usuários para conexão ao banco)
- Entreprise Manager (servico que habilita o gerenciamento do banco via browser)
- 1. Escolha Configuração do listener e clique em Próximo;
- 2. Na tela seguinte aparecem as opções: Adicionar, reconfigurar, deletar e renomear, selecione Reconfigurar e clique em Próximo;
- 3. Aceite o nome default (LISTENER) e clique em Próximo;
- 4. Selecione o protocolo o padrão é (TCP) e clique em Próximo;
- 5. Informe a porta o padrão (1521) e clique em Próximo;
- 6. Responda não à pergunta “Deseja configurar outro listener?” e clique em Próximo;
- 7. Ao ver a mensagem “Configuração do listener concluída”, clique em.
- Próximo e depois em Finalizar.
- Os usuários (Cada usuário interage com o processo de usuário)
- Processos de usuários (cada usuário interage com o processo de servidor)
- Os processos de servidor que executam o SQL (Interagem com a Instância)
- A Instância (Interagem com o Banco de Dados)
- E o próprio Banco de Dados
- Criar conexões com bancos de dados
- Navegar entre os objetos
- Criar objetos
- Modificar Objetos
- Consultar e manipular dados dos objetos (DML)
- Exportar e importar dados / Gerar DDL dos objetos
- Efetuar cópia e comparações entre schemas e objetos
- Processar comandos
- Editar código PL/SQL
- Executar e debugar códigos PL/SQL
- Executar e criar relatórios personalizados
- Facilitar a migração inter-bancos (Migration Workbench integrado)
- Permitir integração com sistemas de controle de versão (CVS, Subversion).
- Nome ou endereço IP do servidor Oracle (no nosso Caso é gilvancosta-pc ou 192.168.0.104)
- Número da porta (geralmente 1521)
- SID do banco de dados (orcl)
- Usuário e senha que realizará a conexão com o banco de dados (no caso é HR/19372846)
PING
Na máquina virtual (VM ) do cenário fiz uns testes preliminares para diagnosticar se a ambas as máquinas estavam se “enxergando” e se a VM tinha condição de se conectar ao Servidor Oracle, para isso utilizei um utilitário básico O PING através de linha de comando no CMD do Windows. Só lembrando: O ping utilitário é usado para testar a conectividade com um computador remoto PING <nome do servidor> <IP v4> Teste de Conexão com Ping Estando ok essa etapa vamos partir para o SQL Deloper e criar as nossas conexões: Conexões Remotas Nessa etapa irei criar 3 conexões uma para o usuário SYS, que é o super usuário do Oracle com ela eu vou criar um outro usuário com a ID gilvancosta. Vamos também criar uma conexão para o usuário HR para podermos acessar o schemas de exemplo e ter acesso somente as suas tabelas E por último vamos executar um pequeno script SQL usando o usuário gilvancosta Siga essa sequencia nas imagens abaixo Conectando com o usuário SYS através de uma conexão de nome CSTSystem Observer na imagem as informações de Conexão para o Super usuário Sys veja que a Atribuição dele está como SYSDBA. Conexão ao Oracle 11g com o usuário SYS Dados da Conexão do usuário HR, observe as tabelas no lado esquerdo que pertence ao esquema do exemplo. Conexão no Banco de Dados Oracle com o usuário HR E nessa última imagem temos uma conexão com o usuário gilvancosta, nela pode se notar a criação de duas tabelas através de comando SQL. Conexão com o Banco de dados Oracle com o usuário gilvancostaResolvendo Problemas de Conexões ao Banco de Dados Oracle
Nota Importante: Material a seguir foi produzido e gentilmente cedido pelo DBA e Professor de Oracle da ITCursos Emerson Herman do Blog O Peregrino especialmente para os leitores desse artigo. Alguns erros ocorrem durante tentativa de conexão com o banco de dados Oracle ou mesmo quando se está utilizando Database Link (DBLINK) para acessar outras bases de dados. A origem desses erros podem ser diversas e sempre estarão ligados com o SQL*NET ou a sua infra-estrutura de rede LAN/WAN. Para quem não conhece o SQL*NET ou Net8 (Antes do Oracle8i), é um produto de middleware da Oracle que oferece suporte para as conexões (Transparent Connection) entre cliente/servidor, entre bancos de dados Oracle ou ambientes não-Oracle (Transparent Gateways). Porém, nossa meta agora, não é conhecer as soluções e arquitetura de rede do Oracle Server, e sim, solucionar os principais problemas de TNS. Mas, antes devemos conhecer três arquivos que compõe uma arquitetura de rede Oracle e importantes para iniciar a nossa jornada, são eles,- listerner.ora,
- tnsnames.ora e
- sqlnet.ora,
Listener.ora
Arquivo de configuração de ouvinte no lado do servidor. Ele fornece as principais configurações como: Nome único do banco de dados (Unique Name) Protocolo de Comunicação e porta de acesso Serviços do Listener e Home Oracle associado a versão da base. A origem desse arquivo é sempre em $ORACLE_HOME/network/admin em Unix\Linux e %ORACLE_HOME%\network\admin para Windows, onde ORACLE_HOME é a origem da sua instalação do Oracle Server. Exemplo: Listener.ora DICA: Esse arquivo é geralmente encontrado no servidor que está instalado o banco de dados e não na máquina cliente. E resumidamente, é ele que fornece o suporte de conexão ao banco de dados.Tnsnames.ora
Arquivo de configuração para acesso aos bancos de dados Oracle, configurado tanto no lado cliente ou servidor. Ele fornece as informações de destino dos banco de dados, como: Nome do banco de dados (SID); Tipo de Protocolo, Nome do servidor e Porta de conexão. Abaixo segue um exemplo do contéudo de um arquivo Client: Exemplo Tnsnames.ora DICA: O arquivo tnsnames.ora deve ser configurado no lado cliente e servidor de banco de dados e aplicação, no lado cliente para permitir o usuário acessar o banco de dados, nos servidores de banco de dados para validar a utilização de DBLINKs e nos servidores de aplicação para permitir a conectividade Então fica a dica, configurou o tnsnames.ora pelo Net Manager no servidor replique esse arquivo para os clientes(usuários)Sqlnet.ora
Arquivo de configuração que habilita alguns recursos de rede para o cliente ou banco de dados, como: Tipo de nomeação de metódos; Habilita logs e traces; Recursos avançados de segurança e entre outros. Assim como os outros arquivos, pode ser encontrado em $ORACLE_HOME\network\admin em Unix\Linux e %ORACLE_HOME%/network/admin em Windows da máquina cliente ou servidor. Exemplo sqlnet.ora Exemplo sqlnet.ora Bom, depois de algumas suaves explicações dos arquivos de configuração, vamos discutir um check list antes de entrar nos problemas de TNS, esse check list tem como funcionalidade encontrar os possíveis problemas antes de realizar qualquer alteração nos arquivos do SQL*NET mencionados acima, o check list consiste nas seguintes tarefas: 1) PING Antes de qualquer coisa, faça um ping para o IP do servidor e veja se ele está respondendo na rede, como o exemplo abaixo: C:\>ping 10.3.128.213 Disparando contra 10.3.128.213 com 32 bytes de dados: Resposta de 10.3.128.213: bytes=32 tempo=81ms TTL=60 Resposta de 10.3.128.213: bytes=32 tempo=70ms TTL=60 Resposta de 10.3.128.213: bytes=32 tempo=137ms TTL=60 Resposta de 10.3.128.213: bytes=32 tempo=96ms TTL=60 Estatísticas do Ping para 10.3.128.213: Pacotes: Enviados = 4, Recebidos = 4, Perdidos = 0 (0% de perda), Aproximar um número redondo de vezes em milissegundos: Mínimo = 70ms, Máximo = 137ms, Média = 96ms 1) PING, Considerações Ter a resposta do servidor já é um bom começo, caso não tenha, existe alguns possíveis problemas: O servidor está com outro endereço IP; O cabo de rede não está conectado ao servidor; O servidor pode estar bloqueado no Firewall; Verificar as regras de firewall do seu usuário para o servidor específico; Para ambientes distribuídos, verifique se o link entre as unidades está ativo; Verificar se a(s) placa(s) de rede do servidor estão habilitadas; Verificar se o servidor está no domínio desejado ou em uma DMZ, se sim, verificar se possui acesso. Todos os problemas mencionados acima, se trata diretamente da infra-estrutura e configuração do servidor em questão, portanto, não tem que realizar nenhum tipo de configuração ou manutenção no seu ambiente Oracle. 2) TNSPING O Net Manager fornece um aplicativo chamado TNSPING, que pode ser executado diretamente no servidor ou da máquina cliente, ele é utilizado para determinar se o Listener do banco de dados alvo está ativo ou não. Pois, em alguns momentos, podemos ter uma base com o status OPEN (online), porém, o seu serviço de Listener esta parado, deste modo não permite acesso dos usuários. C:\>tnsping ORCL TNS Ping Utility for 32-bit Windows: Version 11.2.0.1.0 – Production on 28-FEV-2011 20:02:54 Copyright (c) 1997, 2010, Oracle. All rights reserved. Arquivos de parâmetros usados: C:\app\Emerson\product\11.2.0\client_1\network\admin\sqlnet.ora Usado o adaptador TNSNAMES para resolver o apelido Tentativa de contatar (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.3.128.213)(PORT = 1522)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl.3.128.213))) OK (80 ms) OK (80 ms) Diferente do PING, o TNSPING já faz um teste do serviço de conexão diretamente no banco de dados desejado, no exemplo, utilizei o alías ORCL para o banco de dados mas poderia ser o nome da empresa por exemplo, que é o alías configurado em meu tnsnames.ora, a mensagem final de OK diz que é possível realizar a conexão com o banco de dados. Mas para ter do sucesso de conexão para seu banco de dados, tudo vai depender do status que a sua instância se encontra, pois se o banco de dados estiver em NOMOUNT (não mountado) ou MOUNT (montado), o teste de conexão com o TNSPING irá funcionar, porém, o acesso não será possível, assim sendo, quado acessar à aplicação ou SQL*PLUS, terá um erro como o abaixo: C:\>sqlplus /nolog SQL*Plus: Release 11.2.0.1.0 – Production on Seg Fev 27 14:04:16 2011 Copyright (c) 1982, 2010, Oracle. All Rights Reserved. SQL> conn system@orcl Informe a senha: ERROR: ORA-01033: ORACLE initialization or shutdown in progress Isso é porque o seu banco de dados se encontra em status NOMOUNT ou MOUNT, ou também como a mensagem diz, em processo de SHUTDOWN em modo immediate, normal ou transacional. Utilizando ainda o TNSPING, é possível medir o tempo de resposta do serviço de Listener, colocando um valor N para o teste, conforme o exemplo: C:\>tnsping orcl 5 TNS Ping Utility for 32-bit Windows: Version 11.2.0.1.0 – Production on 27-FEV-2011 14:05:21 Copyright (c) 1997, 2010, Oracle. All rights reserved. Arquivos de parâmetros usados: C:\app\usuario\product\11.2.0\dbhome_1\network\admin\sqlnet.ora Usado o adaptador TNSNAMES para resolver o apelido Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (COMMUNITY = tcp.world) (PROTOCOL = TCP) (Host = 10.3.128.213) (Port = 1521)) ( ADDRESS = (COMMUNITY = tcp.world) (PROTOCOL = TCP) (Host = 10.3.128.213) (Port = 1521))) (CONNECT_DATA = (SID = ORCL))) OK (50 ms) OK (60 ms) OK (60 ms) OK (80 ms) OK (80 ms) 2) TNSPING, considerações Acima, foi realizado 5 tentativas, ou como alguns preferem, 5 saltos. Com essa opção do TNSPING é fornecida para cada salto o tempo de resposta da máquina origem para o banco de dados destino, e com isso também podemos entrar problemas de performance, caso o tempo de resposta esteja alto de um valor tolerado, que é de 0 a 200 ms (milisegundos), pode começar a verificar alguns problemas de rede. Atráves do TNSPING, começamos a receber alguns erros de TNS, que podemos discutir abaixo:Lista de alguns possíveis erros de conexão
Erro TNS-03505
Esse erro acontece geralmente quando se tenta realizar um teste de conexão (TNSPING) para um banco de dados que não está registrado no tnsnames.ora da máquina cliente ou servidor, exemplo: C:\>tnsping orcl2 TNS Ping Utility for 32-bit Windows: Version 11.2.0.1.0 - Production on 27-FEV-2011 14:10:52 Copyright (c) 1997, 2010, Oracle. All rights reserved. Arquivos de parâmetros usados: C:\app\usuario\oracle\product\11.2.0\dbhome_1\network\admin\sqlnet.ora TNS-03505: Falha ao determinar o nome Solução Erro TNS-03505 Existem algumas possíveis soluções simples para esse erro específico de TNS, que são: Colocar o nome correto do banco de dados; Verifique se o alías que está tentando conecta está cadastrado no seu arquivo tnsnames.ora; Verifique se o alías necessita utilizar o .WORLD ao final do nome, o .WORLD significa que é de um domínio global, e sua configuração pode ser feita alterando o nome do alías no tnsnames.ora para ORCL.WORLD; Talvez seja necessário colocar o parâmetro NAME.DEFAULT_ZONE = WORLD no arquivo sqlnet.ora; Verifique o tipo de nomeação utilizado pelo parâmetro NAMES.DIRECTORY_PATH.Solução Erro TNS-12541
Esse erro é retornado quando o serviço do Listener não está online, ou está com outro tipo de configuração, exemplo: C:\>tnsping orcl TNS Ping Utility for 32-bit Windows: Version 11.2.0.1.0 - Production on 27-FEV-2011 14:25:11 Copyright (c) 1997, 2010, Oracle. All rights reserved. Arquivos de parâmetros usados: C:\app\usuario\oracle\product\11.2.0\dbhome_1\network\admin\sqlnet.ora Usado o adaptador TNSNAMES para resolver o apelido Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (Host = 10.3.128.213) (Port = 1521))) (CONNECT_DATA = (SID = orcl))) TNS-12541: TNS:nâo há listener Nos casos mais simples, para resolver esse problema basta ativar novamente o serviço do Listener no banco de dados alvo, para isso, utiliza a ferramenta LSNRCTL (Listener Control) fornecido junto com o SQL*NET, atráves de linha de comando para habilitar novamente o serviço, exemplo:Erro TNS-12541 – LSNRCTL
C:\>lsnrctl LSNRCTL for 32-bit Windows: Version 11.2.0.1.0 – Production on 15-JAN-2011 14:35:41 Copyright (c) 1991, 2010, Oracle. All rights reserved. Bem vindo ao LSNRCTL, digite “help” para obter informações. LSNRCTL> start LISTENER Starting C:\app\usuario\oracle\product\11.2.0\dbhome_1\bin\tnslsnr: please wait… TNSLSNR for Windows: Version 11.2.0.1.0 – Production System parameter file is c:\app\usuario\oracle\product\11.2.0\dbhome_1\network\admin\listener.ora Log messages written to c:\app\usuario\oracle\product\11.2.0\dbhome_1\network\log\listener.log Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.3.128.213)(PORT=1521))) Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.3.128.213)(PORT=1521))) STATUS of the LISTENER ———————— Alias LISTENER Version TNSLSNR for Windows: Version 11.2.0.1.0 – Production Start Date 27-FEV-2011 14:38:26 Uptime 0 days 0 hr. 0 min. 0 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter File c:\app\usuario\oracle\product\11.2.0\dbhome_1\network\admin\listener.ora Listener Log File c:\app\usuario\oracle\product\11.2.0\dbhome_1\network\admin\listener.log Listening Endpoints Summary… (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.3.128.213)(PORT=1521))) Services Summary… Service “orcl” has 1 instance(s). Instance “orcl”, status UNKNOWN, has 1 handler(s) for this service… The command completed successfullySolução Erro TNS-12541 – LSNRCTL,
comentário Perceba que ao acessar o aplicativo LSNRCTL (Listener Control), emiti o comando start LISTENER, para iniciar o serviço do Listener, por padrão o nome do ouvinte é LISTENER, então eu poderia apenas deixar start que resolveria, porém, se coloquei outro nome ao LISTENER, basta iniciar com start <nome_do_listener>, e para saber se existe outro nome de Listener configurado no seu SQL*NET, basta verificar o seu arquivo listener.ora do servidor de banco de dados. Existem outros checks que devem ser feitos para evitar esse tipo de erro, são: Verificar o hostname e porta do arquivo listener.ora; Verificar o nome do Listener atual no LSNRCTL;Erro ORA-12154
O mesmo que o erro TNS-12154, onde não há um Listener para conexão, porém, ele é emitido dentro do banco de dados Oracle, por isso o motivo do ORA no início, e esse erro é quando se está utilizando um DBLINK para um determinado banco de dados e o ALIAS utilizado no DBLINK não corresponde ao banco de dados. Exemplo: SQL> select count(*) from tabela1@orcl_x.WORLD; select count(*) from tabela1@orcl_x.WORLD ERRO na linha 1: ORA-12154: TNS:could not resolve service nameSolução Erro ORA-12154
A solução para esse tipo de problema é igual ao do TNS-12154, porém necessita de mais detalhes, como: Verificar qual o alías que o DBLINK está utilizando para realizar a comunicação, fazendo o SELECT abaixo: SQL> select owner, db_link, username, host from dba_db_links; OWNER DB_LINK USERNAME HOST ———- ————— —————————— ————— PUBLIC orcl_x.WORLD user1 orcl_jpa 1 linha selecionada Solução Erro ORA-12154, considerações A coluna HOST fornece o nome do alías que será utilizado para realizar a comunicação com outro banco de dados, esse alías é o mesmo encontrado no arquivo tnsnames.ora, então, para resolver o problema, basta no arquivo de tnsnames colocar um alías chamado orcl_jpa para o hostname, porta e SID corretos, deste modo o DBLINK volta a funcionar. Existem outras coisas que devemos prestar atenção como mencionado nos erros TNS acima, como: Verificar se é necessário utilizar o .WORLD para o domínio global; Verificar o NAMES.DIRECTORY_PATH e NAME.DEFAULT_DOMAIN do sqlnet.ora do servidor de banco de dados; Executar os testes de PING e TNSPING.Resolvendo problemas na instalação do Oracle 11g
Algums problemas de instalação do Oracle 11g, se deve a falta de arquivos na hora da instalação, isso acontece pelo simples fato de quê: 1) Na hora de baixar os arquivos para instalação do Oracle 11g, que são dois, conforme site da própria Oracle, faz-se necessário descompactar os dois arquivos no mesmo diretório, isto é, em apenas uma pasta, nas experiências relatadas, um dos problemas é que o instalador descompacta cada arquivo em pastas separadas 2) Usando também o descompctador do Windows 7 nativo, que pelo que observei, quando se descompcata usando tal descompcatador, o mesmo extrai o segundo arquivo sobrepondo a pasta padrão, anulado o conteudo extraido anteriormente pelo primeiro arquivo. Dica: Então quando for descompactar os arquivos do Oracle 11g use 7zip ou Winrar por exemplo, descompactando tudo em uma pasta só, lembrando também que é necessário ter o Java (JRE ou JDK)instalado no servidor assim como nos clientes.Referência Bibiográfica
Livro: OCA Oracle Database 11g: Fundamentos I ao SQL – Manual do Exame 1Z0-051 Autor: John Watson e Roopesh Ramklass ISBN: 978-85-7608-471-6 Finalizando Então é isso amigo, acho que já foi suficiente para termos uma idéia de não somente instalar o banco de dados Oracle no Windows 7, mas também como conectá-lo e assim criarmos nosso cenário de aprendizado. Claro que existem muitos detalhes que não foi mostrado, pois o meu objetivo era ser o mais prático possível dai a imensa quantidade de imagens. Espero ter ajudado e contribuído para que pelo menos ter lhe motivado a seguir em frente e dominar esse incrível banco de dados. Um grande abraço e Sucesso. Esse tutorial foi publicado pelo Gilvan Costa no site csthost.