DB2联合数据库(Federated Database)配置教程(实测版)
DB2联合数据库(Federated Database)配置教程(实测版)
使用DB2联合数据库,使用一条SQL语句即可查询多个数据源中的数据。
测试环境:
- Windows Server 2008 R2 Enterprise
- DB2-Express-C 11.1
待解决的问题:数据库Source-db和Target-db在同一服务器,需要在数据库Source-db中访问Target-db中的表tab1。
操作步骤:
1. 使用windows管理员权限的用户Administrator登录windows;
2. 执行db2 db2start命令,启动数据库管理器(DB2实例);
3. 运行DB2 GET DBM CFG 命令来查看当前实例的配置参数,并确保FEDERATED参数设置为YES;
- db2 update dbm cfg using Federated YES #修改配置参数
- db2 db2stop force
- db2 db2start #重启后生效
4. 连接到 Source-db数据库,并创建DRDA包装器(WRAPPER);
db2 CONNECT TO Source-db
db2 CREATE WRAPPER DRDA
或者:
db2 CREATE WRAPPER DRDA LIBRARY ‘db2drda.dll’ OPTIONS ( ADD DB2_FENCED ‘N’)
5. 创建服务器(SERVER)
CREATE SERVER 服务器名称 TYPE DB2/UDB VERSION ‘11.1.3.3’ WRAPPER “DRDA” AUTHID <对方用户> PASSWORD <对方密码> OPTIONS( ADD DBNAME <目标数据库>)
示例:
CREATE SERVER FP TYPE DB2/UDB VERSION ‘11.1.3.3’ WRAPPER “DRDA” AUTHID “db2admin” PASSWORD “123321” OPTIONS( ADD DBNAME ‘Target-db’)
备注:使用安装DB2的时候自动创建的db2admin用户
6. 创建用户映射
CREATE USER MAPPING FOR “ADMINISTRATOR” SERVER “FP” OPTIONS ( ADD REMOTE_AUTHID ‘db2admin’, ADD REMOTE_PASSWORD ‘123321’)
7. 创建NICKNAME
CREATE NICKNAME TABSCHEMA.TABNAME FOR FP.TABSCHEMA.tab1
备注: FP.模式.数据表名中,FP对应数据库Target-db
8. 跨数据库访问数据表
SELECT * FROM Source-db.TABSCHEMA.TABNAME
[1] DB2数据库之间联邦
[2] DB2联合数据库(Federated Database)配置实例
[3] DB2跨数据库访问表的方法