Estou usando o Toad para conectar meu banco de dados e está funcionando bem para mim. Mas quando tento me conectar com a mesma credencial, recebo a mensagem de erro conforme mostrado abaixo:
ORA-12154 TNS: could not resolve the connect identifier specified
Passos:
- Promt de comando aberto
- Alcance o caminho do SQLPLUS ( C:\programs\Oracle\Ora11g\BIN )
- C:\programs\Oracle\Ora11g\BIN\sqlplus username@schema_name
Digite a senha :
ERRO: ORA-12154 TNS: não foi possível resolver o identificador de conexão especificado
Mas quando eu abro isso com o dono do esquema, funciona para mim
C:\programs\Oracle\Ora11g\BIN\sqlplus schema_name@schema_name
Digite a senha:
Conectado a :......................
Então, minha pergunta é por que meu nome de usuário não consegue conectar esse esquema específico, enquanto o proprietário desse esquema pode se conectar. Nota: Eu posso me conectar a esse esquema com meu nome de usuário com Toad, mas não com sqlplus
O meu TNSNAME.ORA
está na TNS_ADMIN
pasta
Por favor, me ajude a sair disso.
Portanto, você não precisa especificar o caminho completo ao executar
sqlplus.exe
:Defina sua
%TNS_ADMIN%
variável para o caminho completo da pasta relevante (C:\programs\Oracle\Ora11g\TNS_ADMIN
?). As instruções para fazer isso estão a um google de distância. Ao mesmo tempo, certifique-se de que está%ORACLE_HOME%
definido comoC:\programs\Oracle\Ora11g
e que você adicionou a ele.%PATH%
C:\programs\Oracle\Ora11g\bin
O problema que você realmente está tendo é por causa dos parâmetros que você está passando para o sqlplus.
Você tem feito:
O que está errado e interpretado pelo sqlplus como:
Além disso, no Oracle, o proprietário de um esquema (daí o nome do esquema) é o nome do usuário. Obviamente, concessões podem ser concedidas a outros usuários para executar DML/DDL em outros esquemas, mas você ainda precisa fazer login com um usuário com direitos suficientes. (Os logins de proxy existem, assim como
alter session set current_schema=blah
, mas ambos estão além do escopo desta resposta).Na verdade, através do sapo, você pode fazer o login porque
ORACLE_HOME
foi definido lá. mas quando você tenta usar$ORACLE_HOME/bin
, sua casa não está configurada corretamente.Para resolver isso, primeiro exporte
$ORACLE_HOME
e$ORACLE_SID
depois tente, deve estar tudo bem.