Database 两个实例上的DB2数据库名称相同
我尝试在两个实例上创建名为“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列表数据库目录-->返回“数据库目录为空”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
我猜这意味着一个目录中不能有相同的数据库名。然而,我正在遵循bigdatauniversity.com的教程,他们能够在两个不同的实例上成功创建两个同名数据库,而无需任何其他步骤。为什么在我的例子中,在“myinst”上创建数据库失败了,但在教程演示中成功了?我没有看到在从一个实例更改到另一个实例之间有
db2 terminate
命令,因此db2后端进程可能会对应该连接到哪个实例感到困惑
在执行之前尝试执行
db2terminate
,您必须在加入另一个实例之前发出terminate命令。在这里,有一个脚本可以帮助您在Linux中使用别名完成所有这些过程:在将实例设置为“myinst”之前,我尝试了执行“db2terminate”。它不起作用。我还验证了“mydb1”确实存在于实例“DB2”中,但仍然无法在实例“myinst”中创建它,因为DB2 CLP返回“SQL1005N”,数据库别名“mydb1”已经存在于本地数据库目录或系统目录中。同样,“mydb1”存在于独立于“myinst”的实例“DB2”中所以我不明白为什么会发生这种情况。