Database 两个实例上的DB2数据库名称相同

Database 两个实例上的DB2数据库名称相同,database,db2,Database,Db2,我尝试在两个实例上创建名为“mydb1”的数据库:“DB2”和“myinst”。它成功地在“DB2”上创建,但在尝试在“myinst”上创建时显示此错误: SQL1005N本地数据库目录或系统目录中已存在数据库别名“MYDB1” 以下是我按顺序执行的命令: db2 get实例-->返回“db2” db2createdbmydb1 db2列表数据库目录-->返回“mydb1” db2icrt-myinst 设置db2instance=myinst db2 get实例-->返回“myinst” db

我尝试在两个实例上创建名为“mydb1”的数据库:“DB2”和“myinst”。它成功地在“DB2”上创建,但在尝试在“myinst”上创建时显示此错误:

SQL1005N本地数据库目录或系统目录中已存在数据库别名“MYDB1”

以下是我按顺序执行的命令:

db2 get实例-->返回“db2”

db2createdbmydb1

db2列表数据库目录-->返回“mydb1”

db2icrt-myinst

设置db2instance=myinst

db2 get实例-->返回“myinst”

db2start

db2 create db mydb1-->返回如上所示的错误消息

db2列表数据库目录-->返回“数据库目录为空”


我猜这意味着一个目录中不能有相同的数据库名。然而,我正在遵循bigdatauniversity.com的教程,他们能够在两个不同的实例上成功创建两个同名数据库,而无需任何其他步骤。为什么在我的例子中,在“myinst”上创建数据库失败了,但在教程演示中成功了?

我没有看到在从一个实例更改到另一个实例之间有
db2 terminate
命令,因此db2后端进程可能会对应该连接到哪个实例感到困惑


在执行之前尝试执行
db2terminate
,您必须在加入另一个实例之前发出terminate命令。在这里,有一个脚本可以帮助您在Linux中使用别名完成所有这些过程:在将实例设置为“myinst”之前,我尝试了执行“db2terminate”。它不起作用。我还验证了“mydb1”确实存在于实例“DB2”中,但仍然无法在实例“myinst”中创建它,因为DB2 CLP返回“SQL1005N”,数据库别名“mydb1”已经存在于本地数据库目录或系统目录中。同样,“mydb1”存在于独立于“myinst”的实例“DB2”中所以我不明白为什么会发生这种情况。