所以我搞砸了。我试图释放一些磁盘空间并意外删除DB2连接/启动我的数据库所需的日志。 我之前遇到过这种情况,所以我取消了数据库的编目并删除了磁盘上的文件,以便我可以重新创建它。但是,当我重新创建数据库时,我得到:
SQL1005N数据库别名“BGTRUNK”已存在于本地 数据库目录或系统数据库目录。
db2 list database目录显示它已经消失了。我看到的其他所有搜索建议重新编目并丢弃数据库,但这显然不是现阶段的选择。
如何释放此别名以供重复使用?
答案 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存在数据库,因此我可以成功删除。