34.6 Migrieren der Daten von einer eingebetteten Sybase SQL Anywhere-Datenbank zu einer externen Oracle-Datenbank

Mit ZENworks 10 Configuration Management können Sie die Daten einer internen eingebetteten Sybase SQL Anywhere-Datenbank oder einer externen Sybase SQL Anywhere-Datenbank, die auf einem ZENworks-Primärserver ausgeführt wird, in eine Oracle-Datenbank migrieren, die auf einem Gerät installiert ist, auf dem ZENworks 10 Configuration Management nicht installiert ist.

WICHTIG:Wenn der ZENworks Reporting Server auf dem Gerät installiert ist, funktioniert Reporting Server nach der Migration der Datenbank nicht mehr. Wenn Sie den ZENworks Reporting Server weiterhin verwenden möchten, müssen Sie ihn nach der Migration der Datenbank erneut auf einem Primärserver installieren, auf dem der Oracle-Client installiert ist. Weitere Informationen finden Sie unter Abschnitt 34.6.3, Aufgaben nach der Migration.

Die folgenden Abschnitte gehen ausführlich auf die Datenbankmigration ein:

34.6.1 Vorbereitung der Datenverschiebung

Führen Sie vor der Migration der Daten aus einer Sybase-Datenbank in eine Oracle-Datenbank folgende Schritte aus:

  • Vergewissern Sie sich, dass der Lizenzstatus von ZENworks 10 Configuration Management „Aktiv“ lautet. Das Produkt muss entweder in der lizenzierten Version oder der Evaluierungsversion installiert sein und ausgeführt werden.

  • Speichern Sie alle Berichte sowie die Dateien rights.xml und ownership.xml mit dem Befehl report-save (rpsv) (Zielordner). Die XML-Dateien enthalten die Rechte- und Eigentumsinformationen zu allen Berichten.

  • Vergewissern Sie sich, dass der Primärserver, auf dem die Sybase-Datenbank konfiguriert ist, auf ZENworks 10 Configuration Management aufgerüstet wurde.

  • Vergewissern Sie sich, dass auf dem ZENworks-Primärserver eine interne oder externe Sybase-Datenbank installiert ist.

  • Vergewissern Sie sich, dass die Oracle-Datenbank auf einem Gerät installiert ist, auf dem ZENworks 10 Configuration Management nicht installiert ist.

  • Der Tablespace USERS muss über ausreichend Speicherplatz zum Erstellen und Speichern des ZENworks-Datenbankschemas verfügen. Der Tablespace benötigt mindestens 100 MB zur Erstellung des ZENworks-Datenbankschemas ohne enthaltene Daten sowie - abhängig von der Größe der zu migrierenden Datenbank - angemessenen zusätzlichen Speicherplatz. Das Dienstprogramm zur Datenbankmigration verwendet standardmäßig nur den Tablespace USERS. Sie können während der Migration manuell einen beliebigen anderen Tablespace angeben.

  • Vergewissern Sie sich, dass der Parameter NLS_CHARACTERSET auf AL32UTF8 festgelegt wurde und der Parameter NLS_NCHAR_CHARACTERSET auf AL16UTF16, indem Sie an der Eingabeaufforderung der Datenbank die folgende Abfrage ausführen:

    select parameter, value from nls_database_parameters where parameter like '%CHARACTERSET%';
    
  • (Bedingt) Falls Sie die Datenbank migrieren möchten, indem Sie ein neues Benutzerschema erstellen, müssen zusätzlich die folgenden Bedingungen erfüllt sein:

    • Sie müssen die Berechtigungen des Datenbankadministrators kennen.

    • Es muss bereits ein Tablespace existieren, der mit dem Oracle-Zugriffsbenutzer verbunden werden kann.

  • Sie können die Datenbank in den folgenden Situationen auch mithilfe eines vorhandenen Benutzerschemas migrieren, das sich auf einem Server in Ihrem Netzwerk befindet:

    • Der Datenbankadministrator erstellt ein Benutzerschema mit den erforderlichen Rechten und Sie erhalten vom Datenbankadministrator die Berechtigungsnachweise für dieses Benutzerschema. In diesem Fall sind die Berechtigungen des Datenbankadministrators für die Migration der Datenbank nicht erforderlich.

    • Sie erstellen ein Benutzerschema in der Oracle-Datenbank und wählen die Option, es während der Datenbankmigration zu nutzen.

    Wenn Sie die Datenbank mithilfe eines bestehenden Benutzerschemas migrieren möchten, müssen zusätzlich die folgenden Bedingungen erfüllt sein:

    • Das Benutzerschema muss die folgenden Rechte zur Erstellung der Datenbank umfassen.

      • CREATE SESSION
      • CREATE_TABLE
      • CREATE_VIEW
      • CREATE_PROCEDURE
      • CREATE_SEQUENCE
      • CREATE_TRIGGER
    • Die Vorgabe für das Benutzerschema muss im Tablespace USERS auf „Unlimited“ eingestellt sein.

  • Beenden Sie die ZENworks-Services auf allen Servern der Verwaltungszone manuell.

    So beenden Sie die Services:

    • Unter Windows: Führen Sie folgende Schritte aus:

      1. Klicken Sie auf dem Windows-Desktop auf das Menü Start und dort auf Einstellungen > Systemsteuerung.

      2. Doppelklicken Sie auf Verwaltung > Dienste.

      3. Beenden Sie die folgenden Services: Novell ZENworks-Server, Novell ZENworks Services Monitor und Novell ZENworks Agent Service.

    • Unter Linux: Geben Sie an der Eingabeaufforderung der Konsole folgende Befehle ein:

      • /etc/init.d/./novell-zenmntr stop

      • /etc/init.d/./novell-zenserver stop

      • /etc/init.d/./novell-zenloader stop

  • Vergewissern Sie sich, dass der Service „Eingebettete Novell ZENworks-Datenablage“ auf dem Primärserver gestartet ist.

    • Unter Windows: Führen Sie folgende Schritte aus:

      1. Klicken Sie auf dem Windows-Desktop auf das Menü Start und dort auf Einstellungen > Systemsteuerung.

      2. Doppelklicken Sie auf Verwaltung > Dienste.

      3. Der Status des Services Eingebettete Novell ZENworks-Datenablage muss Gestartet lauten.

    • Unter Linux: Geben Sie an der Eingabeaufforderung /etc/init.d/./sybase-asa status.

  • (Optional) Der Status der Datenbankmigration wird in der Datei novell-zenworks-configure.log protokolliert. Standardmäßig werden nur Meldungen des Typs „Info“ und „Schwerer Fehler“ protokolliert. Wenn Sie auch andere Meldungsarten (wie „Finer“, „Finest“ und „Warnung“) in der Datei protokollieren möchten, führen Sie in der Datei novell-zenworks-configure.properties folgende Aktionen aus:

    1. Setzen Sie den Wert von Logger.logLevel auf den entsprechenden Meldungstyp.

      Wenn Sie beispielsweise Meldungen des Typs „Finest“ protokollieren möchten:

       #Logger.logLevel   = FINEST
      
    2. Entfernen Sie das Kommentarzeichen „#“ wie folgt von der Zeile:

      Logger.logLevel   = FINEST
      

    Die Datei novell-zenworks-configure.properties befindet sich unter Windows im Verzeichnis %ZENWORKS_HOME%\conf\ und unter Linux im Verzeichnis /etc/opt/novell/zenworks/.

