Suponha que seu banco de dados esteja no nó com o nome de host "dbhost"
Em primeiro lugar, você pode pingar dbhost? Se não, então é rede não Oracle.
Se você puder, pode fazer telnet para a porta 1521 naquele host. Caso contrário, é um problema de estilo de firewall ou não há ouvinte do Oracle em execução no nó remoto (ou é uma porta diferente).
Supondo que esteja em execução, você deseja um SID ou SERVICE_NAME do DBA. Eles são geralmente os mesmos e, se for um sistema * nix, fazer um " ps -ef | grep smon
" mostrará o (s) SID (s) das instâncias em execução. O banco de dados gratuito do Express Edition normalmente tem o SID do XE
Se 1521 estiver recebendo tráfego, tente
sqlplus user/pass@dbhost:1521/XE
substituindo o XE por qualquer que seja seu SID.
=============================================== ============================= Após comentário abaixo. Eu suspeito de um firewall em algum lugar.
No final do servidor de banco de dados, o ouvinte deve estar ouvindo na porta 1521. Há configurações em sqlnet (tcp_invited_nodes, eu acho) que podem atuar como um firewall, informando ao ouvinte que apenas aceitam conexões de endereços IP da lista de permissões (ou excluem aqueles de IPs na lista negra).
Se o ouvinte aceitar a conexão, ele tentará encontrar o SID ou SERVICE que a conexão está solicitando. Se tal serviço não existir, ele retornará um erro.
Se o serviço existir, o ouvinte tentará passar a conexão ao banco de dados, retornando uma porta diferente através da qual a conexão realmente conversará com o banco de dados (ou seja, a porta 1521 será usada somente durante a conexão inicial). [Há uma exceção para conexões de servidor compartilhado, mas elas são incomuns.]
Potencialmente, o banco de dados pode estar em um modo em que não aceita conexões (modo RESTRICTED ou no processo de STARTUP ou SHUTDOWN). O banco de dados também executa a autenticação (por exemplo, verificando o nome de usuário e a senha).
Meu palpite é que o ouvinte está rejeitando a conexão com base em alguma configuração ou (mais provavelmente) que está falhando em passar a nova conexão de rede através do NAT. Tente usar o OSX Instant Client do host e veja se isso é possível. O cliente instantâneo é muito bonito e descompacta e executa, por isso não é uma instalação grande e não precisa de direitos de administrador ou qualquer coisa.
Se o host funcionar e a VM não funcionar, tente o Bridged em vez do NAT. Isso significa que o convidado da VM obtém seu próprio endereço IP e procura, na rede, como um dispositivo independente, em vez de se esconder atrás do host da VM, como ocorre no NAT.
PS. Fiz um wiki da comunidade, como outras pessoas podem contribuir