当前位置:首页 > 数据库 > SQL其他

DB2联邦数据库及配置方法

 

那么,数据库联邦是怎么工作的?

DB2联邦数据库及配置方法 - 文章图片

联邦者(federator系统对远程系统被联邦者(federatee中的表进行操作。远程表在“Federator”数据库中作为虚拟表出现。客户机应用程序可以对“Federator”数据库中的虚拟表执行操作,但是真正的持久性存储位于远程数据库中。

每个被联邦者都将联邦者看成是另一个数据库客户机连接。“Federatee”只是处理数据库操作的客户机请求。联邦者需要用客户机软件来访问每个远程数据库。要访问每种被联邦者,则需要安装 IBM Informix?SybaseOracle 等等的客户机软件。

数据库联邦的应用程序接口是 SQL。与必须学习新接口相比,这大大地提高了工作效率。使用与对本地表进行选择、插入、更新和删除相同的语法来访问远程表。当然也并不是可以进行所有表操作。

 

 

下面我们通过实际操作来看看如何配置联邦数据库:

 

我们先准备好前期工作,创建一个本地数据库和远程数据库来做实验——

本地数据库

数据库:LOCALDB

IP地址:192.168.20.138

端口号:60000

用户名:db2inst1

密码:db2inst1

DB2联邦数据库及配置方法 - 文章图片


远程数据库

数据库:REMOTEDB

IP地址:192.168.20.145

端口号:70000

用户名:db2inst2

密码:db2inst2

DB2联邦数据库及配置方法 - 文章图片

 

另外确保远程数据库的全局设置如下——

DB2联邦数据库及配置方法 - 文章图片

 

现在,我们首先是添加编目数据库——

DB2联邦数据库及配置方法 - 文章图片


查看编目结果——

DB2联邦数据库及配置方法 - 文章图片

显示编目已成功

 

 

接下来执行创建数据库联邦的步骤,首先创建WRAPPER——

DB2联邦数据库及配置方法 - 文章图片

从上面可以看到报错了,说的是未对指定的操作启用数据库的实例

 

我们查看Federated(联邦)的功能是否打开,只需要开启本地的联邦功能即可,看到显示是NO

DB2联邦数据库及配置方法 - 文章图片


我们将Federated打开,并重启数据库使其生效——

DB2联邦数据库及配置方法 - 文章图片

DB2联邦数据库及配置方法 - 文章图片


现在可以看到创建成功了——

DB2联邦数据库及配置方法 - 文章图片

 

现在开始连接远程数据库,记得连接前确保远程的系统已关闭防火墙——

DB2联邦数据库及配置方法 - 文章图片

 

创建连接对方数据的SERVER——

$ db2 "create server remotedb1svr type DB2/UDB version 10.5 wrapper "DRDA" authorization "db2inst2" password "db2inst2" options( NODE 'NODE01', DBNAME 'REMOTEDB')"

DB2联邦数据库及配置方法 - 文章图片


创建MAPPING——

$ db2 "create user mapping for "db2inst1" server remotedb1svr options (remote_authid 'db2inst2',remote_password 'db2inst2')"

DB2联邦数据库及配置方法 - 文章图片


创建联邦关系表(首先需要确认远程的库有对应的表已存在于数据库中)——

$ db2 "create nickname db2inst1.testtable for remotedb1svr.db2inst2.testtable"

DB2联邦数据库及配置方法 - 文章图片


通过在本地查看联邦数据库的表

DB2联邦数据库及配置方法 - 文章图片

可以看到可以正常显示

 

我们再测试一下插入操作是否可行——

DB2联邦数据库及配置方法 - 文章图片

执行成功,并且成功插入数据。

 

 

数据库联邦可以使我们不再需要构建数据集市了!还有个前提,就是如果要查询的量不是很大,并且如果汇总表通常就可以满足查询的要求,那么就不需要数据集市、不需要相应地创建新服务器和移动大量的数据等,这样可以大大地提高工作效率。当然,对于需要访问最低级别的详细信息的忙碌繁重的查询而言,数据集市或数据仓库是首选的解决方案。


DB2联邦数据库及配置方法

标签:数据库   DB2   

本文系统来源:http://blog.51cto.com/5063935/2074300


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!