Forum Notenmanager
Nach Restore kein Zugriff auf Datenbank - Druckversion

+- Forum Notenmanager (https://forum.notenmanager.net)
+-- Forum: Schulversion (https://forum.notenmanager.net/forumdisplay.php?fid=22)
+--- Forum: PostGreSQL-Datenbank (https://forum.notenmanager.net/forumdisplay.php?fid=42)
+--- Thema: Nach Restore kein Zugriff auf Datenbank (/showthread.php?tid=7785)



Nach Restore kein Zugriff auf Datenbank - bengym - 05.02.2019

Hallo,

wegen des Wechsels des Servers von 2008 auf 2012 wurde gleichzeitig auch von PG 9.5 auf 10.6 gewechselt. Zuvor wurden alle Datenbanken (Notenmanager, ASV, SABS2) unter 9.5 gesichert.
Auf Server 2012 wurde PG 10.6 installiert, die Datenbanken wieder hergestellt.
Auf dem Server wurden die Anwendungen zu den Programmen neu installiert, bei den Clients die IP-Adressen angepasst.
Ergebnis: ASV läuft, SABS2 läuft, Notenmanager läuft NICHT.
Nach mehreren Versuchen habe ich zuletzt die Datenbank nach der Anleitung im Desaster-Recovery wieder hergestellt. Ohne Erfolg.
Aber:
Vor der Wiederherstellung konnte ich auf die Datenbank aus dem PGSetup zugreifen, habe mich da aber nicht angemeldet, da ich ja das Backup habe.
Nach der Wiederherstellung erhalte ich immer den Fehler: sys_settings existiert nicht.
Die Log-Datei mit beiden Zugriffen ist angehängt. (Warum steht bei der leeren DB Schulart: RS, obwohl ich Gymnasium ausgewählt hatte?).

Vielen Dank für hoffentlich rasche Hilfe, da die Kollegen für eine Konferenz morgen die aktuellen Notenstände benötigen...

nixweiss  Ziemlich ratlos, Patrik


RE: Nach Restore kein Zugriff auf Datenbank - NM-Himself - 05.02.2019

Hallo Patrik,

hatte leider Nachmittagsunterricht, daher erst jetzt eine Reaktion. NMAdmin hat offensichtlich keine Zugriffsrechte auf die Datenbank. Frage: habt ihr auch die Benutzerkonten auf den neuen Server übertragen?

Wenn du mit pgAdmin4 auf den Server schaust gibt es Abschnitt Login/Group Roles u. a. den Benutzer postgres. In dieser Liste sollte auch ein Eintrag "nmuser" sowie "nmsvXXXX" vorhanden sein. Für diesen Benutzer nmsvXXXX muss in der pg_hba.conf (liegt im Datenverzeichnis von Postgres) ein Eintrag (wie unter http://nmhilfe.notenmanager.net  Notenmanager Schulversion > Administrator Handbuch > Installation > PostgreSQL als Datenbank >PostgreSQL konfigurieren beschrieben) vorhanden sein.

Über diese Datei werden für alle Clients die Zugriffsrechte auf die verschiedenen Datenbank geregelt.

Andere Möglichkeit: wenn ihr den Benutzer mit NMPGSetup neu angelegt habt stimmt vielleicht das Passwort in der nmadmin.conf nicht mehr.

Genaueres sagen dir die Logdateien von Postgresql. Die liegen ebenfalls im Datenverzeichnis, Unterverzeichnis "log". Dort steht dann in der Regel, warum die Anmeldung an den Server verweigert wurde.

Und zuletzt: wenn ihr die pg_hba.conf ändert müsst ihr den Postgresql-Dienst neu starten, damit die Änderungen übernommen werden.

Gruß
Stephan


RE: Nach Restore kein Zugriff auf Datenbank - gelöst - bengym - 06.02.2019

Hallo Stefan,

die "späte Reaktion" ist kein Problem, habe erst mal wieder die DB auf dem alten Server aktiviert (der läuft ja noch).

"keine Zugriffsrechte auf die Datenbank": Die Benutzerkonten sind auch auf dem neuen Server und die entsprechenden Einträge in pg_hba.conf, da ich in diese die Einträge mit Anpassung der IP-Adresse übernommen habe.
Ich habe mir deshalb mit NMPGSetup Konfigurationsdateien mit bewußt falschem Passwort anlegen lassen (tolle Funktion!) und damit den Zugriff getestet: Es kommt eine ganz andere Fehlermeldung die auch exlpizit das falsche Passwort als Ursache erkennen lässt. Daran liegt es also nicht.
Ich habe auch den Zugriff auf die mit NMPGSetup erstellte leere DB getestet: Funktioniert problemlos, aber leider nicht mit der wiederhergestellten DB.

In den Logdateien von Postgresql steht nichts von einer verweigerten Anmeldung. Nach Neustart von Postgres und Start von NMAdmin steht folgendes im Log von Postgres:
2019-02-05 23:36:47.369 CET [5956] LOG:  Datenbanksystem wurde am 2019-02-05 23:36:45 CET heruntergefahren
2019-02-05 23:36:47.606 CET [5196] LOG:  Datenbanksystem ist bereit, um Verbindungen anzunehmen
2019-02-05 23:36:59.773 CET [6296] FEHLER:  Relation »sys_settings« existiert nicht bei Zeichen 22
2019-02-05 23:36:59.773 CET [6296] ANWEISUNG:  SELECT count(*) FROM sys_settings
2019-02-05 23:36:59.777 CET [6296] FEHLER:  Relation »sys_settings« existiert nicht bei Zeichen 13
2019-02-05 23:36:59.777 CET [6296] ANWEISUNG:  Insert Into sys_settings(notenlocked) VALUES ('f')
2019-02-05 23:36:59.803 CET [4844] FEHLER:  Relation »sys_settings« existiert nicht bei Zeichen 15
2019-02-05 23:36:59.803 CET [4844] ANWEISUNG:  SELECT * FROM sys_settings
2019-02-05 23:36:59.825 CET [4844] FEHLER:  Relation »lehrkraefte« existiert nicht bei Zeichen 236
2019-02-05 23:36:59.825 CET [4844] ANWEISUNG:  SELECT kuerzel, name, vorname, geschlecht, dienstbezeichnung, titel, passwort, logedin, heimversion, notenberechtigung, adminLevel, lk_id, pwdh, changepwd, name_nachgestellt, name_vorangestellt, asv_id, zeugnisname1, zeugnisname2 FROM lehrkraefte ORDER BY kuerzel
2019-02-05 23:36:59.833 CET [4844] FEHLER:  Relation »faecher« existiert nicht bei Zeichen 206
2019-02-05 23:36:59.833 CET [4844] ANWEISUNG:  SELECT recidx as fach_id, fachkuerzel, fachbezeichnung, lfdnr, posg8, posg9, gewichtungsa, fachart, zz1, zz2, jz1, jz2, zeugnis, wahlfachtext, asv_schluessel, isfremdsprache, isreligion, ispraxisfach FROM faecher ORDER BY fachkuerzel
2019-02-05 23:37:18.463 CET [6296] FEHLER:  Relation »mdbinfo« existiert nicht bei Zeichen 19
2019-02-05 23:37:18.463 CET [6296] ANWEISUNG:  SELECT value FROM mdbinfo WHERE key='DBVersion'

Fazit:
  1. Zugriff auf die DB unter PG 9.5 klappt problemlos.
  2. Zugriff auf die DB aus NMPGSetup mit gleichen Zugangsdaten unter PG 10.6 klappt problemlos.
  3. Zugriff auf die wiederhergestellte DB aus 1. unter PG 10.6 gibt obige Fehlermeldung.

So, und jetzt (zwischendurch habe ich noch andere Dinge erledigt!) habe ich das ganze nochmals durchgespielt und siehe da: Es hat endlich geklappt. hurra
Vielleicht lag es (unter anderem) daran, dass ich, wie an anderer Stelle von Dir erwähnt, die (tatsächlich unwesentlichen) Fehlermeldungen bei der Wiederherstellung ignoriert habe. Das heißt, in PGAdmin habe ich bei der Wiederherstellung in eine neue, leere Datenbank bsnmxxxx nur die Backup-Datei angegeben, sont nichts eingestellt und den Job gestartet.

Vielen Dank für deine Unterstützung Applaus , vielleicht hilft es ja auch noch anderen...

Herzliche Grüße, Patrik