Gostaria de saber como o identificador TNS pode ser usado dentro de um script SQL. Neste exemplo
$ sqlplus MY_USER/pswd@TNSID @script.sql par1 par2
Eu gostaria de obter o TNSID como uma string para usá-lo, script.sql
mas não tenho ideia de onde encontrá-lo.
O objetivo é se reconectar como um usuário diferente na mesma instância.
Claro, passe como parâmetro também.
Então você pode usar o abaixo no script:
Você pode definir o ambiente (TNS_ALIAS) antes de iniciar o sqlplus.
Primeiro vamos criar dois usuários (a e b)
No Linux, defina a variável de ambiente TWO_TASK assim:
Você verá no prompt do sqlplus o usuário com o qual você está conectado.
Como uma observação lateral, definir sua conexão com um TNS_ALIAS dentro de um script sql vai te incomodar em um ponto quando você perceber que seu TNS_ALIAS está apontando para um banco de dados PROD em vez de um banco de dados TEST.
O equivalente a TWO_TASK no Windows é LOCAL ala
PS>$env:LOCAL = "XEPDB1"