Configuração Virtualbox - Oracle Linux Server - Oracle 11g

DBA Geral (instalação, configuração do banco, scripts do Sql*Plus, shell scripts, batch scripts, etc...)
Responder
Avatar do usuário
wbarrence
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 55
Registrado em: Qui, 06 Out 2011 10:30 am
Localização: SP
--
WABS

Olá Pessoal,

Eu criei uma máquina virtual com o VirtualBox utilizando o Sistema Operacional Oracle Linux Server 6.3 e instalei e configurei o Oracle 11g na MV.

Eu gostaria de acessar o banco de dados que está na MV através do Windows 7 (sistema operacional hospedeiro) pelo TNSNAMES.ORA? Mas não estou conseguindo, só estou conseguindo acessar o servidor de bando de dados através do Putty.

Alguém do fórum já tentou fazer isso?


Att,
Avatar do usuário
gpereira
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 61
Registrado em: Sáb, 10 Dez 2011 10:56 am
Gustavo Antonio Pereira
OCA Oracle Database 10g Administrator Certified Associate

Ola amigo,

Acessando via putty, creio que esteja conectando na maquina linux e acessando banco local.

Para acesso remoto, via rede, precisa primeiramente configurar e verificar se seu listner esta funcionando.

Listner, nada mais é que um gatway para instancia Oracle de todas as conexões não locais, ou seja, sem ele não é possivel uma conexão remota.

Sua configuração e "status" pode ser verificada através do Enterprive Manager, caso goste de colocar a mão na massa, via comandos.

Sua localização fisica, normamente esta localizada em: [ORACLE_HOME] /network/admin .

Para verificar status de seu listner, localmente no servidor: lsnrctl status

Para verificar iniciar seu listner, localmente no servidor: lsnrctl start

Contudo, primeiro passo é a configuração de seu listner para acesso remoto e garantia que ele esteja configurado e executando normalemnte.

Caso listner esteja configurado corretamente e queira agora partir para o passo da conexão remota, vem a pergunta.. Esta tentando conexão no Oracle por algum software especifico?

Caso seja SQLPLUS, tente primeiramente conexão da seguinte forma (conexão facil):

Selecionar tudo

CONNECT [USER]/[PASS]@[HOSTNAME]:[PORTA_LISTNER]/[SERVICENAME]
Desta forma, garante que a conexão esta sendo estabelecida sem necessidade de configuração do TNSNAMES.

Funcionando, pode então partir para configuração do TNSNAMES, onde você dara apenas um apelido para conexão remota, tornando facil a string de conexão.


Abraços.
Avatar do usuário
wbarrence
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 55
Registrado em: Qui, 06 Out 2011 10:30 am
Localização: SP
--
WABS

Fala Gustavo,

No caso o meu listener está funcionando corretamente:

Selecionar tudo

[oracle@user-pc1 ~]$ lsnrctl status

LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 09-OCT-2012 14:52:30

Copyright (c) 1991, 2009, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=user-pc1.oracle)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Start Date                09-OCT-2012 14:50:25
Uptime                    0 days 0 hr. 2 min. 5 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /home/oracle/product/11.2.0/db_1/network/admin/listener.ora
Listener Log File         /home/oracle/diag/tnslsnr/user-pc1/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=user-pc1.oracle)(PORT=1521)))
Services Summary...
Service "orcl" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orclXDB" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
The command completed successfully
A partir da máquina local, quando eu dou um ping, também funciona corretamente:

Selecionar tudo

C:\Users\user>ping 172.16.1.147

Disparando 172.16.1.147 com 32 bytes de dados:
Resposta de 172.16.1.147: bytes=32 tempo=1ms TTL=64
Resposta de 172.16.1.147: bytes=32 tempo<1ms TTL=64
Resposta de 172.16.1.147: bytes=32 tempo=1ms TTL=64
Resposta de 172.16.1.147: bytes=32 tempo<1ms TTL=64

Estatísticas do Ping para 172.16.1.147:
    Pacotes: Enviados = 4, Recebidos = 4, Perdidos = 0 (0% de
             perda),
Aproximar um número redondo de vezes em milissegundos:
    Mínimo = 0ms, Máximo = 1ms, Média = 0ms
Só que quando testo o alias do banco ele dá a falha abaixo:

Selecionar tudo

C:\Users\user>tnsping vbox