34.6.2 Migrieren der Daten aus der Sybase SQL Anywhere-Datenbank in eine Oracle-Datenbank

Migrieren der Daten aus der Sybase SQL Anywhere-Datenbank in eine Oracle-Datenbank

  1. Vergewissern Sie sich, dass alle in Abschnitt 34.6.1, Vorbereitung der Datenverschiebung aufgelisteten Aufgaben ausgeführt sind.

  2. Führen Sie das Dienstprogramm für die Datenbankmigration aus.

    • Unter Windows: Wechseln Sie an der Eingabeaufforderung zu ZENworks_Installationspfad\bin\novell-zenworks-configure.bat und geben Sie folgenden Befehl ein:

      novell-zenworks-configure.bat -c DBMigrateConfigureAction

    • Unter Linux: Wechseln Sie an der Eingabeaufforderung der Konsole zu /opt/novell/zenworks/bin und geben Sie folgenden Befehl ein:

      novell-zenworks-configure -c DBMigrateConfigureAction

  3. Geben Sie als Zieldatenbanktyp „Oracle“ ein.

  4. Geben Sie die IP-Adresse oder den Hostnamen des Oracle-Datenbankservers ein.

  5. Geben Sie den vom Oracle-Datenbankserver verwendeten Port ein.

  6. Geben Sie den vollständig qualifizierten, im Netzwerk verwendeten Dienstnamen der Oracle-Datenbank ein.

  7. Sie können nach Wunsch ein neues Benutzerschema erstellen oder ein bestehendes verwenden.

    Wenn Sie ein neues Schema erstellen möchten, fahren Sie mit Schritt Schritt 8 fort.

    Wenn Sie ein bestehendes Benutzerschema verwenden möchten, fahren Sie mit Schritt Schritt 9 fort.

  8. Geben Sie den Benutzernamen und das Passwort des Administrators des Datenbankservers ein.

  9. Geben Sie den Namen des Datenbankschemas ein, wenn Sie nach dem Namen des Datenbankbenutzers gefragt werden.

  10. Geben Sie das Passwort für das Datenbankschema ein, wenn Sie nach dem Passwort des Datenbankbenutzers gefragt werden.

    Die Datenbankmigration beginnt.

  11. Nach Abschluss der Datenbankmigration können Sie in der Datei novell-zenworks-configure.log prüfen, ob die Migration erfolgreich war. Die Datei befindet sich unter Windows im Verzeichnis %ZENWORKS_HOME%\log und unter Linux im Verzeichnis /var/opt/novell/log/zenworks.

  12. Fahren Sie nach der erfolgreichen Ausführung der Datenbankmigration mit Abschnitt 34.6.3, Aufgaben nach der Migration fort.

