check_oracle_health kann EZCONNECT

Üblicherweise ruft man check_oracle_health mit den Kommandozeilenparametern

check_oracle_health --username <user> --password <pass> --connect <sid>

auf. Voraussetzung dafür ist natürlich, dass die SID in einem Verzeichnisdienst oder in einer Datei tnsnames.ora vorhanden sein muss.

Ein Eintrag in der tnsnames.ora sieht beispielsweise so aus:

NPX1 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = dbsrv1.naprax.de)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ORCL)
    )
  )

Manchem ist bekannt, dass man dies in “flachgeklopfter” Form anstelle der SID beim Aufruf von check_oracle_health angeben kann, damit man sich die Pflege der tnsnames.ora ersparen kann.

check_oracle_health --username <user> --password <pass> --connect (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = dbsrv1.naprax.de)(PORT = 1521))(CONNECT_DATA = (SERVER = DEDICATED)(SERVICE_NAME = ORCL)))

Tatsächlich geht es aber noch viel einfacher. Verbindungsdaten lassen sich auch im folgenden Format, genannt EZCONNECT, schreiben:

Datenbankserver[:Listener-Port]/Servicename

Und so einfach sieht das dann aus:

check_oracle_health --username <user> \
                    --password <pass> \
                    --connect dbsrv1.naprax.de:1521/ORCL
Monitoring-Workshop 2017 12./13.9. Düsseldorf