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.

9voto

Bell Points 5881

Tout comme un conseil si le conseil d'Arun ne fonctionne pas, car une application distante se reconnecte instantanément à la base de données.

db2 force applications all 
db2 terminate 

db2set DB2COMM= 
db2stop 
db2start 

db2 force applications all 
db2 terminate 

... faire vos trucs ici ...

db2set DB2COMM=TCPIP 
db2stop 
db2start 

Je ne suis pas sûr si le db2 force et le db2 terminate sont nécessaires, cependant. C'est juste notre meilleure pratique.

2voto

m1k3t Points 21

Je viens de utiliser 'db2stop force', puis 'db2start', puis supprimer la base de données. Cette méthode est meilleure que la commande quiesce qui est asynchrone par nature.

2voto

Bell Points 5881

Votre problème peut survenir en raison des différences entre connect reset et terminer. Jetez un œil à cette discussion. Vous pouvez également consulter la documentation IBM. Il se peut que cela fonctionne pour vous si vous exécutez un db2 terminer instead plutôt qu'un db2 connect reset.

1voto

Darcy Points 11

La mise en pause empêchera la suppression de fonctionner. Nous avons été impliqués dans un important effort de nettoyage et après avoir exécuté les commandes révoquer/connecter et mettre en pause les bases de données, nous avons attendu quelques mois pour supprimer les bases de données de test. Notre commande de suppression ne fonctionnait pas à moins que nous n'ayons remis la base de données en activité avant de la supprimer.

0voto

Effectuez ces étapes à partir de la ligne de commande. Cela supprimera la base de données :

Force applications all;

désactiver db ;

supprimer db ;

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