Wiederaufnehmen der Datenbankmigration

Wenn die Migration der Datenbank aus irgendeinem Grund gestoppt wird, ermöglicht Ihnen das ZENworks-Dienstprogramm für Migration die Wiederaufnahme der Migration, wenn die Datei dbmigration.xml erstellt wurde. Diese Datei befindet sich unter Windows im Verzeichnis ZENworks_Installationspfad\bin und unter Linux im Verzeichnis /opt/novell/zenworks/bin.

  1. Führen Sie das Dienstprogramm für die Datenbankmigration aus.

    • Unter Windows: Wechseln Sie an der Eingabeaufforderung zu ZENworks_Installationspfad\bin\novell-zenworks-configure.bat und geben Sie folgenden Befehl ein:

      novell-zenworks-configure.bat -c DBMigrateConfigureAction

    • Unter Linux: Wechseln Sie an der Eingabeaufforderung der Konsole zu /opt/novell/zenworks/bin und geben Sie folgenden Befehl ein:

      novell-zenworks-configure -c DBMigrateConfigureAction

  2. Geben Sie als Zieldatenbanktyp „Oracle“ ein.

  3. Geben Sie die IP-Adresse oder den Hostnamen des Oracle-Datenbankservers ein.

    Sie müssen die IP-Adresse oder den Hostnamen des Oracle-Datenbankservers angeben, der beim Migrieren der Datenbank verwendet wird. Wenn Sie beispielsweise die IP-Adresse des Datenbankservers beim Migrieren der Datenbank angegeben haben, müssen Sie bei der Wiederaufnahme der Datenbankmigration dieselbe IP-Adresse angeben. Sie können nicht den Hostnamen des Datenbankservers angeben.

  4. Geben Sie den vom Oracle-Datenbankserver verwendeten Port ein.

  5. Geben Sie den vollständig qualifizierten, im Netzwerk verwendeten Dienstnamen der Oracle-Datenbank ein.

  6. Wählen Sie ein vorhandenes Schema aus.

  7. Geben Sie den Namen des Datenbankschemas ein, den Sie zu Beginn der abgebrochenen Datenbankmigration eingegeben haben, wenn Sie nach dem Namen des Datenbankbenutzers gefragt werden.

  8. Geben Sie das Passwort für das Datenbankschema ein, das Sie zu Beginn der abgebrochenen Datenbankmigration eingegeben haben, wenn Sie nach dem Passwort des Datenbankbenutzers gefragt werden.

  9. Geben Sie an, dass die Datenbankmigration wiederaufgenommen werden soll.

    Die Datenbankmigration beginnt.

  10. Fahren Sie nach der erfolgreichen Ausführung der Datenbankmigration mit Abschnitt 34.6.3, Aufgaben nach der Migration fort.

