Oracle
 sql >> Base de données >  >> RDS >> Oracle

Masquer le mot de passe en texte brut avec la ligne de commande sqlplus

Vous pouvez utiliser un heredoc :

sqlplus -s /nolog <<!EOF
connect SOME_USERNAME/[email protected]:1500/SOMESID
@some.sql
!EOF

Le connect et @some.sql sont traités comme un flux d'entrée vers SQL*Plus, comme si vous les aviez saisis dans une session interactive, et ne font pas partie de l'appel initial à l'exécutable - de sorte que les détails de connexion n'apparaissent pas dans ps sortie.

Vous pouvez également utiliser des variables si vous le souhaitez, d'ailleurs, car l'expansion de la variable se produit dans le shell avant qu'il ne transmette le flux à l'exécutable - donc même si SQL*Plus ne comprendrait pas, dites $PASSWD , se référant à cela dans l'heredoc fonctionne et la valeur réelle de la variable est transmise.