Erro de login do sqlplus ao usar variáveis bash: SP2-0306: opção inválida
Tenho um script bash que se conecta a um banco de dados oracle 10
Em uma primeira etapa, são necessárias algumas variáveis de um arquivo "config" com o seguinte comando
. /path/to/my/configfile.ini
No arquivo de configuração, existem algumas variáveis:
export USRID=myUser
export USRID_PASS=myPassword
export USR_PASS="$USRID/$USRID_PASS@myDatabase"
Então ele realmente se conecta através do sqlplus usando o comando:
sqlplus -s $usr_pass
roblemas de segurança e design @Terrible de lado (esse script existe há 5 anos). Na verdade, ele está fazendo seu trabalho em um de nossos servidores UNIX, mas não em outr
Quando executo o script combash -x
, Vejo que o comando foi expandido para:
sqlplus -s myUser/myPassword@myDatabase
... que deve funcionar bem (e está realmente funcionando em um servidor), mas a resposta no servidor com falha é:
ERROR: ORA-01017: nome de usuário / senha inválidos; logon negad
SP2-0306: Opção inválida. Uso: CONN [ECT] [logon] [AS {SYSDBA | SYSOPER}] em que :: = [/] [@] | SP2-0306: opção inválida.
Acho que tem mais a ver com o bash do que com o oracle, mas não sou especialista em bash. Faltam algumas configurações ou detalhes?
EDITAR
Tentando resolver um pouco mais o problema, agora estou executando duas versões do script em um terceiro servidor de desenvolvimento e, em testes diferentes, o login funciona se eu fizer isso com:
sqlplus -s $usrid/$usrid_pass@myDatabase
mas não quando eu tento:
sqlplus -s $usr_pass
Então é um pouco chato.
Além do mais, terei que verificar o processo de sincronização do arquivo de configuração ... Avisarei quando chegar a algo novo. Obrigado a todos.