DB2联邦数据库及配置方法(及联邦密码修改)
admin
2023-05-21 12:42:43
0

如果您需要使用所有不同的数据库,包括选择、插入、更新和删除,就象所有的表都位于单个数据库中那样,那么将获得非常高的工作效率。数据库联邦就是要做到这一点:使所有表看起来象是在同一个数据库中

 

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

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 catalog database REMOTEDB as REMOTEDB at node NODE1


查看编目节点编目数据库结果——

db2 list node directory



db2 list db directory

DB2联邦数据库及配置方法(及联邦密码修改)

显示编目已成功

 


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

备注:如果自定义了wrapper的名字,那么 library 就要加上,不同的系统lib的后缀不同,

AIX 是 .a

Linux 是 .so 

注意:db2 "create wrapper db2_wrapper library 'libdb2drda.a'" 双引号!

可以通过 uname -a 去查看当前是什么操作系统



(注意创建wrapper之前必须先连接本地数据库:

db2 connect to dbname)

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联邦数据库及配置方法(及联邦密码修改)

如果报错SQL1101N  Remote database "dbname" on node "" could not be accessed
with the specified authorization id and password.  SQLSTATE=08004

尝试修改db2 get dbm cfg|grep AUTHENTICATION

 Database manager authentication        (AUTHENTICATION) = SERVER

重启数据库生效


创建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 "ALTER USER MAPPING FOR \"db2inst1\" SERVER remotedb1svr OPTIONS (SET remote_authid 'db2inst2')"

(修改表联邦密码):

db2 "ALTER USER MAPPING FOR \"db2inst1\" SERVER remotedb1svr OPTIONS (SET remote_password 'db2inst2')"


相关内容

热门资讯

专家谈柳州地震原因:处于两条断... 据凤凰卫视报道,5月17日以来,广西柳州陆续发生至少3次地震,震级分别为2.5级、3.2级和5.2级...
国民党青年:特朗普最新表态对台... 中国国民党前青年部主任陈冠安接受香港中评社访问表示,特朗普访华虽然没有直接讲出反对“台独”四个字,但...
美媒曝美军对伊特战计划:自带挖... 美媒日前称,五角大楼正在为恢复对伊朗的军事行动做准备,美国和以色列最早可能在本周重启对伊朗的军事打击...
通话老人手表厂家推荐指南:下沉... 导语:随着智能穿戴设备在健康监测领域的渗透率持续提升,下沉市场对适老化健康智能手表的需求呈现爆发式增...
广西皮卡车过桥坠河,已致5死5... 记者从广西环江“5·16”过桥车辆坠河事件现场搜救队伍了解到,18日17时左右,搜救队伍在车辆坠河地...
缅甸提出打击电诈新法草案,最高... 据凤凰卫视报道,缅甸政府近日公布打击跨境网络诈骗的新法律草案,对经营诈骗园区与相关犯罪行为祭出重刑,...
红夹克、机舱合影,李显龙晒访华... 5月18日,新加坡国务资政李显龙在社交平台发文,他已抵达广西南宁,开启本周访华行程,并晒出机舱照、与...
“赌王”女儿何超蕸,真正死因公... 5月17日,已故“赌王”何鸿燊女儿何超蕸的追思会,在香港举行。此次追思会由何超琼亲自操办,一早她便到...
宇通4款高端车型亮相米兰交通运... 近日,2026米兰交通运输展览会(NME)在意大利米兰国际展览中心拉开帷幕。在这场汇聚全球目光的行业...
伊朗已逮捕6500多名间谍及通... 据伊朗迈赫尔通讯社18日报道,伊朗治安部队司令艾哈迈德-礼萨·拉丹说,自2月底美国和以色列对伊朗发动...