Começo então esse artigo compartilhando algumas detalhes através de imagens para que você fique a par de como ficou o cenário dessa máquina depois de finalizado a instalação mencionado acima.
Veja também
- 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
Menu Iniciar
Detalhe da instalação do Oracle 11G no WWindows 7
Pastas da instalação
Observe que no meu caso foi instalado no Driver D:
Diretório de Instalação do Oracle 11G no Windows 7
Serviços do Windows
Para que o Oracle 11g, funcione adequadamente no servidor, isto é, esteja ativo em outras palavras, com uma instancia ativa,
faz necessário habilitar os seguintes serviços, Nos quais os principais são:
- 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)
Para visualizar esses serviço no Windows 7 Vai no Menu Principal em:
Pesquisar Programas e Arquivos Digite: services.msc
Irá aparecer a seguinte tela:
Serviços Ativos do Windows 7 relacionados ao Servidor Oracle 11g
Recursos do Sistema utilizados:
No caso do Windows 7 um serviço pode gerar vários processos, o servidor Oracle Service Orcl database pode gerar vários processos oracle.exe conforme figura abaixo:
Recursos de Sistema usados Pela instalação do Oracle 11g
Conceitos Importantes
Com as informações passadas até aqui e antes de seguir-mos para o objetivo principal é interessante ainda tratar de alguns conceitos básicos que envolvem a arquitetura de um servidor Oracle no que diz respeito ao escopo de conexão.
A primeira coisa que temos que aceitar é que um banco de dados Oracle nada mais é que uma série de arquivos em disco ou em vários deles e que o acesso a esse Banco de Dados (Arquivos) é feito por meio de uma instância Oracle.
A Instância é um conjunto de serviços, processos e estruturas de memória e a sua existência é temporária, ou seja, a instância pode ser iniciada(ativa) e parada(inativa).
Os usuários do banco de dados estabelecem sessões contra a instância. A instancia gerencia todo o acesso ao banco de dados. É absolutamente impossível no ambiente Oracle qualquer usuário ter contato direto com o banco de dados. Uma instância Oracle com um banco de dados Oracle Forma um Servidor Oracle. X.
Só para lembrar, durante o processo de instalação foi criado um banco de dados com o nome “orcl” e uma instância com o SID (System Identifier – é a identificação da Instância) também nomeado de “orcl”.
Lembre-se que em uma mesma máquina é possível criar várias instâncias Oracle. Daí a importância de identificar cada uma delas de forma única e inequívoca.
Oracle – O LISTENER
Outro processo, que vale apena ser mencionado, que está residente na camada servidora é o LISTENER cuja responsabilidade é para ”escutar” solicitações e estabelecer conexão de entrada do cliente e gerenciar o tráfego para o servidor.
O arquivo de configuração do Listener é o listener.ora e é por ele que o Listener é controlado. Nele nós especificamos as configurações necessárias para que cliente compute possam ter acesso ao Oracle Database.
A figura abaixo mostra uma visão como é habilitada uma conexão de rede entre um client e o computes.
Diagrama Funcional do Listener Oracle
Sem o Listener, não há comunicação
Pausa para o lanche.
Vamos abrir um pequeno parente e ver algumas possibilidades de alterar e criar um Listerner de conexão.
Se a instalação ou configuração padrão não é adequada para um determinado ambiente, você pode usar, além de outros métodos, o Assistente de Configuração de Rede e com ele personalizar o listener. ora. (Só use essa opção se for realmente necessário!).
Basicamente os passos são os Seguintes:
- 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.
Segue algumas imagens ilustrativas desse processo.
Configuração do listener do Oracle 11g no Windows 7
O Listener pode ainda ser gerenciado pelo EM Database Control como mostra a figura.
O Listener pode ainda ser gerenciado pelo EM Database Control
Obs.: Vamos ver como conectar o EM Database Control mais a frente.
Continuando
A Arquitetura de Servidor da Oracle.
Outra Coisa que devemos ter em mente antes de pensarmos em CONEXÃO é que o modelo desse processamento usado pelo servidor Oracle é de Cliente/Servidor, ou seja, a Interface do usuário e muito da lógica dos aplicativos são separados do gerenciamento dos Dados.
A camada do Cliente consiste em dois componentes:
- 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)
A Camada do servidor possui três componentes:
- 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
Essa relação é mostrada no diagrama a seguir
A Arquitetura do Servidor da Oracle
Obs.: Nesse Modelo não é considerando a possibilidade do uso de servidor de aplicativo, esses servidores de aplicativos substitui o software do lado cliente, mas a lógica continua a mesma.
Com isso dito então o nosso objetivo é utilizar alguns processos de usuário para estabelecer sessões contra a instância do servidor Oracle e só assim ter a possibilidade de emitir SQL e administrar a nossa Base de Dados.
Finalmente Vamos Para a Prática
Ok, agora vamos deixar de enrolação e partir para as nossas conexões.
Nos exemplos que segue, vou conectar a partir de outra máquina na rede e para não esquecer, vamos ao Firewall do Windows e Liberar as Porta 1521 nas regras de Entrada e de Saída para viabiliza essa possibilidade.
Firewall do Windows
Configurando O Firewall do Windows 7 para Viabilizar a Conexão do Oracle 11G
Utilitário TNSPING
logo em seguida executar um diagnóstico usando o Utilitário TNSPING por meio de linha de comando usando o CMD do Windows.
O utilitário TNSPING é usado para determinar se existe ou não um serviço Oracle e se uma conexão pode ser estabelecida a partir de um cliente para um servidor remoto, Se tiver êxito, TNSPING irá informar o número de milissegundos que levou para chegar ao serviço remoto.
A seguir as Imagens do resultado do diagnóstico, observe que no final do relatório obtido está indicando OK, com isso já podemos seguir em frente.
O utilitário TNSPING é usado para determinar se existe ou não um serviço Oracle
Data base Control Enterprise Manager (EM)
Continuando a nossa fase de testes e nessa etapa irei conectara instância Oracle, usando a Data base Control Enterprise Manager (EM) que é a ferramenta para gerenciamento de uma Instância Oracle, através de um browser.
Para ter acesso ao EM, basta abrir um. Browser de sua preferência e digitar a seguinte URL na barra de endereços:
https://host:1158/em
no meu caso a minha URL ficou https://gilvancosta-pc:1158/em/
A seguinte tela ira aparecer
Database Control Enterprise Manager (EM) tela de login
Se tudo ocorreu bem, a conexão será realizada com sucesso e o EM mostrá a Sua tela principal. A tela home exibe sete abas, que são: Home, Desempenho, Disponibilidade, Servidor, Esquema, Movimentação de Dados e Software e Suporte.
Tela principal do Data base Control Enterprise Manager (EM)
Habilitando o usuário HR
Vamos utilizar o EM para habilitar o usuário HR. O usuário HR é um dos esquemas (schemas) de exemplo que acompanham o
Oracle, Como ele é muito utilizado na documentação oficial e será utilizado Também em nossos exemplos de conexão, então vamos habilitar o usuário HR.
Clique na guia Servidor e depois no link de usuários, na seção Segurança.
Habilitando o usuário HR
O EM deverá listar todos os usuários da instância ORCL.
Localize o usuário HR, seguindo a coluna Nome do Usuário e clique no link HR. O EM então Mostrará os dados do usuário HR. Clique no botão Editar, para que possamos.
Ativá-lo.
O EM deverá listar todos os usuários da instância ORCL
Desbloqueando o usuário HR
Irei utilizar esse usuário (HR) para testar alguns comandos SQL no Banco de dados Oracle usando O SQL PLUS e o SQL Developer
Usando O Clinte SQL Plus
SQL*Plus é um programa de computador do tipo “linha de comando”, utilizado para executar comandos SQL e PL/SQL na base de dados Oracle, de maneira interativa. A documentação completa para o SQL*Plus encontra-se no síte da Oracle, os programadores e DBAs normalmente utilizam como a interface fundamental em quase toda instalação do software Oracle.
Uma maneira de você começar a utiliza-lo é abrindo o CMD do Windows e digitando:
Sqlplus usuário/senha
no meu caso ficou assim:
SQLPLUS HR/19372846
Veja a imagem Abaixo
Acessando o SQL Plus do oracle 11G
Pronto agora estamos conectados a instância Oracle (orcl) com o usuário HR podemos inserir os Nossos primeiros comandos SQL.
No comando abaixo eu faço uma consulta a tabela COUNTRIES usando o seguinte comando SQL select * from countries; veja o resultado abaixo.
Comando SQL no SQL Plus
Com isso já deu para mostrar um exemplo de conexão usando o SQL plus
Seguindo em frente….
Agora é a Vez do Oracle SQL Developer
Oracle SQL Developer
No exemplo a seguir irei usar o SQL Developer em um cenário de conexão a partir de outra máquina na rede.
O título de apresentação para quem ainda não conhece o Oracle SQL Developer, Segue abaixo um resumo explicativo que pequeno no site da Oracle.
Oracle SQL Developer
Oracle SQL Developer é uma ferramenta gratuita e totalmente suportado gráfica para desenvolvimento de banco de dados. Com o SQL Developer, você pode procurar objetos de banco de dados, executar instruções SQL e scripts SQL, editar e depurar instruções PL / SQL. Você também pode executar qualquer número de relatórios apresentados, bem como criar e salvar seus próprios. SQL Developer aumenta a produtividade e simplifica as tarefas de desenvolvimento de banco de dados.
Abaixo a janela principal do SQL Devoloper
Janela Principal do Oracle SQL Developer
Para quem vai acompanhar o teste de conexão remota vai ser necessário baixar o SQL Devoler para que seja instalada no PC que vai fazer a conexão.
O link é http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html
A versão na data corrente é a Oracle SQL Developer 3.0 (3.0.04.34)
Caso seja necessário baixe também o JDK no link abaixo, por ser um aplicativo Java o SQL Developer precisa dessa ferramenta para funcionar.
O link é http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html
Para enriquecer segue Algumas funcionalidades do Oracle SQL Developer
- 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).
Para realizar uma conexão, você precisa ter em mãos algumas informações, anote-as para quando chegarmos à outra máquina já esteja disponível e em mãos:
- 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)
Abaixo tem uma imagem do nosso cenário de estudo
Cenário de teste de conexão do oracle 11g no Windows 7
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 gilvancosta
Resolvendo 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,
todos armazenados no diretório $ORACLE_HOME/network/admin
Vamos aos detalhes
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 successfully
Soluçã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 name
Soluçã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.
Fala sério, muito bom mesmo cara..
Caraca velho. Há muito tempo tentava instalar o oracle na minha máquina e sempre tinha problemas.
Tutorial perfeito. Adorei mesmo. Parabéns!!!!!
Ótimo artigo.
Porém eu não consigo acessar via navegador.
https://nomemaquina:1158/em
Página não encontrada.
Quando tento ver o status do listener exibe a mensagem “OC4J Configuration issue. /u01/app/oracle/product/11.2.0/db_1/oc4j/j2ee/OC4J_DBConsole_[nomeinstancia] not found. ”
mesmo eu tendo seguido a configuração do artigo.
Pelo post Fabio, mas poderia explicar melhor o ERROR:
ORA-01033: ORACLE initialization or shutdown in progress pois não estou conseguindo resolver esse problema.
Parabéns pelo trabalho!!!
Parabéns pelo artigo, simples e contém praticamente todas as dúvidas iniciais.
Parabéns pelo artigo. Qualquer leigo que nunca tenha usado o Oracle poderia começar por aqui a desbravar esse mundo.
Só completando o seu artigo, no meu caso ao tentar instalar o oracle, bem no final na criação do banco de dados, estava dando a seguinte mensagem: “Falha na recuperação de credencial”.
Eu consegui resolver seguindo a dica desse blog:
“https://ferottoboni.wordpress.com/2013/04/24/dica-resolver-erro-ora-12638-falha-na-recuperacao-de-credencial/”.
Como eu não tinha muito contato com esse BD então fiquei um pouco perdido e você também comenta um pouco sobre o arquivo “sqlnet.ora”.
E para quem é leigo como eu no Oracle, vale a pena dar um estudada nessa poderosa ferramenta.
Obrigado.