34.6 Migration des données d'une base de données Sybase SQL Anywhere intégrée vers une base de données Oracle externe

ZENworks 10 Configuration Management vous permet de faire migrer les données d'une base de données Sybase SQL Anywhere intégrée interne ou d'une base de données Sybase SQL Anywhere externe exécutée sur un serveur ZENworks primaire vers une base de données Oracle installée sur un périphérique non équipé de ZENworks 10 Configuration Management.

IMPORTANT :si ZENworks Reporting Server est installé sur le périphérique, le serveur de création de rapports ne fonctionne plus après la migration de la base de données. Pour que le serveur création de rapport fonctionne, vous devez de nouveau installer ZENworks Reporting Server sur le serveur primaire sur lequel vous avez installé le client Oracle après la migration de la base de données. Pour plus d'informations, reportez-vous à la Section 34.6.3, Tâches consécutives à la migration.

Pour faire migrer la base de données, procédez de la façon suivante :

34.6.1 Préparation du déplacement des données

Avant de faire migrer les données de la base de données Sybase vers la base de données Oracle, exécutez les tâches suivantes :

  • Vérifiez que l'état de la licence de ZENworks 10 Configuration Management est Actif. La version sous licence ou d'évaluation du produit doit être installée et exécutée.

  • Enregistrez tous les rapports, rights.xml, et ownership.xml à l'aide de la commande report-save (rpsv) (dossier de destination). Les fichiers XML contiennent les détails des droits et de possession de tous les rapports.

  • Assurez-vous que le serveur primaire sur lequel la base de données Sybase est configurée a été mis à niveau vers ZENworks 10 Configuration Management.

  • Assurez-vous qu'une base de données Sybase externe ou interne est installée sur le serveur ZENworks primaire.

  • Assurez-vous que la base de données Oracle est installée sur un périphérique sur lequel ZENworks 10 Configuration Management n'est pas installé.

  • Assurez-vous que l'espace de table USERS dispose de l'espace suffisant pour créer et stocker le schéma de la base de données ZENworks. L'espace de table requiert 100 Mo au minimum pour créer le schéma de base de données ZENworks sans aucune donnée intégrée, ainsi qu'un espace supplémentaire approprié selon la taille de la base de données devant migrer. L'utilitaire de migration de base de données n'utilise que l'espace de table USERS par défaut. Vous ne pouvez pas spécifier manuellement un autre espace de table au cours de la migration.

  • Assurez-vous que le paramètre NLS_CHARACTERSET est défini sur AL32UTF8 et que le paramètre NLS_NCHAR_CHARACTERSET est défini sur AL16UTF16 en exécutant la requête suivante à l'invite de la base de données :

    select parameter, value from nls_database_parameters where parameter like '%CHARACTERSET%';
    
  • (Facultatif) Si vous choisissez de faire migrer la base de données en créant un nouveau schéma d'utilisateur, vérifiez que les conditions requises suivantes supplémentaires sont respectées :

    • Vous devez être au fait des références de l'administrateur de base de données.

    • Un espace de table doit déjà être présent pour l'association avec les utilisateurs Oracle Access

  • Vous pouvez choisir de faire migrer la base de données en utilisant un schéma d'utilisateur existant présent sur un serveur de votre réseau dans différents cas.

    • L'administrateur de la base de données crée un schéma d'utilisateur avec les droits nécessaires et vous recevez les références de ce schéma d'utilisateur de la part de l'administrateur de la base de données. Dans ce cas, les références de l'administrateur de la base de données ne sont pas requises pour faire migrer la base de données.

    • Vous créez un schéma d'utilisateur dans la base de données Oracle et vous choisissez de l'utiliser lors de la migration de la base de données.

    Si vous choisissez de faire migrer la base de données en utilisant un schéma d'utilisateur existant, vérifiez que les conditions requises suivantes supplémentaires sont respectées :

    • Assurez-vous que le schéma d'utilisateur dispose des droits suivants pour créer la base de données.

      • CREATE SESSION
      • CREATE_TABLE
      • CREATE_VIEW
      • CREATE_PROCEDURE
      • CREATE_SEQUENCE
      • CREATE_TRIGGER
    • Assurez-vous que le quota du schéma d'utilisateur est défini sur Illimité dans l'espace de table USERS.

  • Arrêtez manuellement les services ZENworks exécutés sur tous les serveurs de la zone de gestion.

    Pour arrêter les services :

    • Sous Windows : procédez comme suit :

      1. Depuis le menu Démarrer de Windows, cliquez sur Paramètres > Panneau de configuration.

      2. Double-cliquez sur Outils d'administration > Services.

      3. Arrêtez les services suivants : Serveur Novell ZENworks, Moniteur de service Novell ZENworks et Service d'agent Novell ZENworks.

    • Sous Linux : à l'invite de la console, saisissez les commandes ci-dessous :

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

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

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

  • Assurez-vous que le service Novell ZENworks Embedded Datastore sur le serveur primaire fonctionne.

    • Sous Windows : procédez comme suit :

      1. Depuis le menu Démarrer de Windows, cliquez sur Paramètres > Panneau de configuration.

      2. Double-cliquez sur Outils d'administration > Services.

      3. L'état du service Novell ZENworks Embedded Datastore doit être Démarré.

    • Sous Linux : à l'invite de la console, saisissez /etc/init.d/./sybase-asa status.

  • (Facultatif) L'état de la migration de la base de données est consigné dans le fichier novell-zenworks-configure.log. Par défaut, seuls les messages du type Info et Severe (Grave) sont consignés. Si vous souhaitez que les autres types de messages (tels que Finer (plus précis), Finest (le plus précis) et Warning (avertissement)) soient également consignés dans le fichier, procédez comme suit dans le fichier novell-zenworks-configure.properties :

    1. Définissez la valeur de Logger.logLevel sur le type de message approprié.

      Par exemple, si vous souhaitez que les messages du type Le plus fin soient consignés :

       #Logger.logLevel   = FINEST
      
    2. Annulez la marque de commentaire de la ligne en retirant le # de la façon suivante :

      Logger.logLevel   = FINEST
      

    Le fichier novell-zenworks-configure.properties se trouve dans %ZENWORKS_HOME%\conf\ sous Windows et dans /etc/opt/novell/zenworks/ sous Linux.

