Eu quero me conectar a um banco de dados oracle localizado em outro host usando sqlplus. Esta página sugeriu adicionar um item em meus tnsnames para se conectar a esse banco de dados
local_SID =
(DESCRIPTION =
(ADDRESS = (PROTOCOL= TCP)(Host= hostname.network)(Port= 1521))
(CONNECT_DATA = (SID = remote_SID))
)
e depois use isso no sqlplus
sqlplus user/pass@local_SID
No entanto, nas minhas circunstâncias, não é possível modificar os tnsnames locais. É possível se conectar a um banco de dados remoto apenas usando o argumento sqlplus sem precisar alterar tnsnames? Algo como
sqlplus user/pass@[email protected] ;( I know, this one is not valid)
Talvez, e isso pode depender do ambiente de linha de comando que você está usando, você precisa citar a string, algo como
ou
Você pode usar a conexão fácil para isso:
Para habilitar o easy connect em sua máquina, você precisa adicioná-lo ao
NAMES.DIRECTORY_PATH
in sqlnet.ora, por exemplo:Se o seu ouvinte estiver em uma porta não padrão, use
[email protected]:port/...
.Na verdade, parece que você precisa fornecer um nome de serviço, não um SID; eles podem ser os mesmos, mas se não, você precisará obter isso do servidor.
Crie uma cópia do arquivo tnsnames.ora em um diretório no qual você possa gravar, modifique o arquivo adequadamente e defina a variável de ambiente TNS_ADMIN para o local desse diretório.
por exemplo:
No sistema Unix/Linux, você pode usar os arquivos de configuração de nível de usuário para substituir as entradas de nível de sistema.
Os arquivos de configuração no nível do sistema podem ser encontrados no diretório
$TNS_ADMIN
. Se a variávelTNS_ADMIN
não estiver definida, eles serão pesquisados no diretório$ORACLE_HOME/network/admin
.Os arquivos de configuração de nível de usuário não substituem os arquivos de configuração de nível de sistema como um todo (como o
TNS_ADMIN
diretório substitui todo o$ORACLE_HOME/network/admin
diretório), mas adicionam ou alteram entradas dos arquivos de configuração de nível de sistema. Se existir uma entrada em um arquivo de configuração em nível de usuário, esta será usada; se não existir no arquivo de configuração em nível de usuário, será usada a entrada do arquivo de configuração em nível de sistema.