34.6.3 Aufgaben nach der Migration

Wenn die Verwaltungszone nur einen Server enthält, werden nach der erfolgreichen Migration der Daten in eine Oracle-Datenbank sämtliche ZENworks-Services automatisch neu gestartet.

Bei mehreren Servern in der Verwaltungszone:

  1. Kopieren Sie die folgenden Dateien von dem Gerät, auf dem Sie das Migrationsprogramm ausgeführt haben, in das entsprechende Verzeichnis auf allen Servern:

    • zdm.xml
    • dmaccounts.properties
    • dmmappings.properties

    Die Dateien befinden sich unter Windows im Verzeichnis ZENworks_Installationspfad\conf\datamodel und unter Linux im Verzeichnis /etc/opt/novell/zenworks/datamodel.

  2. Starten Sie die ZENworks-Services neu.

    • Unter Windows: Führen Sie folgende Schritte aus:

      1. Klicken Sie auf dem Windows-Desktop auf das Menü Start und dort auf Einstellungen > Systemsteuerung.

      2. Doppelklicken Sie auf Verwaltung > Dienste.

      3. Starten Sie die folgenden Services: Novell ZENworks-Server, Novell ZENworks Services Monitor und Novell ZENworks Agent Service.

    • Unter Linux: Geben Sie an der Eingabeaufforderung der Konsole folgende Befehle ein:

      • /etc/init.d/./novell-zenmntr restart

      • /etc/init.d/./novell-zenserver restart

      • /etc/init.d/./novell-zenloader restart

  3. Migrieren Sie die ZENworks-Berichte aus der Sybase SQL Anywhere-Datenbank in eine Oracle-Datenbank:

    1. Installieren Sie den Oracle-Client auf einem Primärserver, auf dem noch keine Instanz des ZENworks Reporting Servers installiert ist.

    2. Installieren Sie auf dem Gerät, auf dem Sie den Oracle-Client installiert haben, eine neue Instanz des ZENworks Reporting Servers.

    3. Kopieren Sie die Berichte auf das Gerät, auf dem die neue Instanz des ZENworks Reporting Servers ausgeführt wird. Es handelt sich hier um die ZENworks-Berichte, die Sie vor der Migration der Datenbank gespeichert haben. Weitere Informationen finden Sie unter Abschnitt 34.6.1, Vorbereitung der Datenverschiebung.

    4. Veröffentlichen Sie die Berichte und stellen Sie die Berichterstellungsrechte und Eigentumsdetails der Berichte mit dem folgenden Befehl wieder her:

      zman rpld Pfad_des_Verzeichnisses_mit_den_Dateien_rights.xml_und_ownership.xml

    5. Deinstallieren Sie die Instanz des ZENworks Reporting Servers, der vor der Migration der Datenbank installiert war.

Der ZENworks-Server verweist nun auf die neue Datenbank.

Beachten Sie, dass die Oracle 10g-Datenbank bei allen Administratornamen, auch bei Anmeldenamen aus Benutzerquellen, die Groß-/Kleinschreibung berücksichtigt. So wird der Anfangsbuchstabe des automatisch bei der Installation erstellten ZENworks-Standardadministratorkontos großgeschrieben. Zur Anmeldung beim ZENworks-Kontrollzentrum müssen Sie also Administrator eingeben.

34.6.4 Fehlersuche bei Problemen mit der Datenbankmigration

Fehlersuche bei einer Java Heap-Speicherausnahme

