Conecte-se ao banco de dados Oracle hospedado em uma máquina virtual a partir da máquina host

1

Bom dia,

Acabei de configurar uma máquina virtual (usando o VirtualBox) do Oracle Linux com o Oracle Database nela. Depois de configurá-lo, posso verificar que posso me conectar a ele usando o sqlplus (sqlplus da Máquina Virtual)

$ sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on Sat Apr 21 14:32:48 2012

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

SQL> conn myusername/mypassword
Connected.
SQL> select count(1) from my_table;

  COUNT(1)
----------
    73

SQL> 

No entanto, quando tento conectar usando o JDeveloper da máquina host, estou recebendo

Status : Failure - Test failed: IO Error: The Network Adapter could not established the connection.

Eu tentei conectar-me a outros bancos de dados da nossa intranet a partir do JDeveloper da máquina host e eles foram bem-sucedidos. Além disso, eu tentei desligar o iptables da máquina virtual (apenas no caso).

sudo /etc/init.d/iptables stop

Até agora, nada funciona.

Alguma idéia?

Obrigado,

Franz See

EDITAR: Update: Acabei de instalar o sqlplus na minha máquina host ( note para os outros: instantclient 10.2.0.4.0 64bit não funciona no mac. Use o 32-bit em vez mesmo se o seu Mac é de 64 bits como o meu. ), e eu tentei conectar ao meu oracle db na minha máquina virtual e conseguiu! No entanto, ainda não consigo me conectar usando o JDeveloper.

    
por Franz See 21.04.2012 / 08:41

2 respostas

0

Eu descobri o que "Status: Falha - teste falhou: Erro de IO: O adaptador de rede não pôde estabelecer a conexão." significa. Como se constatou, não foi possível estabelecer a conexão devido à configuração do proxy.

    
por 03.06.2012 / 21:02
1

Na máquina que tem sqlplus instalado, no seu caso o host da máquina virtual, você precisa defina as variáveis ambientais do Oracle antes de se conectar a outros servidores do Oracle Database. Por exemplo:

setenv ORACLE_SID orcl
setenv ORACLE_HOME /u01/app/oracle/product/11.1.0/db_1
setenv LD_LIBRARY_PATH $ORACLE_HOME/lib:/usr/lib:/usr/dt/lib:/usr/openwin/lib:/usr/ccs/lib

Pode ser necessário criar manualmente a pasta administrativa e um arquivo tnsnames.ora nessa pasta.

O processo de conexão a um servidor Oracle remoto não é dirigido por um assistente e exige algum trabalho manual de sua parte. O documento de ajuda vinculado acima o guiará pelo que você precisa para seu ambiente específico.

EDIT 1

Desculpe, acho que entendo melhor as coisas agora. Vamos tentar algo diferente.

Acho que o ouvinte da instância na máquina virtual não está escutando no endereço IP. Na máquina virtual, vá para a página Administração do Net Services na interface da Web do Oracle Enterprise Manager. Edite o ouvinte ( LISTENER_localhost ), adicione um ouvinte e selecione para usar o endereço IP da instância. Mantenha a porta 1521 como padrão. Você será perguntado se deseja reiniciar o serviço. Por favor, faça isso. Então você deve poder se conectar a partir do seu host (ou de qualquer outra máquina).

EDIT 2

No JDeveloper, usando o assistente de conexão na parada 3 de 4, use o Nome do Serviço, não o SID.

    
por 21.04.2012 / 08:58