34.6.2 Migration des données depuis la base de données Sybase SQL Anywhere vers une base de données Oracle

Migration des données depuis la base de données Sybase SQL Anywhere vers une base de données Oracle

  1. Assurez-vous que toutes les tâches répertoriées dans la Section 34.6.1, Préparation du déplacement des données sont terminées.

  2. Exécutez l’utilitaire de migration de la base de données.

    • Sous Windows : à l'invite de commande, accédez au fichier chemin_d'installation_ZENworks\bin\novell-zenworks-configure.bat et saisissez la commande suivante :

      novell-zenworks-configure.bat -c DBMigrateConfigureAction

    • Sous Linux : à l'invite de la console, accédez à /opt/novell/zenworks/sbin et saisissez la commande suivante :

      novell-zenworks-configure -c DBMigrateConfigureAction

  3. Saisissez le type Oracle pour la base de données cible.

  4. Saisissez l'adresse IP ou le nom d'hôte du serveur de base de données.

  5. Saisissez le port utilisé par le serveur de base de données Oracle.

  6. Saisissez le nom complet du service net pour la base de données Oracle.

  7. Vous pouvez choisir de créer un nouveau schéma d'utilisateur ou d'utiliser un schéma d'utilisateur existant.

    Pour créer un schéma, poursuivez avec l'Étape 8.

    Si vous choisissez d'utiliser un schéma d'utilisateur existant, passez à l'Étape 9.

  8. Saisissez le nom d'utilisateur et le mot de passe de l'administrateur du serveur de base de données.

  9. Saisissez le nom du schéma lorsque vous êtes invité à fournir le nom d'utilisateur de la base de données.

  10. Saisissez le mot de passe du schéma de la base de données lorsque vous êtes invité à fournir le mot de passe de l'utilisateur de la base de données.

    La migration de la base de données démarre.

  11. Lorsque la migration de la base de données est terminée, vous pouvez consulter le fichier novell-zenworks-configure.log pour vérifier si elle a réussi. Le fichier journal se trouve dans %ZENWORKS_HOME%\log\ sous Windows et dans /var/opt/novell/log/zenworks/ sous Linux.

  12. Lorsque la migration de la base de données est terminée, continuez avec la Section 34.6.3, Tâches consécutives à la migration.

Reprise de la migration de la base de données

