WebSphere Enterprise Service Bus, Version 6.2.0 Systèmes d'exploitation: AIX, HP-UX, i5/OS, Linux, Solaris, Windows


Suppression des données d'instance de relation dans le référentiel

Une application qui utilise des relations possède un schéma de relation et des données associés dans un référentiel. Le référentiel est la base de données configurée pour stocker les données de relation. Lorsque vous désinstallez une application d'un serveur de production, le serveur ne supprime pas le schéma de relation et les données dans le référentiel. Pour cela, vous devez supprimer manuellement le schéma de relation existant.

Avant de commencer

Assurez-vous de désinstaller l'application qui utilise le schéma de relation dans tous les serveurs qui accèdent à ce schéma.

Pourquoi et quand exécuter cette tâche

Lorsque vous installez une application contenant des relations, le serveur crée les objets de schéma de base de données correspondant y compris les tables, les index, les séquences et les procédures mémorisées. Au moment de l'exécution, les tables sont complétées par des données d'instance de relation. Si vous désinstallez l'application qui contient les relations, les tables et les données d'instance ne sont pas supprimées dans la base de données. Cela peut poser un problème si vous essayez de réinstaller l'application après avoir modifié la relation ou les définitions de rôle.
Remarque : Si vous utilisez le serveur de test UTE (Unit Test Environment) de WebSphere Integration Developer, le schéma et les données de relation sont supprimés dans le référentiel lorsqu'un projet d'application est supprimé.

Si vous réinstallez l'application avec la même relation, l'ancien schéma sera réutilisé. Cependant, si les modifications apportées à la relation ou la définition de rôle la rendent incompatible avec le schéma existant, le service de relation émet une exception et interrompt l'installation de la relation. Les journaux contiennent l'exception et le message suivants :

RelationshipServiceException("table <tablename> existe déjà mais le schéma de table est différent de l'actuelle définition de rôle")

Pour résoudre ce problème, supprimez manuellement les artefacts du schéma de relation existant à l'aide des outils fournis par la plateforme de base de données de votre référentiel, et réinstallez l'application.

Pour supprimer le schéma de relation existant dans le référentiel, procédez comme suit :

Procédure
  1. Localisez la base de données. L'emplacement de la base de données dépend de la plateforme de base de données.
    Option Description
    Plateforme de base de données Emplacement
    Derby WASHOME\derby\databases\RepositoryDB
    Autres bases de données L'emplacement est configuré pendant l'installation et la création de profil de serveur. Par exemple, si vous configurez le serveur automatiquement et sélectionnez le nom de base de données par défaut, le nom de la base de données est WPRCSDB.

    Pour DB2 on i5/OS, le conteneur référencé est une collection et non une base de données. C'est le nom de la collection et non celui de la base de données qui est configuré lors de l'installation et de la création du profil. C'est aussi la collection et non la base de données qui est nommée par défaut WPRCSDB.

  2. Supprimez les artefacts de la base de données composant une relation : A l'aide des outils de la plateforme de base de données, effectuez les étapes suivantes pour supprimer tous les objets de base de données d'une relation spécifique.
    1. Avant de supprimer des données de la base de données, procédez au préalable à une sauvegarde de la base de données.
      Remarque : Pour DB2 on i5/OS, faites une sauvegarde de la collection avant de supprimer les données.
    2. Rechercher les tables de relation. Les tables suivantes sont créées au moment de l'installation des relations.
      Table Format
      1 table pour les propriétés de relation _<relname>_P_uniqueidentifier
      1 table pour la génération d'ID instance de chaque relation (sur Derby) _<relname>_S_uniqueidentifier
      1 table pour les propriétés de rôle pour chaque rôle propre à l'application _<relname>_<rolename>_P_uniqueidentifier
      1 table pour chaque rôle propre à l'application (pour les relations statiques, 1 table pour le rôle générique est également créé) _<relname>_<rolename>_RT_uniqueidentifier
      Restriction : Seuls les quatre premiers caractères du nom de la relation sont utilisés. Si la base de données contient des tables pour plusieurs relations, il est conseillé de modifier les quatre premiers caractères des noms de relation.
    3. Rechercher les procédures mémorisées. Les objets de procédure mémorisée possèdent le format suivant :

      _<relname>_RS_uniqueidentifier ou _<relname>_<rolename>_RS_uniqueidentifier

    4. Rechercher les séquences. Les objets de séquence possèdent le format suivant :

      _<relname>_S_uniqueidentifier

      Restriction : Les séquences ne sont pas prises en charge sous Derby.
    5. A l'aide des outils de la plateforme de base de données, supprimez les éléments suivants :
      1. tables
      2. procédures mémorisées
      3. séquences (sauf pour Derby)

Résultats

Les données d'instance de relation sont supprimées du référentiel de base de données.

Que faire ensuite

Vous pouvez maintenant réinstaller l'application.

task Rubrique relative à une tâche

Conditions d'utilisation | Commentaires en retour


Icône d'horodatage Dernière mise à jour: 07 juillet 2010


http://publib.boulder.ibm.com/infocenter/dmndhelp/v6r2mx/topic//com.ibm.websphere.wesb620.doc/doc/tadm_relmgr_remove_relinstdata.html
Copyright IBM Corporation 2005, 2010. All Rights Reserved.
Ce centre d'information est mis en service par la technologie Eclipse (http://www.eclipse.org).