sql >> Database >  >> RDS >> Oracle

Hoe te controleren of sqlplus verbinding kan maken?

Dankzij de referentie van @Kacper kon ik deze sqlplus /nolog aanpassen naar mijn geval; hier is het idee:

  1. open sqlplus alleen zonder verbinding
  2. stel een specifieke retourcode in op SQLERROR - dit is wat er gebeurt als connect mislukt
  3. retourcode kan zoals gewoonlijk worden verzameld in het bellerscript:

a.sh

sqlplus /nolog << EOF
 WHENEVER SQLERROR EXIT 50
 WHENEVER OSERROR EXIT 66
 connect /@${MISTERY_DB}
 exit;
EOF

Dan de oproep:

/ju $ export MISTERY_DB="eg_NON_EXISTING_DB"
/ju $ a.sh
SQL*Plus: Release 11.2.0.4.0 Production on Tue Nov 29 08:43:44 2016
Copyright (c) 1982, 2013, Oracle.  All rights reserved.
SQL> SQL> SQL> ERROR:
  ORA-12154: TNS:could not resolve the connect identifier specified
/ju $ echo $?
50

Ook gerelateerd: Maak verbinding met sqlplus in een shellscript en voer SQL-scripts uit



  1. Hoe transaction_timestamp() werkt in PostgreSQL

  2. Vervang niet-ASCII-tekens in MYSQL

  3. Trigger gebaseerd op sysdate

  4. Voortgang weergeven tijdens doInbackground