Das Trainingsmanagent ab Version 2.6 1 Allgemein... 2 2 Die Sicherungsprozedur... 3 2.1 Die statischen Daten... 3 2.2 Die dynamischen Daten... 3 2.2.1 Oracle Datenbank... 3 2.2.2 TM Datenbank... 3 2.2.3 MySQL Datenbank... 4 2.2.4 SQL Server Datenbank... 4 3 Die Wiederherstellungsprozeduren... 5 3.1 Allgemein... 5 3.2 Die statischen Daten... 5 3.3 Die dynamischen Daten... 5 3.3.1 Oracle Datenbank... 5 3.3.2 TM Datenbank... 6 3.3.3 MySQL Datenbank... 6 3.3.4 SQL Server Datenbank... 6 4 Rechtshinweise... 7 5 Anhang... 8 5.1 Software Architektur Übersicht... 8 5.2 Beispiel von einem Backup Skript für Windows Betriebssysteme... 8 5.3 Sicherung von Dienstinformationen... 9 5.4 Beispiel von Backup einer SQL Server Datenbank per Batch...11 Seite 1 von 11
1 Allgemein In diesem Dokument werden die Sicherungs- und Wiederherstellungsprozeduren (Restore und Backup) für eine Installation der Trainingsmanagement Software beschrieben. Für beide Prozeduren wird zwischen statische und dynamische Daten unterschieden. Die statischen Daten sind alle Dateien, die nach einer Installation (Erstinstallation, Update oder Upgrade), sich nicht mehr ändern. Eine Sicherung dieser Daten nach der Installation ist ausreichend um eine Wiederherstellung dieser Daten zu gewährleisten. Alle Daten, die der Kunde selber ändern kann (Kundendaten oder Reports Layouts zum Beispiel) gehören zu den dynamischen Daten. Die Sicherungs- und Wiederherstellungsprozeduren werden in Kapitel 2 bzw. 3 detailliert. Seite 2 von 11
2 Die Sicherungsprozedur 2.1 Die statischen Daten Das Installationsverzeichnis ist vollständig zu sichern. Zusätzlich zu diesen Daten können die folgenden Informationen gesichert werden: die Konfiguration der Dienste ztm2 und ztmt2, (Siehe Anhang 5.3 Sicherung von Dienst) bei der Installation mit der TM Datenbank, die Konfiguration der Dienste FirebirdServerDefaultInstance und FirebirdGuardianDefaultInstance, (Siehe Anhang 5.3 Sicherung von Dienst) das Verzeichnis Trainingsmanagement in Start / Programme des Benutzers, C:\Documents and Settings\All Users\Start Menu\Programs\Trainingsmanagement 2.2 Die dynamischen Daten Diese Daten, die vollständig in die Datenbank stehen, sollen regelmäßig (empfohlen: täglich) auf einen externen Datenträger gesichert werden. Um die Vollständigkeit der Daten zu gewährleisten sollte vor jeder Sicherung der Trainingsmanagement Software gestoppt werden. Die Sicherung wird pro Datenbanktyp beschrieben: Oracle, TM Datenbank, MySQL.und SQL Server. 2.2.1 Oracle Datenbank Die Sicherung soll von dem Datenbank Administrator durchgeführt werden. Oracle Tools wie Export (exp.exe oder exp80.exe bei Oracle8) kann dafür benutzt werden. Mehr Information darüber kann in der Oracle Dokumentation gefunden werden. Die folgenden Schemas beinhalten Trainingsmanagement Daten: ALLR_CM ALLR_CM_BV Alle Schemas anfangen mit TM (Diese Schemas sind vorhanden nur wenn mehrere Mandanten definiert sind.) 2.2.2 TM Datenbank Alle Daten werden durch die Sicherung der Datei <Installation Verzeichnis>\Server\database\tm.fdb gesichert. Seite 3 von 11
2.2.3 MySQL Datenbank Die Sicherung der Daten erfolgt mit dem MySQL Tool mysqldump. Der Syntax mit einer lokalen Datenbank: mysqldump -u <username> -p<passwort> <database_name> >FILE.sql Syntax mit einer entfernten Datenbank (Zugriff über TCP/IP): mysqldump --protocol=tcp --port=<port number> --host=<hostname or tcp/ip> -u <username> -p<password> >FILE.sql mysqldump --protocol=tcp --port=3306 --host=tm_test_server -u tm_user ptm_user tmdb >c:\tmdb.dumd Alle Informationen zu Wiederherstellung der Datenbank steht danach in die Datei FILE.sql. 2.2.4 SQL Server Datenbank Die Daten werden mit dem Befehl BACKUP DATABASE gesichert: USE <Datenbankname> GO BACKUP DATABASE <Datenbanname> TO DISK = <Dateiname> NAME = <Name des Backups> Alle Informationen zu Wiederherstellung der Datenbank stehen danach in die Datei <Dateiname>. USE TM GO BACKUP DATABASE TM TO DISK = c:\temp\backup.bak NAME = Backup TM Mehr Information darüber kann in der SQL Server Dokumentation gefunden werden. Ein Beispiel von automatisierter Sicherung ist in Anhang zu lesen (Kapitel 5.4 Beispiel von Backup einer SQL Server Datenbank per Batch). Seite 4 von 11
3 Die Wiederherstellungsprozeduren 3.1 Allgemein Sollte das Installationsverzeichnis inklusive allen dazu gehörigen Dateien vorhanden sein, ist eine Wiederherstellung der statischen Daten nicht notwendig. Wichtiger Hinweis Vor der Wiederherstellung darf die Trainingsmanagement Software NICHT laufen. Wichtiger Hinweis Bei der Wiederherstellung ist darauf zu achten dass die statischen Daten IMMER vor den dynamischen Daten zurückgespielt werden müssen. Wichtiger Hinweis Sollte eine ältere oder neuere Version als die installierte Version zurückgespielt werden, müssen die statischen Daten und die Datenbank vorher gelöscht werden. 3.2 Die statischen Daten Das Installationsverzeichnis soll in das gleiche Verzeichnis zurückgespielt werden. Sollte die Dienste Konfiguration und die Dateien in Start / Programme gesichert sein, sind diese Daten auch zurückzuspielen und zu installieren. 3.3 Die dynamischen Daten Die Wiederherstellung wird pro Datenbanktyp beschrieben: Oracle, TM Datenbank, MySQL und SQL Server. 3.3.1 Oracle Datenbank Die Wiederherstellung (Restore) soll von dem Datenbank Administrator durchgeführt werden. Oracle Tools wie import (imp.exe oder imp80.exe bei Oracle8) können dafür benutzt werden. Mehr Information darüber kann in der Oracle Dokumentation gefunden werden. Seite 5 von 11
3.3.2 TM Datenbank Die Wiederherstellung der Daten erfolgt durch das Kopieren der gesicherten Datei tm.fdb in das Verzeichnis <Installation Verzeichnis>\Server\database\tm.fdb. 3.3.3 MySQL Datenbank Die Wiederherstellung der Daten erfolgt mit dem MySQL Tool mysql und die Datei mit den exportierten Daten (FILE.sql) Der Syntax mit einer lokalen Datenbank: mysql -u <username> -p<password> <database_name> <FILE.sql Syntax mit einer entfernten Datenbank (Zugriff über TCP/IP): mysql --protocol=tcp --port=<port number> --host=<hostname or tcp/ip> -u <username> -p<password> <FILE.sql mysql --protocol=tcp --port=3306 --host= tm_server -u tm_user ptm_password tmdb >c:\tmdb.dump Die Datenbank sollte vor dem Import leer sein. 3.3.4 SQL Server Datenbank Die Daten werden mit dem Befehl RESTORE von einer Backup Datei in die Datenbank wieder eingespielt: RESTORE <Datenbankname> FROM DISK = <Dateiname> RESTORE TM FROM DISK = c:\temp\backup.bak Mehr Information darüber kann in der SQL Server Dokumentation gefunden werden. Seite 6 von 11
4 Rechtshinweise Microsoft Windows, Windows 95, Windows 98, Windows NT, Windows XP, Windows Vista, Windows 7 und Internet Microsoft Explorer sind eingetragene Warenzeichen der Microsoft Corporation. Oracle ist ein eingetragenes Warenzeichen der Oracle Corporation. Acrobat Reader ist ein eingetragenes Warenzeichen der Adobe Systems Incorporated. MySQL ist ein eingetragenes Warenzeichen der MySQL AB. Alle übrigen genannten Produkte sind Warenzeichen oder eingetragene Warenzeichen ihrer jeweiligen Unternehmen. Seite 7 von 11
5 Anhang 5.1 Software Architektur Übersicht TM Client (Internet Explorer) Intranet Extranet TM Server (Software) TM Server (Datenbank) 5.2 Beispiel von einem Backup Skript für Windows Betriebssysteme rem Die Trainingsmanagement Software beenden <Installation Verzeichnis>\tmStop.bat rem Sicherung der Reports- und e-mail Layout cp <Installation Verzeichnis>\reports\*.* <Backup Verzeichnis>\reports rem TM Datenbank sichern cp <Installation Verzeichnis>\Server\database\tm.fdb <Backup Verzeichnis>\tm.fbd rem Die Trainingsmanagement Software starten <Installation Verzeichnis>\tmStart.bat Seite 8 von 11
5.3 Sicherung von Dienstinformationen Wichtiger Hinweis Der Benutzer muss zu den Administrators Windows Gruppe gehören um diese Funktion ausführen zu dürfen. Lesen, Export und Import von Dienstinformationen können mit dem Windows Programm regedit durchgeführt werden: Die Informationen über Dienste sind in HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services zu finden. Seite 9 von 11
Mit Rechtsklicken auf den Dienst wird das Context-Menü angezeigt: Mit der Funktion Exportieren werden die Informationen über den Dienst exportiert. Beispiel der generierten Datei für den Dienst Ztm2: Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Ztm2] "Type"=dword:00000010 "Start"=dword:00000002 "ErrorControl"=dword:00000001 "ImagePath"=hex(2):22,00,63,00,3a,00,5c,00,70,00,72,00,6f,00,67,00,72,00,61,00,\ 6d,00,6d,00,65,00,5c,00,74,00,6d,00,32,00,35,00,32,00,5c,00,61,00,70,00,61,\ 00,63,00,68,00,65,00,5c,00,41,00,70,00,61,00,63,00,68,00,65,00,2e,00,65,00,\ 78,00,65,00,22,00,20,00,2d,00,2d,00,6e,00,74,00,73,00,65,00,72,00,76,00,69,\ 00,63,00,65,00,00,00 "DisplayName"="Ztm2" "DependOnService"=hex(7):54,00,63,00,70,00,69,00,70,00,00,00,41,00,66,00,64,00,\ 00,00,00,00 "DependOnGroup"=hex(7):00,00 "ObjectName"="LocalSystem" "Description"="Apache/1.3.27 (Win32) mod_jk/1.2.2-beta-1 mod_gzip/1.3.26.1a" [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Ztm2\Parameters] "ConfigArgs"=hex(7):2d,00,64,00,00,00,63,00,3a,00,2f,00,70,00,72,00,6f,00,67,\ 00,72,00,61,00,6d,00,6d,00,65,00,2f,00,74,00,6d,00,32,00,35,00,32,00,2f,00,\ 61,00,70,00,61,00,63,00,68,00,65,00,00,00,2d,00,66,00,00,00,63,00,3a,00,2f,\ 00,70,00,72,00,6f,00,67,00,72,00,61,00,6d,00,6d,00,65,00,2f,00,74,00,6d,00,\ 32,00,35,00,32,00,2f,00,61,00,70,00,61,00,63,00,68,00,65,00,2f,00,63,00,6f,\ 00,6e,00,66,00,2f,00,68,00,74,00,74,00,70,00,64,00,2e,00,63,00,6f,00,6e,00,\ 66,00,00,00,00,00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Ztm2\Security] "Security"=hex:01,00,14,80,90,00,00,00,9c,00,00,00,14,00,00,00,30,00,00,00,02,\ 00,1c,00,01,00,00,00,02,80,14,00,ff,01,0f,00,01,01,00,00,00,00,00,01,00,00,\ 00,00,02,00,60,00,04,00,00,00,00,00,14,00,fd,01,02,00,01,01,00,00,00,00,00,\ 05,12,00,00,00,00,00,18,00,ff,01,0f,00,01,02,00,00,00,00,00,05,20,00,00,00,\ 20,02,00,00,00,00,14,00,8d,01,02,00,01,01,00,00,00,00,00,05,0b,00,00,00,00,\ 00,18,00,fd,01,02,00,01,02,00,00,00,00,00,05,20,00,00,00,23,02,00,00,01,01,\ 00,00,00,00,00,05,12,00,00,00,01,01,00,00,00,00,00,05,12,00,00,00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Ztm2\Enum] "0"="Root\\LEGACY_ZTM2\\0000" "Count"=dword:00000001 "NextInstance"=dword:00000001 Seite 10 von 11
5.4 Beispiel von Backup einer SQL Server Datenbank per Batch Wenn der Backup automatisch ablaufen muss, muss die Backup Prozedur in einen Batch Datei eingeben werden und diesen Batch Datei zeitgesteuert gestartet werden. Beispiel von Batch Datei für einen SQL Server: sqlcmd U <Benutzername> -P <Passwort> -S <Servername> -d <Datenbankname>\<Instanz Name> -i <Skriptname> -o <Ausgabe/Log-Datei> -e Die <Skriptname> Datei muss den SQL Skript für den Backup der Datenbank beinhalten (Siehe Kapitel 2.2.4 SQL Server Datenbank). sqlcmd U sa -P sa_pass -S tmserver\tm -d tm -i c:\programme\tm\backup.sql -o c:\programme\tm\export.log -e Zeitsteuerung Funktionen in Windows werden über das Tool Geplante Tasks durchgeführt. Um das Tool "Geplante Tasks" zu öffnen, klicken Sie auf Start, dann auf Alle Programme, zeigen Sie auf Zubehör, zeigen Sie auf Systemprogramme und klicken Sie dann auf Geplante Tasks. Bemerkung wenn die Datenbank Sicherung mit der Fehlermeldung schlägt fehl: KB0143: Datenbank Sicherung mit SQLExpress 2005 schägt fehl Das Sicherungsmedium kann nicht geöffnet werden. Betriebssystemfehler 5 (Zugriff verweigert) Ursache: Das Sicherungsmedium wird vom SQLExpress Dienst gespeichert. Der Dienst läuft standardmässig mit reduzierten Zugriffsrechten und hat nur an wenigen Stellen Schreibrechte. Z.B. in %programfiles%\microsoft SQL Server\MSSQL.1\MSSQL\Backup Wobei je nach Installation MSSQL.1 auch MSSQL.2 oder höher sein kann. Fehlerbehebung Geben Sie der lokalen Benutzergruppe SQLSERVER2005$RECHNERNAME$TIMESAFE Schreibrechte im gewünschten Backup Verzeichnis. Der Dienst Account des SQLExpress Dienstes sollte NICHT geändert werden! Herr Dipl. Ing. Laurent Devos, Lindberghstr. 150, 41069 Mönchengladbach. Alle Rechte vorbehalten. Änderungen und Irrtümer vorbehalten. Produktspezifikationen können ohne vorherige Ankündigung geändert werden. Die Bildschirmfotos stellen den aktuellen Stand bei der Drucklegung dar und können von den tatsächlich gelieferten Produkten abweichen. Seite 11 von 11