问题删除DB2数据库

时间:2016-03-21 20:34:09

标签: database db2

所以我搞砸了。我试图释放一些磁盘空间并意外删除DB2连接/启动我的数据库所需的日志。 我之前遇到过这种情况,所以我取消了数据库的编目并删除了磁盘上的文件,以便我可以重新创建它。但是,当我重新创建数据库时,我得到:

SQL1005N数据库别名“BGTRUNK”已存在于本地 数据库目录或系统数据库目录。

db2 list database目录显示它已经消失了。我看到的其他所有搜索建议重新编目并丢弃数据库,但这显然不是现阶段的选择。

如何释放此别名以供重复使用?

2 个答案:

答案 0 :(得分:1)

我认为有两个可能的原因:

1)别名已存在于系统数据库目录中,但不存在于本地数据库目录中 -

使用DB2 CLI运行

来解决它

db2 uncatalog数据库BGTRUNK

2)别名已存在于本地数据库目录中,但不存在于系统数据库目录中。

使用DB2 CLI运行

来解决它

db2目录数据库BGTRUNK

db2 drop database BGTRUNK

答案 1 :(得分:0)

我终于找到了解决方法。问题是我删除了包含数据库的SQL000 *文件夹,但数据库别名仍然在SQLDBDIR文件中编目。我无法删除并重新开始,因为我还有其他几个数据库会因此而丢失。 通过重新编目数据库并运行

,我能够看到它曾经被调用过的东西

C:\

上的db2 list db目录

输出如:

Database 3 entry:    
Database alias                       = BGTRUNK
Database name                        = BGTRUNK
Database directory                   = SQL00002
Database release level               = f.00
Comment                              =
Directory entry type                 = Home
Catalog database partition number    = 0
Database member number               = 0

SQL00002不再存在,但我使用我所拥有的其中一个数据库中的数据重新创建它。这足以说服db2存在数据库,因此我可以成功删除。