IT其它

关于本机2个数据库的互相编目(连接时显示SQL1031N错误)

在实例db2inst8下建立名为db8的数据库
在实例db2inst9下建立名为db9的数据库
在实例db2inst8下对db9编目

1.jpg


编目成功:

重启DB2

但connect是出现以下错误:

貌似是因为DB9的数据库目录不在/Home/db2inst9下,求高手指教
参与6

5同行回答

walkwolfwalkwolf其它SK
楼主的方法我尝试了一下,在db2inst8用户下使用db2 list db directory on /home/db2inst9 并没有输出结果,修改db2inst9的属组和权限后也没有输出结果db2inst8 db2inst9是两个实例,有两套配置文件、数据库目录、节点目录、节点配置文件等信息又有两套通信方式建议使用db2 cat...显示全部
楼主的方法我尝试了一下,在db2inst8用户下使用db2 list db directory on /home/db2inst9 并没有输出结果,修改db2inst9的属组和权限后也没有输出结果
db2inst8 db2inst9是两个实例,有两套配置文件、数据库目录、节点目录、节点配置文件等信息
又有两套通信方式
建议使用db2 catalog tcpip node nodename remote ip server port
db2 catalog db dbname at node nodename
编目另外一个实例的数据库信息到本实例的数据库编目信息中收起
系统集成 · 2013-11-19
浏览567
chenlw2chenlw2系统工程师trustfar
为什么要编目成本地的库呢,编目别的实例库最好用tcpip node方式,不影响使用,别的实例下的库你要编目成本地库,权限是不是需要改下,没这么搞过。显示全部
为什么要编目成本地的库呢,编目别的实例库最好用tcpip node方式,不影响使用,别的实例下的库你要编目成本地库,权限是不是需要改下,没这么搞过。收起
互联网服务 · 2013-11-19
浏览498
zhendazhenda数据库管理员昆仑银行
别叫老师,咱们都是 一起研究问题,不会的大家一起研究。编目有两中一种是本地编目,on path 用来编目本地数据库。即在该实例中针对本地数据库。还有一种就是at node node_name,用来编目其他实例,再用catalog db dbname as dbname at node nodename,进行数据库编目。编目信息分两...显示全部
别叫老师,咱们都是 一起研究问题,不会的大家一起研究。

编目有两中一种是本地编目,on path 用来编目本地数据库。即在该实例中针对本地数据库。
还有一种就是at node node_name,用来编目其他实例,再用catalog db dbname as dbname at node nodename,进行数据库编目。

编目信息分两个层面一个是实例层面,一个是数据库层面,若编目完后,已编目的数据库通过实例级别的node信息访问远程实例,通过远程实例再访问实例下的数据库,即实例是一个桥梁,连接两个库。

系统数据库目录信息存放在/sqllib/sqldbdir,本地数据库目录存放在//NODE0000/sqldbdir。

实际测试,若想编目其他实例下的数据库,已我本地库为例:

[db2inst1@localhost ~]$ db2 catalog tcpip node test remote 127.0.0.1 server 60004
DB20000I  The CATALOG TCPIP NODE command completed successfully.
DB21056W  Directory changes may not be effective until the directory cache is
refreshed.
[db2inst1@localhost ~]$ db2 list node directory

Node Directory

Number of entries in the directory = 1

Node 1 entry:

Node name                      = TEST
Comment                        =
Directory entry type           = LOCAL
Protocol                       = TCPIP
Hostname                       = 127.0.0.1
Service name                   = 60004

[db2inst1@localhost ~]$ db2 catalog db sampledb as sampledb at node test
DB20000I  The CATALOG DATABASE command completed successfully.
DB21056W  Directory changes may not be effective until the directory cache is
refreshed.
[db2inst1@localhost ~]$ db2 terminate
DB20000I  The TERMINATE command completed successfully.
[db2inst1@localhost ~]$ db2 list db directory

System Database Directory

Number of entries in the directory = 4

Database 1 entry:

Database alias                       = SAMPLE1
Database name                        = SAMPLE1
Local database directory             = /home/db2inst1
Database release level               = d.00
Comment                              =
Directory entry type                 = Indirect
Catalog database partition number    = 0
Alternate server hostname            =
Alternate server port number         =

Database 2 entry:

Database alias                       = TEST
Database name                        = TEST
Local database directory             = /home/db2inst1
Database release level               = d.00
Comment                              =
Directory entry type                 = Indirect
Catalog database partition number    = 0
Alternate server hostname            =
Alternate server port number         =

Database 3 entry:

Database alias                       = SAMPLEDB
Database name                        = SAMPLEDB
Node name                            = TEST
Database release level               = d.00
Comment                              =
Directory entry type                 = Remote
Catalog database partition number    = -1
Alternate server hostname            =
Alternate server port number         =

Database 4 entry:

Database alias                       = SAMPLE
Database name                        = SAMPLE
Local database directory             = /home/db2inst1
Database release level               = d.00
Comment                              =
Directory entry type                 = Indirect
Catalog database partition number    = 0
Alternate server hostname            =
Alternate server port number         =

[db2inst1@localhost ~]$ db2 connect to sampledb user db2inst2 using db2inst2

   Database Connection Information

Database server        = DB2/LINUXX8664 9.7.6
SQL authorization ID   = DB2INST2
Local database alias   = SAMPLEDB收起
软件开发 · 2013-11-19
浏览579
killwithgunzkillwithgunz数据库管理员IBM
回复 2# zhenda     zhenda老师,截图已更新,请您过目显示全部
回复 2# zhenda


    zhenda老师,截图已更新,请您过目收起
IT其它 · 2013-11-19
浏览499
zhendazhenda数据库管理员昆仑银行
报错信息显示找不到数据库目录,首先确认目录是否存在,贴出编目语句,和db2diag.LOG信息。显示全部
报错信息显示找不到数据库目录,首先确认目录是否存在,贴出编目语句,和db2diag.LOG信息。收起
软件开发 · 2013-11-19
浏览549

提问者

killwithgunz
数据库管理员IBM

问题状态

  • 发布时间:2013-11-18
  • 关注会员:1 人
  • 问题浏览:2583
  • 最近回答:2013-11-19
  • X社区推广