1
同构外部链接—DM
到DM
以下操作步骤用于创建
DM
到
DM
的外部链接,并使用外部链接对远程库做增、删、改、查操作
。
1.1
前置条件
两台数据库服务器
A
、
B
(目前只支持同平台,不支持跨平台建外部连接),均安装了达梦数据库。
1.2
操作步骤
步骤一
两台服务器,其中一个为目的主机A,另一个为测试机B;分别在这两台服务器上修改dm.ini中MAL_UTHR_FLAG = 0 MAL_INI=1,且配置dmmal.ini如下(注:A和B的实例名不能一样;--中文注释部分只是方便解释含义,配置dmmal.ini时不必写,以免造成格式问题导致dmserver服务起不来):
[mal_inst1]
mal_inst_name = DMSERVER --A
的实例名
mal_host = 223.254.110.195 --A
的ip
mal_port = 5282
[mal_inst2]
mal_inst_name = inst1 --B
的实例名
mal_host = 223.254.104.113 --B
的ip
mal_port = 5282
注意,两台主机的dmmal.ini文件相同。配置成功之后分别重启dmserver。
步骤二
在主机
A
上建表
test
:
CREATE TABLE TEST(C1 INT,C2 VARCHAR(20));
在
B
上建立到
A
的外部链接
LINK01
:
CREATE PUBLIC LINK LINK01 CONNECT WITH SYSDBA
IDENTIFIED BY SYSDBA USING '223.254.110.195/5282';
步骤三
--
在B上使用链接进行插入,更新:
INSERT INTO TEST@LINK01 VALUES(1,'A');
INSERT INTO TEST@LINK01 VALUES(2,'B');
UPDATE TEST@LINK01 SET C2='C' WHERE C1=1;
DELETE FROM TEST@LINK01 WHERE C1=2;
--
在B上查询A服务器上表test的数据:
select * from TEST@LINK01;
预期使用外部链接操作对象成功;查询返回结果集:
C1 C2
1 C
。
步骤四
删除外部链接:B上执行:
DROP PUBLIC LINK LINK01
。
2
异构外部链接—DM
到Oracle
以下操作步骤用于创建
DM
到
Oracle
的外部链接,并使用外部链接对远程库做增、删、改、查操作
。
2.1
前置条件
两台数据库服务器
A
、
B
(目前只支持同平台,不支持跨平台建外部连接),
A
上安装了
oracle
数据库,
B
上安装了达梦数据库和
oracle
客户端;
Oracle
数据库和达梦数据库服务均已启动。
2.2
操作步骤
步骤一
在B上配置Oracle网络服务名,连接A上的oracle数据库实例:
步骤二
在
A
上的
oracle
数据库中创建用户
U1
,授予
DBA
权限:
CREATE USER U1 IDENTIFIED BY 123456789;
GRANT DBA TO U1;
--
使用新建的用户
U1
登录
oracle
数据库,建表
test
:
CREATE TABLE TEST(C1 INT,C2 VARCHAR(20));
确保B上的sqlplus可以通过网络服务名连接上A上的oracle数据库实例(即B上执行sqlplus U1/123456@ORCL可以连接成功。B上需配置好网络服务名和监听程序)。
步骤三
在B上的达梦数据库中建立到 A上oracle的外部链接LINK01:
CREATE PUBLIC LINK LINK01 CONNECT 'ORACLE' WITH U1 IDENTIFIED BY "123456789" USING 'ORCL';
步骤四
在B上使用外部链接对A上Oracle中的U1.test 表进行插入、更新、删除操作:
INSERT INTO U1.TEST@LINK01 VALUES(1,'A');
INSERT INTO TEST@LINK01 VALUES(2,'B');
UPDATE U1.TEST@LINK01 SET C2='C' WHERE C1=1;
DELETE FROM TEST@LINK01 WHERE C1=2;
在B上查询A服务器上表test的数据:
select * from
U1.TEST@LINK01
;
预期使用外部链接操作对象成功;查询返回结果集:
C1 C2
1 C
。
步骤五
删除外部链接:B上执行:
DROP PUBLIC LINK LINK01;