Wenn Sie bei der Datenbankmigration aufgrund unzureichenden Arbeitsspeichers eine Java Heap-Speicherausnahme erhalten, führen Sie die folgenden Schritte aus:

  1. Öffnen Sie unter Windows die Datei ZENworks_Installationspfad\bin\novell-zenworks-configure.bat bzw. unter Linux die Datei /opt/novell/zenworks/bin/novell-zenworks-configure. Passen Sie in dieser Datei in der folgenden Zeile den Heap-Speicher an den RAM-Speicher des Geräts an, auf dem das Migrationsprogramm ausgeführt wird:

    "%JAVA_HOME%\bin\java" -Djava.library.path=%ZENLIB% -cp "%MYCP%" %DEBUG_OPTS% %JAVA_OPTS% -Xmx128m com.novell.zenworks.configure.ConfigureLoader %CONFIG_OPTS%
    

    Der Heap-Speicher ist in der Zeichenfolge -Xmx128m in Megabyte (MB) angegeben. Die Standardeinstellung ist 128.

    Verfügt das Gerät beispielsweise über einen RAM von 512 MB, dann können Sie den Heap-Speicher in der Datei novell-zenworks-configure.bat wie folgt anpassen:

    "%JAVA_HOME%\bin\java" -Djava.library.path=%ZENLIB% -cp "%MYCP%" %DEBUG_OPTS% %JAVA_OPTS% -Xmx512m com.novell.zenworks.configure.ConfigureLoader %CONFIG_OPTS%
    

    WICHTIG:Der Heap-Speicher darf nicht größer als der RAM-Speicher des Geräts sein.

  2. Führen Sie an der Eingabeaufforderung der Konsole unter Windows die Datei ZENworks_Installationspfad\bin\novell-zenworks-configure.bat bzw. unter Linux die Datei /opt/novell/zenworks/bin/novell-zenworks-configure aus.

  3. Befolgen Sie die Anweisungen.

    Wenn Sie aufgefordert werden, den Speicherort der für die Wiederaufnahme der Migration erforderlichen Datei einzugeben, geben Sie den vollständigen Pfad der Datei DBMigration.xml ein. Diese Datei befindet sich unter Windows im Verzeichnis ZENworks_Installationspfad\bin und unter Linux im Verzeichnis /opt/novell/zenworks/bin.

    Die XML-Datei enthält eine Liste der Datenbanktabellen sowie Flags, die angeben, ob die Tabellen erfolgreich migriert wurden. Bei der Wiederaufnahme der Datenbankmigration werden nur die Tabellen migriert, deren Flag-Wert auf „false“ festgelegt wurde.

Fehlersuche bei einem Absturz der Oracle-Datenbank

Wenn die Oracle-Datenbank während der Datenbankmigration abstürzt, führen Sie die folgenden Schritte aus:

  1. Führen Sie an der Eingabeaufforderung der Konsole unter Windows die Datei ZENworks_Installationspfad\bin\novell-zenworks-configure.bat bzw. unter Linux die Datei /opt/novell/zenworks/bin/novell-zenworks-configure aus.

  2. Befolgen Sie die Anweisungen.

    Wenn Sie aufgefordert werden, den Speicherort der für die Wiederaufnahme der Migration erforderlichen Datei einzugeben, geben Sie den vollständigen Pfad der Datei DBMigration.xml ein. Diese Datei befindet sich unter Windows im Verzeichnis ZENworks_Installationspfad\bin und unter Linux im Verzeichnis /opt/novell/zenworks/bin.

    Die XML-Datei enthält eine Liste der Datenbanktabellen sowie Flags, die angeben, ob die Tabellen erfolgreich migriert wurden. Bei der Wiederaufnahme der Datenbankmigration werden nur die Tabellen migriert, deren Flag-Wert auf „false“ festgelegt wurde.

    WICHTIG:Der Inhalt der Datei DBMigration.xml darf nicht bearbeitet werden.

Fehlersuche bei einem Problem mit dem Oracle-Tablespace

Wenn der Oracle-Tablespace USERS nicht über genügend Speicherplatz zum Erstellen und Speichern des ZENworks-Datenbankschemas verfügt, schlägt die Datenbankmigration bei dem Versuch, die Tabellen anzulegen, fehl, und die folgenden Meldungen werden angezeigt:

