'reltool` ist ein Programm, das die Differenzen zwischen unterschiedlichen Masken-Beschreibungen (die Datei 'mxmask.msk') erkennt und die Datenbank-Struktur anpasst. Das Programm kann auf der Datenbank neue Tabellen anlegen und die existierenden entfernen, Tabellen-Felder ändern oder neue Felder hinzufügen, neue Referenzen erstellen und die alten löschen.
Das Programm kann nicht Tabellen-Felder entfernen, was bei manchen Datenbanken auch nicht möglich ist.
Um das 'reltool'-Programm zu starten, muss man sich als <benutzer> auf dem <rechner> im Verzeichnis ~/src/programs befinden.
Beispiel:
mx001@<rechner>:~/src/programs > pg_dump -U pg_mx001 -s MXDBS | reltool -n mxmask.msk -sfx -O -
Parameter für das Programm 'reltool':
Befehl zum Prüfen der Check-Summe
[mx026@saas programs]$ vi reltool.out
In der Datei müssen folgende Suchergebnisse keine Treffer zurückliefern:
/DROP COL /DROP TABLE (Ausnahme ist der Treffer in der Drittletzen Zeile CHKSUMTAB)
An das Ende der Datei gehen und sich die Check-Summe merken.
auf User root gehen und danach aufrufen User pg_mx001
Datenbank aufrufen
psql MXDBS
select * from chksumtab;
selectierte Check-Summe mit der Check-Summe aus der Datei reltool.out vergleichen
Nur wenn diese beiden Check-Summen ungleich sind, ist ein Reltool durchzuführen.
User root
mxsd-Prozess runterfahren
mercawarectl stopmxsd mx001
User pg_mx001
psql -a MXDBS < ~mxXXX/src/programs/reltool.out > reltool-$(date -I).log 2>&1 !!! Vorsicht beim Kopieren !!!
Fehler prüfen
ll -t
vi Log-Datei mit dem entsprechendem Datum
wenn ein Fehler ausgegeben wird, der noch nicht bekannt ist, müssen die SQL-Anweisungen in der Datenbank MXDBS nachgezogen werden.
Alternativ kann mit folgenden grep-Befehlen nach Fehlern gesucht werden:
[pg_mx026@saas ~]$ grep -i error reltool-$(date -I).log [pg_mx026@saas ~]$ grep -i fehler reltool-$(date -I).log
User root
mxsd-Prozess hochfahren
mercawarectl startmxsd mx001
Das Programm aufrufen und die zuvor gemachten Änderungen prüfen