DB2数据库联邦创建步骤
准备工作:
本地数据库 :
数据库:sample ; IP地址:192.168.56.101 ; 端口号:50000 ;用户名:db2inst1 ; 密码:db2inst1
对方数据库 :
数据库:payment ; IP地址:192.168.56.101 ; 端口号:50002 ;用户名:db2inst2 ; 密码:db2inst2
远程数据库全局设置应该如下:
示例:
添加编目数据库:
创建数据库联邦:
查看联邦数据:
参考步骤:
1.查看联合数据库参数是否可用,不可用则设置为可用
db2 get dbm cfg | grep -i federated ----查询命令
db2 update dbm cfg using federated yes ----重置命令
db2stop force
db2start
2.编目远程数据库节点(编目节点名称不能超过8位)
命令格式: db2 catalog TCPIP NODE <节点名> REMOTE <对方数据库地址> SERVER <对方数据库端口>
$ db2 catalog tcpip node db2node1 remote 192.168.56.101 server 50002
3.编目远程数据库(编目数据库名称不能超过8位)
命令格式: db2 catalog db <DBNAME> AS <aliasDBNAME> AT NODE <node_name> AUTHENTICATION SERVER
$ db2 catalog db payment as payment1 at node db2node1 authentication SERVER
4.连接本地数据库
$ db2 connect to sample
5.创建WRAPPER
$ db2 create wrapper drda
6.创建连接对方数据的SERVER(不要重名)
命令格式:
db2 "create server <server_name> type DB2/UDB version 9.7 wrapper "DRDA" authorization <对方用户> password <对方密码> options (NODE '<node_name>',dbname '<对方数据库>')"
$ db2 "create server payment1svr type DB2/UDB version 10.5 wrapper "DRDA" authorization \"db2inst2\" password \"db2inst2\" options( NODE 'NODE01', DBNAME 'payment')"
7.创建MAPPING
命令格式: db2 "create user mapping for <本地用户> server <server_name> options (remote_authid '<对方用户>', remote_password '对方密码')"
$ db2 "create user mapping for \"db2inst1\" server payment1svr options (remote_authid 'db2inst2',remote_password 'db2inst2')"
8.创建联邦关系表
命令格式: db2 "create nickname <schema.table_alias_name> for <server_name.对方用户名.table>"
$ db2 "create nickname db2inst1.SD_DEFAULT_CHANNEL_MCC for payment1svr.db2inst2.SD_DEFAULT_CHANNEL_MCC"