Wie kann man herausfinden, ob eine Datenbank verwendet wird?

Wie kann man herausfinden, ob eine Datenbank verwendet wird?

Es kommt immer wieder die Frage auf durch Sicherung/Rücksicherung/Temp-Datenbanken bei Update etc., dass es mehrere enaio Datenbanken gibt. Manchmal wird zur Installation in eine leere Datenbank installiert und später wird ein Klon der produktiven Datenbank verwendet.
Die Frage ist nun, wie bekommt man heraus, ob die Datenbank in Benutzung ist? 

Dazu gibt es mehrere Methoden und Möglichkeiten direkt bei der Datenbank. Sehr oft bestehen aber nicht genügend Rechte zu prüfen, wer sich mit der Datenbank verbunden hat.
Sehr einfach geht es über SQL-Anfragen der enaio Tabellen. 

Tabelle SERVER beinhaltet die Server, die mit dieser Datenbank arbeiten dürfen, inklusive IP-Adresse und Dienstname. 
Tabelle OSPINGTABLE wird - solange der enaio Dienst läuft - permanent von unserem Dienst aktualisiert. 
Die Prüfung der Datenbankversion kann auch hilfreich sein, Tabelle OSVERHIST. Meist genügen bereits die Informationen zu den Tabellen SERVER und OSPINGTABLE.  

Schritt-für-Schritt-Anleitung

  1. ODBC-Tool aufrufen, z. Bsp. MSSQL Management Studio oder SQL Developer oder Winsql.exe
  2. Statements absetzen und das Ergebnis prüfen: 
    SELECT * FROM SERVER; 
    SELECT * FROM OSPINGTABLE; 
    SELECT * FROM OSVERHIST; 
  3. Beide Ergebnisse ansehen:
    1. Tabelle SERVER:
      Stehen bei SERVER bekannte Server? Falls ja, bitte noch Punkt 3.b) prüfen 
      Stehen hier alte Server, die bereits abgeschaltet sind, wird die Datenbank nicht verwendet. 
    2. Tabelle OSPINGTABLE:
      Sollte der Inhalt leer sein und der enaio Dienst ist gestartet, wird diese Datenbank nicht verwendet.  
      Werden Einträge mit alten Datumsangaben angezeigt, wird die Datenbank nicht verwendet. 
      Beinhaltet die Tabelle OSPINGTABLE aktuelle Einträge, wird die Datenbank verwendet.  
    3. Tabelle OSVERHIST: 
      Steht hier die aktuelle Version, wird die Datenbank verwendet, wenn OSPINGTABLE aktuelle Einträge enthält 
      Steht hier "nur" eine alte Version, wird die Datenbank nicht verwendet. Der enaio Dienst könnte damit nicht starten. 
      Wurde ein Update ausgeführt und hier steht nur die aktuelle Version, kann es sein, dass dies nur eine Temp-Datenbank war. Bei Update stehen immer alle Versionen in dieser Tabelle, die jemals ausgeführt wurden. 


Beispiele:

  1. select * from server 
    id          name                                               comstring                                          port        instance                                           flag        group_id    account_id  osstorage abochecked  
    ----------- -------------------------------------------------- -------------------------------------------------- ----------- -------------------------------------------------- ----------- ----------- ----------- --------- ----------- 
    3           SVR001                                            10.10.36.82                                       4000        ENAIO                                              1           3           8           444342413 1632117220  
    Wenn der aktuelle enaio Server nicht SVR001 ist, wird diese nicht verwendet. Man kann auch den Wert bei abochecked prüfen (über den enaio Admin und Tools). Also: 1632117220 = 20.09.2021 05:53.40 

    Da dieser Wert nicht aktuell ist, ist dies mit höchster Wahrscheinlichkeit nicht in Verwendung. Sicherheitshalber noch OSPINGTABLE prüfen. 
     
  2. select * from ospingtable
     serverid    lastping                         lastpingtime serverstatus
    ----------- -------------------------------- ------------ ------------
    3           Mon Sep 20 07:54:09 2021         1632128049   1            
    >> Diese Datenbank wird nicht verwendet. Hier würde sonst ein aktuelles Datum stehen. 

  3. select * from osverhist;
    osverid                          installed               version                          majorversion minorversion setupversion 
    -------------------------------- ----------------------- -------------------------------- ------------ ------------ ------------ 
    DE4C47AC1A3F46D5BC5EB166EC1754BF 2022-09-23 00:00:00.000 10.10.22129                      10           10           22129        
    Wenn es ein Update mit Serverumzug war, dann ist dies ein Indiz, dass diese Datenbank nicht verwendet wird. Hier würden sonst auch die vorherige(n) Version(en) stehen.

     

 

Ein guter Test ist es, ehe man die Datenbank löscht, die Datenbank offline zu schalten. Sollte ein aktueller enaio Server mit der Datenbank verbunden sein, wird er mit der Offline-Schaltung nicht mehr funktionieren. 

Verwandte Artikel