达梦数据库dblink的使用

 

目录

1、dblink简介

2.1  准备条件

2 .2 操作步骤

2.2.1 创建dmmal.ini

2.2.2 修改配置文件

2.2.3 重启数据库实例

2.2.4 创建测试表

2.2.6  结果测试

3.1 准备条件

3.2 操作步骤

3.2.1 oracle创建用户、测试表及启动监听,配置oracle客户端

3.2.2 配置dm到数据库链接

3.2.3 测试数据库dblink连接

3.2.4 结果测试

4、总结



1、dblink简介

     达梦数据库的外部链接是一种数据库的实体对象,记录了远程数据库的连接信息,用于建立与远程数据的联系。用户可以通过数据库的外部链接对象透明地操作远程数据库的数据,对远程数据库的表进行查询和增删改操作,也可以调用远程的存储过程。数据库的外部链接对象可以是公用的(数据库中所有用户使用),也可以是私有的(特定用户使用)。

   以下操作步骤用于创建 DM 到 DM 的外部链接,并使用外部链接对远程库做增、删、改、查的操作 

2.1  准备条件

     (1)两台数据库机器A 、B,均安装了达梦数据库。
     (2)两台数据库机器A 、B,均关闭了防火墙和selinux。
     (3)两台数据库机器A 、B的实例名不能一致,两个数据库的字符集必须一致。

环境介绍

 

数据库版本

IP

主机名

A

DM Database Server x64 V7 ENT

192.168.6.7

meng1

B

DM Database Server x64 V7 ENT

192.168.6.6

meng2

2 .2 操作步骤

 

2.2.1 创建dmmal.ini
 

两台数据库机器,第一台为目的主机A(被连接的机器),另外一台为测试机B(用来连接的机器),首先我们在两台机器的数据库实例下面创建dmmal.ini 文件
创建的内容如下:

[dmlink1]    #自定义
mal_inst_name  = DMSERVER   #A主机的实例名,和dm.ini中的INSTANCE_NAME保持一致
mal_inst_host = 192.168.6.7  #A主机的ip地址
mal_inst_port = 5236        #A主机的实例端口,和dm.ini中的PORT_NUM保持一致
mal_host = 192.168.6.7   #A主机的ip地址
mal_port = 61142       #系统监听TCP连接端口(自定义)

[dmlink2]    #自定义
mal_inst_name  = DMSERVER2   #B主机的实例名,和dm.ini中的INSTANCE_NAME保持一致
mal_inst_host = 192.168.6.6   #B主机的ip地址
mal_inst_port = 5236        #B主机的实例端口,和dm.ini中的PORT_NUM保持一致
mal_host = 192.168.6.6   #B主机的ip地址
mal_port = 61142      #系统监听TCP连接端口(自定义)

注意:两台机器的dmmal.ini必须一致,A和B的实例名不能一样

2.2.2 修改配置文件


修改两台主机的dm.ini文件中的MAL_INI参数,改为1

 

2.2.3 重启数据库实例


重启两台主机的数据库实例

 

2.2.4 创建测试表


在A主机创建一个表test用来让B主机用外部连接进行操作
(1)登录进入数据库实例


(2)创建表test


在B(192.168.6.6)主机建立外部连接操作A(192.168.6.7)主机

建立外部连接语法如下:

create public link 外部连接名 connect with A主机登录用户 identified by A主机登录用户密码 using 'A主机ip/a主机系统监听TCP连接端口'

实际建立如下:

 

2.2.6  结果测试

在B主机中使用外部连接操作刚才在A主机中建立的数据库,插入一条数据,并提交。


然后去A主机中查询一下数据


达梦DBLINK搭建成功!

 

 

3.1 准备条件

(1)一台数据库机器A安装了oracle数据库并启动监听。

(2)一台机器B安装了DM数据库和oracle数据库客户端。

(3)关闭防火墙和selinux。

环境介绍

 

数据库版本

IP

A

Oracle Database 11g 11.2.0.4.0 - 64bit

192.168.6.6

B

DM Database Server x64 V7 ENT

192.168.6.111

3.2 操作步骤

3.2.1 oracle创建用户、测试表及启动监听,配置oracle客户端

 

3.2.1.1  A(oracle)机器执行:

(1) 连接数据库创建测试用户user01密码user01,创建测试表test

create user01 identified by user01;

grant dba to user01;

conn user01/user01

create table test (id int);

insert into test values(1);

commit;

(2) 确认是否开启监听

lsnrctl status

lsnrctl start

lsnrctl stop

 

3.2.1.1  B(dm+oracle客户端)机器执行

1.部署配置oracle客户端

 

下载安装包解压到B(dm)机器:

根据访问数据的版本下载对应客户端。每种包又分.zip、.rpm两种格式包,zip包相当于解压后免安装版,rpm包需要安装版。

 

 

(1)打开网页链接打开下图

http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html

(2)下载basic,sqlplus,sdk包,根据oracle的版本号下载如下图所示的压缩包(示范的oracle版本为11.2.0.4),需要oracle账号可以免费注册。

 

 

(3)下载的压缩包解压并合并

 

(4)使用xftp拷贝到达梦数据库安装路径/dmdbms/bin目录下面,数据库安装在linux上,需要赋予775的权限,部分如下图所示。

[dmdba@meng2 ~/dmdbms/bin/instantclient_11_2]$cp * ../

[root@meng2 bin]# chmod 755 *

 

3.2.2 配置dm到数据库链接

3.2.2.1 将libclntsh.so.11.1 复制一个名字为:libclntsh.so  ,如下图所示:

/home/dmdba/dm/dmdbms/bin/>cp libclntsh.so.11.1 libclntsh.so

 

3.2.2.2 在上述目录新建目录

/home/dmdba/dm/dmdbms/bin/>mkdir -p ./network/admin

3.2.2.3 在上述目录新建tnsnames.ora文件,并编辑数据库链接信息

PROD=   --链接名
  (DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.6.111)(PORT = 1521)) 
-–A(oracle)机器
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SID =PROD)
    )
  )

 

3.2.2.4 配置环境变量

 


[dmdba@meng2 ~]$vi .bash_profile

export ORACLE_HOME=/home/dmdba/dm/dmdbms/bin

export TNS_ADMIN=$ORACLE_HOME/network/admin

export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

export LD_LIBRARY_PATH=$ORACLE_HOME

export PATH=$ORACLE_HOME:$PATH



source .bash_profile

 

 

3.2.3 测试数据库dblink连接

3.2.3.1 只有能够连接上oracle才能创建dblink

sqlplus username/passwd@PROD

3.2.3.2 创建dblink,测试连接

方法一:

create or replace link LL connect 'ORACLE' with user01 identified by "user01" using 'PROD';

方法二:

create or replace public LINK test connect 'ORACLE' with user01 identified by "user01"

using '(DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.6.111)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SID = PROD )   

    )

  )';

 

 

3.2.4 结果测试

测试能否查询oracle的数据

select * from test@test

4、总结

 综上,达梦数据库同构和异构之间的dblink搭建完成。通过验证环境工作正常,根据整个搭建过程总结以下几点:

1.达梦到达梦数据库之间的dblink依赖于dmmal系统,达梦通过mal系统实现redo日志传输,以及其他实例间的消息通讯。达梦到达梦之间的dblink搭建较为简单。

2.达梦到oracle数据库之间的dblink搭建稍微复杂,需要配置oracle客户端及环境变量,确保通过客户端可以连上服务端。

3.搭建过程中注意关闭防火墙和selinux。

 

 

 

 

 

 

  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值