Si la migration de la base de données a été interrompue pour une raison quelconque, ZENworks Migration Utility permet de la reprendre si le fichier dbmigration.xml a été créé. Ce fichier se trouve dans le répertoire chemin_d'installation_ZENworks\bin sous Windows et dans le répertoire /opt/novell/zenworks/bin sous Linux.

  1. Exécutez l’utilitaire de migration de la base de données.

    • Sous Windows : à l'invite de commande, accédez au fichier chemin_d'installation_ZENworks\bin\novell-zenworks-configure.bat et saisissez la commande suivante :

      novell-zenworks-configure.bat -c DBMigrateConfigureAction

    • Sous Linux : à l'invite de la console, accédez à /opt/novell/zenworks/sbin et saisissez la commande suivante :

      novell-zenworks-configure -c DBMigrateConfigureAction

  2. Saisissez le type Oracle pour la base de données cible.

  3. Saisissez l'adresse IP ou le nom d'hôte du serveur de base de données.

    vous devez indiquer l'adresse IP ou le nom d'hôte du serveur de base de données Oracle lorsque vous faites migrer la base de données. Par exemple, si vous aviez spécifié l'adresse IP du serveur de base de données lors de la migration de la base de données, vous devez indiquer la même adresse IP lors de la reprise de la migration de la base de données. Vous ne pouvez pas indiquer le nom d'hôte du serveur de base de données.

  4. Saisissez le port utilisé par le serveur de base de données Oracle.

  5. Saisissez le nom complet du service net pour la base de données Oracle.

  6. Choisissez d'utiliser un schéma existant.

  7. Saisissez le nom du schéma lorsque vous êtes invité à fournir le nom d'utilisateur de la base de données spécifié avant d'arrêter la migration de la base de données.

  8. Saisissez le mot de passe du schéma de la base de données lorsque vous êtes invité à fournir le mot de passe de l'utilisateur de la base de données spécifié avant d'arrêter la migration de la base de données.

  9. Choisissez de reprendre la migration de la base de données.

    La migration de la base de données démarre.

  10. Lorsque la migration de la base de données est terminée, continuez avec la Section 34.6.3, Tâches consécutives à la migration.

34.6.3 Tâches consécutives à la migration

S'il n'existe qu'un serveur dans la zone de gestion, tous les services ZENworks démarrent automatiquement lorsque la migration des données vers la base de données Oracle est terminée.

S'il existe plusieurs serveurs dans la zone de gestion :

  1. Sur le périphérique sur lequel vous avez exécuté l'utilitaire de migration, copiez les fichiers suivants dans le répertoire approprié de tous les serveurs :

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

    Les fichiers se trouvent dans le répertoire chemin_d'installation_ZENworks\conf\datamodel sous Windows et dans le répertoire /etc/opt/novell/zenworks/datamodel sous Linux.

  2. Redémarrez les services ZENworks.

    • Sous Windows : procédez comme suit :

      1. Depuis le menu Démarrer de Windows, cliquez sur Paramètres > Panneau de configuration.

      2. Double-cliquez sur Outils d'administration > Services.

      3. Démarrez les services suivants : Serveur Novell ZENworks, Moniteur de service Novell ZENworks et Service d'agent Novell ZENworks.

    • Sous Linux : à l'invite de la console, saisissez les commandes ci-dessous :

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

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

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

  3. Faites migrer les rapports ZENworks depuis la base de données Sybase SQL Anywhere vers une base de données Oracle :

    1. Installez le client Oracle sur un serveur primaire dépourvu d'instance de ZENworks Reporting Server.

    2. Installez une nouvelle instance de ZENworks Reporting Server sur le périphérique sur lequel vous avez installé le client Oracle.

    3. Copiez les rapports sur le périphérique dans lequel la nouvelle instance du serveur de reporting est en cours d'exécution. Il s'agit des rapports ZENworks que vous avez enregistrés avant la migration. Pour plus d'informations, reportez-vous à la Section 34.6.1, Préparation du déplacement des données.

    4. Publiez les rapports et restaurez les droits de création de rapport et les détails de propriété des rapports à l'aide de la commande suivante :

      zman rpld chemin_du_répertoire_contenant_rights.xml_et_ownership.xml

    5. Désinstallez l'instance de ZENworks Reporting Server ayant été installée avant la migration de la base de données.

Le serveur ZENworks pointe désormais vers la nouvelle base de données.

Pour la base de données Oracle 10g, les noms d'administrateur sont sensibles à la casse, y compris les noms de login des sources d'utilisateurs. Le compte administrateur ZENworks par défaut qui est créé automatiquement pendant l'installation commence par une majuscule. Pour vous loguer au Centre de contrôle ZENworks, vous devez donc entrer Administrateur.

34.6.4 Dépannage de la migration de la base de données

Dépannage d'une exception Java Heap Space

Si vous rencontrez une exception Java Heap Space au cours de la migration de la base de données en raison d'un manque de mémoire :

  1. Modifiez le fichier chemin_d'installation_ZENworks\bin\novell-zenworks-configure.bat sous Windows ou /opt/novell/zenworks/bin/novell-zenworks-configure sous Linux pour changer la valeur de heap space sur la ligne suivante, selon la RAM du périphérique sur lequel l'utilitaire de migration est exécuté :

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

    la valeur de heap space est représentée en mégaoctets (Mo) dans -Xmx128m. Par défaut, il est de 128.

    Par exemple, si la RAM du périphérique est de 512 Mo, la ligne du fichier novell-zenworks-configure.bat peut être modifiée de la façon suivante :

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

    IMPORTANT :la valeur de heap space doit être inférieure ou égale à la RAM du périphérique.

  2. Á l'invite de la console, exécutez le fichier chemin_d'installation_ZENworks\bin\novell-zenworks-configure.bat sous Windows ou /opt/novell/zenworks/bin/novell-zenworks-configure sous Linux.

  3. Suivez les invites.

    Lorsque vous êtes invité à saisir l'emplacement du fichier requis pour reprendre la migration, entrez le chemin complet de DBMigration.xml. Le fichier se trouve dans le répertoire chemin_d'installation_ZENworks\bin sous Windows et dans le répertoire /opt/novell/zenworks/bin sous Linux.

    Le fichier XML contient la liste des tables et un drapeau indiquant si la migration de la table a réussi. Lorsque la migration de la base de données reprend, seules les tables dont la valeur du drapeau est définie sur False sont migrées.

