ITPub博客

首页 > 数据库 > 国内数据库 > DM数据库DBLINK

DM数据库DBLINK

原创 国内数据库 作者:Tinge 时间:2020-04-10 10:34:34 0 删除 编辑

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;


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69970545/viewspace-2685357/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2020-04-10

  • 博文量
    1
  • 访问量
    1124