Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Wie kann ich überprüfen, ob sqlplus eine Verbindung herstellen kann?

Dank der von @Kacper gegebenen Referenz konnte ich dieses sqlplus /nolog anpassen zu meinem Fall; Hier ist die Idee:

  1. öffne sqlplus nur ohne Verbindung
  2. setzen Sie einen bestimmten Rückgabecode auf SQLERROR - das passiert beim connect scheitert
  3. Rückgabecode kann wie gewohnt im Aufruferskript abgeholt werden:

a.sh

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

Dann der Aufruf:

/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

Auch verwandt: Verbinden Sie sich mit sqlplus in einem Shell-Skript und führen Sie SQL-Skripte aus