Dépannage de la défaillance d'une base de données Oracle

En cas de défaillance de la base de données Oracle au cours de la migration :

  1. Á l'invite de la console, exécutez le fichier chemin_d'installation_ZENworks\bin\novell-zenworks-configure.bat sous Windows ou /opt/novell/zenworks/bin/novell-zenworks-configure sous Linux.

  2. Suivez les invites.

    Lorsque vous êtes invité à saisir l'emplacement du fichier requis pour reprendre la migration, entrez le chemin complet de DBMigration.xml. Le fichier se trouve dans le répertoire chemin_d'installation_ZENworks\bin sous Windows et dans le répertoire /opt/novell/zenworks/bin sous Linux.

    Le fichier XML contient la liste des tables et un drapeau indiquant si la migration de la table a réussi. Lorsque la migration de la base de données reprend, seules les tables dont la valeur du drapeau est définie sur False sont migrées.

    IMPORTANT :ne modifiez pas le contenu de DBMigration.xml.

Dépannage d'un problème d'espace de table Oracle

Si l'espace de table Oracle USERS ne dispose pas de l'espace suffisant pour créer et stocker le schéma de base de données ZENworks, la migration de la base de données échoue avec les messages d'erreur suivants lors de la création des tables :

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

Pour résoudre ce problème, l'administrateur de la base de données Oracle doit augmenter la taille de l'espace de table USERS. Assurez-vous que l'espace de table dispose de 100 Mo au minimum pour créer le schéma de base de données ZENworks sans aucune donnée intégrée, ainsi que d'un espace supplémentaire approprié selon la taille de la base de données devant migrer.

Dépannage du problème d'échec de migration de base de données

Si le paramètre NLS_CHARACTERSET n'est pas défini sur AL32UTF8 et si le paramètre NLS_NCHAR_CHARACTERSET n'est pas défini sur AL16UTF16, la migration de base de données échoue et les messages d'erreur suivants s'affichent :

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], [],
[], [], [], [], []

Pour résoudre ce problème, définissez le paramètre NLS_CHARACTERSET sur AL32UTF8 et le paramètre NLS_NCHAR_CHARACTERSET sur AL16UTF16. Pour vérifier que les paramètres de définition des caractères sont configurés avec les valeurs recommandées, exécutez la requête suivante à l'invite de la base de données :

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

Dépannage de la migration de la base de données à l'aide d'un schéma d'utilisateur existant

Si vous choisissez de faire migrer la base de données en utilisant un schéma d'utilisateur existant, l'utilitaire de migration de base de données crée la base de données ZENworks mais il peut échouer à faire migrer les données.

Pour résoudre ce problème :

  1. Assurez-vous que les tables, vues et séquences d'utilisateurs ZENworks sont supprimées par l'administrateur de la base de données ZENworks venant d'être créée. Par la suite, effacez la table user_recyclebin de la base de données.

  2. Redémarrez la migration de la base de données en utilisant le même schéma d'utilisateur. Pour plus d'informations, reportez-vous à la Migration des données depuis la base de données Sybase SQL Anywhere vers une base de données Oracle.

34.6.5 Rétablissement de la base de données Sybase

Si vous voulez rétablir l'utilisation de la base de données Sybase :

  1. Sur le périphérique sur lequel vous avez exécuté l'utilitaire de migration, remplacez le nom des fichiers suivants :

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

    Les fichiers se trouvent dans le répertoire chemin_d'installation_ZENworks\conf\datamodel sous Windows et dans le répertoire /etc/opt/novell/zenworks/datamodel sous Linux.

  2. Redémarrez tous les services ZENworks :

    • Sous Windows : procédez comme suit :

      1. Depuis le menu Démarrer de Windows, cliquez sur Paramètres > Panneau de configuration.

      2. Double-cliquez sur Outils d'administration > Services.

      3. Démarrez les services suivants : Serveur Novell ZENworks, Moniteur de service Novell ZENworks et Service d'agent Novell ZENworks.

    • Sous Linux : à l'invite de la console, saisissez les commandes ci-dessous :

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

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

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