SEVERE: Terminating the database migration...
SEVERE: An error has occurred while migrating the database.

Zur Behebung dieses Problems muss der Oracle-Datenbankadministrator die Größe des Tablespace USERS erhöhen. Der Tablespace muss zur Erstellung des ZENworks-Datenbankschemas ohne enthaltene Daten mindestens 100 MB umfassen sowie - abhängig von der Größe der zu migrierenden Datenbank - angemessenen zusätzlichen Speicherplatz.

Fehlersuche bei einem Problem bei der Datenbankmigration

Wenn der Parameter NLS_CHARACTERSET nicht auf AL32UTF8 festgelegt wurde und der Parameter NLS_NCHAR_CHARACTERSET nicht auf AL16UTF16, tritt bei der Datenbankmigration ein Fehler auf und die folgenden Fehlermeldungen werden angezeigt:

Failed to run the sql script: localization-updater.sql,
message:Failed to execute the SQL command: insert into
zLocalizedMessage(messageid,lang,messagestr)
values('POLICYHANDLERS.EPE.INVALID_VALUE_FORMAT','fr','La stratégie {0} n''a
pas pu être appliquée du fait que la valeur de la variable "{1}" n''est pas
dans un format valide.'),
message:ORA-00600: internal error code, arguments: [ktfbbsearch-7], [8], [],
[], [], [], [], []

Legen Sie zur Behebung dieses Problems den Parameter NLS_CHARACTERSET auf AL32UTF8 fest und den Parameter NLS_NCHAR_CHARACTERSET auf AL16UTF16. Um sicherzugehen, dass die Zeichensatzparameter mit den empfohlenen Werten konfiguriert wurden, führen Sie an der Eingabeaufforderung der Datenbank die folgende Abfrage aus:

select parameter, value from nls_database_parameters where parameter like '%CHARACTERSET%';

Fehlerbehebung in der Datenbankmigration mithilfe eines vorhandenen Benutzerschemas

Wenn Sie die Datenbank mithilfe eines bestehenden Benutzerschemas migrieren, legt das Migrationsdienstprogramm die ZENworks-Datenbank an, kann aber möglicherweise die Daten nicht migrieren.

So beheben Sie dieses Problem:

  1. Stellen Sie sicher, dass der Datenbankadministrator die ZENworks-Tabellen, -Ansichten und -Benutzersequenz aus der neu angelegten ZENworks-Datenbank löscht. Löschen Sie später die Datenbanktabelle user_recyclebin.

  2. Starten Sie die Migrationsdatenbank erneut mit demselben Benutzerschema. Weitere Informationen finden Sie unter Migrieren der Daten aus der Sybase SQL Anywhere-Datenbank in eine Oracle-Datenbank.

34.6.5 Rückkehr zur Sybase-Datenbank

Führen Sie die folgenden Schritte aus, wenn Sie wieder die Sybase-Datenbank verwenden möchten:

  1. Benennen Sie auf dem Gerät, auf dem Sie das Migrationsprogramm ausgeführt haben, die folgenden Dateien um:

    • zdm.xml.bak in zdm.xml
    • dmaccounts.properties.bak in dmaccounts.properties
    • dmmappings.properties.bak in dmmappings.properties

    Die Dateien befinden sich unter Windows im Verzeichnis ZENworks_Installationspfad\conf\datamodel und unter Linux im Verzeichnis /etc/opt/novell/zenworks/datamodel.

  2. Starten Sie alle ZENworks-Services neu:

    • Unter Windows: Führen Sie folgende Schritte aus:

      1. Klicken Sie auf dem Windows-Desktop auf Start > Einstellungen > Systemsteuerung.

      2. Doppelklicken Sie auf Verwaltung > Dienste.

      3. Starten Sie die folgenden Services: Novell ZENworks-Server, Novell ZENworks Services Monitor und Novell ZENworks Agent Service.

    • Unter Linux: Geben Sie an der Eingabeaufforderung der Konsole folgende Befehle ein:

      • /etc/init.d/./novell-zenmntr restart

      • /etc/init.d/./novell-zenserver restart

      • /etc/init.d/./novell-zenloader restart