2014-03-02 68 views
0

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

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

下面是我为了做了命令:

DB2获得实例 - >返回 “DB2”

创建DB2数据库MYDB1

DB2列表数据库目录 - >返回 “MYDB1”

db2icrt MYINST

组DB2INSTANCE = MYINST

DB2获得实例 - >返回 “MYINST”

DB2START

创建DB2数据库MYDB1 - >返回上述

DB2列表数据库目录显示错误信息 - 数据库目录>申报表”空“

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

回答

1

我在从1个实例到另一个实例之间没有看到db2 terminate命令,所以看起来DB2后端进程可能会混淆它应该附加到哪个实例。

在执行set DB2INSTANCE=myinst之前尝试执行db2 terminate

+0

您必须在加入另一个实例之前发出终止命令。在这里,一个脚本可以帮助您在Linux中使用别名来完成所有这些过程:https://gist.github.com/angoca/6279599 – AngocA

+0

在将实例设置为“myinst”之前,我尝试了“db2 terminate”。它不起作用。我还证实,“mydb1”的确在实例“DB2”中,并且仍然无法在“myinst”实例中创建它,因为DB2 CLP返回“SQL1005N”数据库别名“MYDB1”已经存在于本地数据库目录或系统目录中。 “同样,“mydb1”存在于与“myinst”无关的实例“DB2”中,所以我不明白为什么会发生这种情况。 –

相关问题