8 votes

Supprimer la base de données sur DB2 9.5 - SQL1035N La base de données est actuellement en cours d'utilisation.

Je n'ai jamais réussi à faire fonctionner cela du premier coup, mais maintenant je n'arrive plus du tout à le faire.

Il y a un pool de connexions quelque part utilisant la base de données, donc essayer de supprimer la base de données lorsqu'une application l'utilise peut donner cette erreur. Le problème est qu'il n'y a aucune connexion à la base de données lorsque j'exécute ces commandes :

db2 connect to mydatabase
db2 quiesce database immediate force connections
db2 connect reset
db2 drop database mydatabase

Cela donne toujours :

SQL1035N  La base de données est actuellement utilisée.  SQLSTATE=57019

en exécutant cette commande ne montre aucune connexion/application

DB2 list applications

Je peux même désactiver la base de données, mais je ne peux toujours pas la supprimer.

db2 => deactivate database mydatabase
DB20000I  La commande DEACTIVATE DATABASE s'est terminée avec succès.
db2 => drop database mydatabase
SQL1035N  La base de données est actuellement utilisée.  SQLSTATE=57019
db2 =>

Quelqu'un a des indices ? Je lance le cmd-windows en tant qu'administrateur local (Windows 2008) et c'est aussi l'administrateur pour DB2. L'utilisateur de la connexion pool ne peut pas se connecter en état de quiesce.

0voto

N-C Points 331

Lorsqu'une base de données est en mode quiescé, elle reste dans la chaîne des bases de données gérées par le gestionnaire de base de données, même si elle est marquée comme quiescée. Lorsque vous essayez de la supprimer, nous vérifions si elle se trouve dans cette chaîne ; si c'est le cas, alors elle est toujours en cours d'utilisation ==> Vous ne pouvez pas la supprimer.

Vous devez émettre une commande unquiesce db ou effectuer un db2stop et db2start, puis essayer de la supprimer. Ça devrait fonctionner.

0voto

Simon Points 1

J'ai un problème similaire mais peu importe comment je force l'arrêt de l'application, elle reviendra automatiquement.

Dans mon cas, c'est un service qui verrouille la base de données.

J'ai pu résoudre ce problème en mettant fin au PID du service depuis le Gestionnaire des tâches de Windows avec le PID trouvé dans la liste des applications DB2.

Pour trouver le PID, ouvrez le Centre de contrôle DB2, Toutes les bases de données, BASE DE DONNÉES (celle que vous essayez de supprimer), Liste des applications, Afficher la chaîne de verrouillage, Afficher les détails de verrouillage et faites défiler pour trouver l'ID du processus client et mettre fin à ce PID, puis réessayez.

J'espère que cela aidera les personnes à l'avenir.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X