在本地数据库目录或系统数据库目录中已经存在数据库别名"*"的解决办法

原博客连接:https://www.cnblogs.com/sideny/p/3382613.html

在创建数据库时遇到数据库别名已存在的问题时,如图:

可以尝试这样解决:
1. 首先用命令查看在系统数据库目录(System Database Directory)中有没有该数据库,如果有,应该在确定该数据库是没有用的数据库之后用 db2 drop database 数据库名将其删除。


db2 list database directory

db2 drop database 数据库名

2. 如果没有,再用 db2 list database directory on 数据库所在目录 看在本地数据库目录(Local Database Directory)中有没有该数据库,location指定数据库的位置(如Windows下的C: ,Unix下的/home/db2inst1)。如果有,先用 db2 catalog database 数据库名 on location将数据库编目到节点上,再对其进行删除处理。

整体解决过程:

1.首先用db2 list database directory查看系统数据库目录,为空,说明不在系统数据库目录中。
2.在用db2 list database directory on location(这里是盘符c:,先尝试用localhost和127.0.0.1都不识别),然后发现有sample和source的别名。说明在本地数据库目录中。
3.catalog database source on c:
4.drop database source
5.catalog database sample on c:
6.drop database sample

删除结点:

uncatalog database source

注意:删除后再次用catalog database source on 节点目录 命令查询的话,就应该找不到source结点了。

恢复以前的数据库

// 找到旧数据库
db2 list database directory on 旧数据库所在目录 
// 进行关联还原
db2 catalog db db_name
// 还原成功
db2 connect to db_name

如果出现SQL6028N  因为在本地数据库目录中找不到数据库 "UMC_TEST",所以目录数据库失败。

则使用catalog database source on d:

你可能感兴趣的:(在本地数据库目录或系统数据库目录中已经存在数据库别名"*"的解决办法)