it-swarm.com.de

Wie kann ich überprüfen, ob die Oracle-Datenbank aktiv ist?

Für unsere Anwendung haben wir eine Konfigurationsdatei für die Verbindung zur Oracle-Datenbank (URL, Benutzername, Passwort).

Der Start der Anwendung dauert 2-5 Minuten. Wenn etwas mit der Datenbank nicht stimmt, wird dies in den Protokollen angezeigt, aber ich muss 2-5 Minuten warten. Das ist viel Zeit.

Also möchte ich herausfinden schnell und einfach eine Möglichkeit, um festzustellen, ob die Datenbank in Ordnung und online ist.

Hast du eine Idee, wie ich das machen könnte?

14
Eugene

Wenn Sie die folgende Abfrage ausführen:

SELECT INSTANCE_NAME, STATUS, DATABASE_STATUS FROM V$INSTANCE;

Es sollte zurückkehren:

INSTANCE_NAME    STATUS       DATABASE_STATUS
---------------- ------------ -----------------
YOUR_DBASE       OPEN         ACTIVE
17
Solego

ps -ef | grep pmon

Der PMON-Prozess (Process Monitor) überprüft alle anderen Hintergrundprozesse. Anschließend müssen Sie das Alarmprotokoll auf weitere Untersuchungen überprüfen.

12
ibre5041

Das erste zuerst: Sie müssen den Benutzernamen und das Kennwort kennen, um eine Verbindung zur Datenbank für Schritt 2 herstellen zu können

  1. Überprüfen Sie, ob der Oracle-Prozess ausgeführt wird:

    Auf Un * x:

    ps -ef|grep pmon
    

    Unter Windows:

    tasklist|findstr /i Oracle
    

    wenn der Befehl in jedem Fall eine Ausgabe zurückgibt, d. h. wenn der pmon/Oracle-Prozess in Ihrer Umgebung ausgeführt wird, wird die Datenbank ausgeführt.

  2. Gehe zu Oracle_HOME/bin und Renn:

     ./sqlplus /nolog
    

    Wenn nach der Anmeldung Fehler auftreten, wird die Datenbank nicht ausgeführt:

    SQL*Plus: Release 11.2.0.1.0 Production on Sat Feb 31 21:61:61 2014
    Copyright (c) 1982, 2014, Oracle.  All rights reserved.
    Enter user-name: Oracle
    Enter password: 
    ERROR:
    ORA-01034: Oracle not available
    ORA-27101: shared memory realm does not exist
    Linux-x86_64 Error: 2: No such file or directory
    Process ID: 0
    Session ID: 0 Serial number: 0
    
4
coz

Sie sollten ein Skript verwenden/schreiben, das eine Verbindung zum Server herstellt, und prüfen, ob Ihre Datenbank online ist. Hier werden die Oracle-Leute helfen. Führen Sie es einfach über ein Batch-/Shell-Skript aus (siehe Ausführen von Skripten über die SQL-Befehlszeile ) und sehen Sie, wie es ausgegeben wird. Wenn alles in Ordnung ist, haben Sie Ihre Antwort.

Oder versuchen Sie es einfach mit dem SQL * Plus-Client.

3
Marian

Es kann sinnvoll sein, auch eine tatsächliche Abfrage für die Datenbank auszuführen. Dies stellt nur sicher, dass Sie sowohl eine Verbindung herstellen als auch abfragen können. Ich würde es sehr einfach und schnell machen, wie zum Beispiel:

SELECT pk_column 
  FROM sometable
WHERE rownum <= 1
0
Richard

PMON überprüft alle bg-Prozesse

ps -ef|grep pmon

Außerdem können wir überprüfen, ob die Datenbank ausgeführt wird oder nicht.

ps -ef|grep mydb
0
user3818965