Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meus próprios tnsnames.ora
Eu quero me conectar a uma base de dados de oráculos localizada em outro host usando sqlplus. Esta página sugeriu adicionar um item nos meus tnsnames para conenctar a essa base de dados
local_SID =
(DESCRIPTION =
(ADDRESS = (PROTOCOL= TCP)(Host= hostname.network)(Port= 1521))
(CONNECT_DATA = (SID = remote_SID))
)
e depois usar isso em sqlplus
sqlplus user/pass@local_SID
No entanto, nas minhas circunstâncias não é possível modificar os tnsnames locais. É possível conectar-se a uma base de dados remota apenas usando o argumento sqlplus sem ter que mudar os nomes dos tnsnames? Algo como
sqlplus user/pass@remote_SID@hostname.network ;( I know, this one is not valid)
81
3
Talvez, e isto pode depender do ambiente de linha de comando que você're está usando, você precisa citar a string, algo como
ou
Você pode usar easy connect para isso:
Para habilitar easy connect em sua máquina, você precisa adicioná-lo ao
NAMES.DIRECTORY_PATH
em sqlnet.ora, por exemplo:Se o seu ouvinte estiver em uma porta sem defeito, utilize
...@hostname.network:port/...
.Na verdade parece que você tem que 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 para o qual você possa escrever, modifique o arquivo de acordo, e então defina a variável de ambiente TNS_ADMIN para a localização desse diretório.
por exemplo: