在 DB2 9.5 中删除数据库 - SQL1035N 数据库当前正在使用中

在 DB2 9.5 中删除数据库 - SQL1035N 数据库当前正在使用中

我第一次从来没有让这个工作正常进行,但现在我似乎根本无法做到这一点。

某个地方有一个使用数据库的连接池,因此当应用程序正在使用数据库时尝试删除数据库应该会出现此错误。问题是当我发出以下命令时没有与数据库的连接:

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

这总是给出:

SQL1035N  The database is currently in use.  SQLSTATE=57019

运行此命令显示没有连接/应用程序

DB2 list applications

我甚至可以停用数据库,但仍然无法删除它。

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 =>

有人有线索吗?我以本地管理员 (windows 2008) 身份运行 cmd-windows,这也是 DB2 的管理员。连接池用户在静默状态期间无法连接。

答案1

如果 Arun 的提示不起作用,则仅作为提示,因为远程应用程序会立即重新连接到数据库。

db2 force applications all 
db2 terminate 

db2set DB2COMM= 
db2stop 
db2start 

db2 force applications all 
db2 terminate 

... do your stuff here ...

db2set DB2COMM=TCPIP 
db2stop 
db2start 

但不确定是否有db2 force必要db2 terminate。这只是我们的最佳实践。

答案2

我只是使用 'db2stop force',然后使用 'db2start',然后 drop db。这种方法比本质上是异步的 quiesce 命令更好。

答案3

您的问题可能是由于connect reset和的差异而发生的terminate。请查看这次讨论。您还可以查看 IBM 文档。因此,如果您运行 ,它可能会对您db2 terminate instead有用db2 connect reset

答案4

从命令行执行以下步骤。这将删除数据库:

强制所有应用程序;

停用 db;

删除数据库;

相关内容