Nunca lo hice funcionar la primera vez, pero ahora parece que no puedo hacerlo en absoluto.
Hay un grupo de conexiones en algún lugar que usa la base de datos, por lo que tratar de descartar la base de datos cuando una aplicación está usando la base de datos debería dar este error. El problema es que no hay conexión a la base de datos cuando publico estos comandos:
db2 connect to mydatabase
db2 quiesce database immediate force connections
db2 connect reset
db2 drop database mydatabase
Esto siempre da:
SQL1035N The database is currently in use. SQLSTATE=57019
ejecutar este comando no muestra conexiones / aplicaciones
DB2 list applications
Incluso puedo desactivar la base de datos, pero aún así no puedo soltarla.
db2 => deactivate database mydatabase
DB20000I The DEACTIVATE DATABASE command completed successfully.
db2 => drop database mydatabase
SQL1035N The database is currently in use. SQLSTATE=57019
db2 =>
¿Alguien tiene alguna pista? Estoy ejecutando cmd-windows como administrador local (Windows 2008) y este también es el administrador de DB2. El usuario de la agrupación de conexiones no puede conectarse durante el estado de reposo.
DB2 connect reset
Solo uso 'db2stop force', luego 'db2start', luego dejo caer db. De esta manera es mejor que el comando de inmovilización que es asíncrono por naturaleza.
fuente
Su problema puede ocurrir debido a las diferencias de
connect reset
yterminate
. Echa un vistazo a esta discusión . También puede echar un vistazo a la documentación de IBM. Por lo tanto, podría funcionar para usted si ejecuta undb2 terminate instead
de adb2 connect reset
.fuente
La inactividad evitará que la caída funcione. Estuvimos involucrados en un gran esfuerzo de limpieza y después de ejecutar revocar / conectar y anular las bases de datos, esperamos unos meses para eliminar los dbs de prueba. Nuestro comando drop no funcionaría a menos que quitáramos la base de datos y luego la soltáramos.
fuente
Siga estos pasos desde la línea de comando. Esto soltará el db:
Forzar todas las aplicaciones;
desactivar db;
soltar db;
fuente
Cuando una base de datos está inactiva, todavía está en la cadena de bases de datos con el administrador de bases de datos, aunque marcada como inactiva. Cuando intente soltarlo, verificaremos si está en esta cadena; si es así, entonces todavía está en uso ==> No puede soltarlo.
Debe emitir un DB inquieto o emitir un db2stop y db2start y luego intentar soltarlo. Deberia de funcionar.
fuente
Tengo un problema similar, pero no importa cómo fuerce la detención de la aplicación, volverá automáticamente.
En mi caso, es un servicio que bloquea la base de datos.
Pude resolver esto terminando el servicio PID del Administrador de tareas de Windows con el PID que se encuentra en la Lista de aplicaciones de DB2.
Para encontrar PID, abra el Centro de control de DB2, Todas las bases de datos, BASE DE DATOS (la que está tratando de soltar), Lista de aplicaciones, Mostrar cadena de bloqueo, Mostrar detalles de bloqueo y desplácese hacia abajo para encontrar la ID de proceso del cliente y finalice este PID e intente nuevamente.
Espero que esto ayude a las personas en el futuro.
fuente