TNS Ping Utility for 32-bit Windows: Version 11.2.0.1.0 - Production on 09-OUT-2012 15:01:02

Copyright (c) 1997, 2010, Oracle.  All rights reserved.

Arquivos de parÔmetros usados:
C:\app\user\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 = 172.16.1.147)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl)))
TNS-12535: TNS:operaþÒo sofreu timeout
Avatar do usuário
gpereira
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 61
Registrado em: Sáb, 10 Dez 2011 10:56 am
Gustavo Antonio Pereira
OCA Oracle Database 10g Administrator Certified Associate

Consegue conexão ao banco de dados da forma "facil" ?

Selecionar tudo

CONNECT [USER]/[PASS]@[HOSTNAME]:[PORTA_LISTNER]/[SERVICENAME]
Lembre que o TSNAME não é essencial para uma conexão remota, é apenas um facilitador que cria um apelido para sua string de conexão.

Seria legal que verificasse se a porta configurada no LISTNER do servidor esta liberada no firewall do servidor e de sua estação.
Avatar do usuário
gpereira
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 61
Registrado em: Sáb, 10 Dez 2011 10:56 am
Gustavo Antonio Pereira
OCA Oracle Database 10g Administrator Certified Associate

gpereira escreveu:Consegue conexão ao banco de dados da forma "facil" ?

Selecionar tudo

CONNECT [USER]/[PASS]@[HOSTNAME]:[PORTA_LISTNER]/[SERVICENAME]
Lembre que o TSNAME não é essencial para uma conexão remota, é apenas um facilitador que cria um apelido para sua string de conexão.

Seria legal que verificasse se a porta configurada no LISTNER do servidor esta liberada no firewall do servidor e de sua estação.

Complementando...

Não que você não deva configurar o TSNAME, muito pelo contrario, porem o problema pode estar antes disso ..
Avatar do usuário
wbarrence
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 55
Registrado em: Qui, 06 Out 2011 10:30 am
Localização: SP
--
WABS

Na primeira tentativa dá um timeout de conexão, e na segunda e terceira tentativa dá um erro no adaptador de protocolo. A porta do listener é 1521 neste servidor do virtualbox, mesmo arquivo tnsnames.ora há outras portas 1521 configuradas, mas em outros servidores que estão funcionando normalmente.

Selecionar tudo

C:\Users\user>sqlplus hr/hr@172.16.1.147:1521/orcl

SQL*Plus: Release 11.2.0.1.0 Production on Ter Out 9 15:31:40 2012

Copyright (c) 1982, 2010, Oracle.  All rights reserved.

ERROR:
ORA-12170: TNS:Ocorreu timeout da conexão


Informe o nome do usuário: hr
Informe a senha:
ERROR:
ORA-12560: TNS:erro de adaptador de protocolo


Informe o nome do usuário: hr
Informe a senha:
ERROR:
ORA-12560: TNS:erro de adaptador de protocolo


SP2-0157: Conexão ao ORACLE impossível após 3 tentativas, saindo SQL*Plus
Como eu faço para verificar se a porta está liberada no firewal?

att,
Avatar do usuário
gpereira
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 61
Registrado em: Sáb, 10 Dez 2011 10:56 am
Gustavo Antonio Pereira
OCA Oracle Database 10g Administrator Certified Associate

To meio enferrujado em SO.. rs

Desabilite e veja se o problema e mesmo o firewall..

De uma olhada no link abaixo..

http://docs.oracle.com/cd/E20815_01/htm ... gisry.html
Avatar do usuário
wbarrence
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 55
Registrado em: Qui, 06 Out 2011 10:30 am
Localização: SP
--
WABS

Agora eu consegui resolver o problema.

Entre no servidor e dei o comando: iptables -F (não sei bem o que significa) na máquina virtual.

E em seguida dei um TNSPING VBOX que é o alias do servidor.

E funcionou:

Selecionar tudo

C:\Users\user>tnsping vbox

TNS Ping Utility for 32-bit Windows: Version 11.2.0.1.0 - Production on 09-OUT-2012 16:11:53

Copyright (c) 1997, 2010, Oracle.  All rights reserved.

Arquivos de parÔmetros usados:
C:\app\user\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 = 172.16.1.147)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl)))
OK (0 ms)
Valeu Gustavo!!!

Att,
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 6 visitantes