如何利用DBLINK实现DM7之间跨库访问

前端之家收集整理的这篇文章主要介绍了如何利用DBLINK实现DM7之间跨库访问前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

实际生产环境中,往往会遇到跨库访问和抽取数据。可以利用的工具举不胜数,如ETL,DBLINK等工具,本文介绍在DM7中利用DBLINK实现数据库之间相互访问。

一、什么是DBLINK

DBLINK(DatabaseLink)数据库链接,可以理解成是一个通道,如果想通过本地数据库去访问另一个数据库中表的数据时,本地数据库中要创建远程数据库的DBLINK,通过DBLINK本地数据库可以访问远程数据库中表的数据,DM7的DBLINK借助达梦自身的MAL系统实现。

二、测试环境

实例名

IP地址

操作系统版本

数据库版本

DM1

192.168.10.61

NeoKylin Linux General Server release 6.0 64

DM Database Server x64 V7.1.5.132-Build ENT

DM2

192.168.10.62

NeoKylin Linux General Server release 6.0 64

DM Database Server x64 V7.1.5.132-Build ENT

三、修改数据库配置文件

修改192.168.10.61服务器的配置:

vim/dm7/data/DAMENG/dm.ini

INSTANCE_NAME = DM1

PORT_NUM = 5236

MAL_INI = 1

vim/dm7/data/DAMENG/dmmal.ini

[MAL_INST1]

MAL_INST_NAME= DM1

MAL_HOST= 192.168.10.61

MAL_PORT= 5256

MAL_INST_HOST= 192.168.10.61

MAL_INST_PORT= 5236

[MAL_INST2]

MAL_INST_NAME= DM2

MAL_HOST= 192.168.10.62

MAL_PORT= 5256

MAL_INST_HOST= 192.168.10.62

MAL_INST_PORT= 5236

修改192.168.10.62服务器的配置:

vim/dm7/data/DAMENG/dm.ini

INSTANCE_NAME = DM2

PORT_NUM = 5236

MAL_INI = 1

vim/dm7/data/DAMENG/dmmal.ini

[MAL_INST1]

MAL_INST_NAME= DM1

MAL_HOST= 192.168.10.61

MAL_PORT= 5256

MAL_INST_HOST= 192.168.10.61

MAL_INST_PORT= 5236

[MAL_INST2]

MAL_INST_NAME= DM2

MAL_HOST= 192.168.10.62

MAL_PORT= 5256

MAL_INST_HOST= 192.168.10.62

MAL_INST_PORT= 5236

四、重启数据库服务

192.168.10.61服务器:/etc/rc.d/init.d/DmServiceDM1restart

192.168.10.62服务器:/etc/rc.d/init.d/DmServiceDM2restart

五、在192.168.10.62服务器创建DBLINK

sql>CREATE PUBLIC LINK LINK1 CONNECT 'DAMENG' WITH SYSDBA IDENTIFIED BY"dameng123" USING '192.168.10.61/5256';

注意端口号哦!

创建完成可以利用V$DBLINK查看。

六、在192.168.10.61服务器创建测试表

sql>create table test (id int);

sql>insert into test values (1);

sql>commit;

七、在192.168.10.62服务器测试访问

sql>select * from test@link1;

行号 ID

---------------------

1 1

八、把192.168.10.61服务器dmhr.employee的数据抽到192.168.10.62的sysdba.t1表中。

sql>create table sysdba.t1 as select * from dmhr.employee@link1

猜你在找的Oracle相关文章