达梦数据库-dblink及数据库迁移工具dts使用

DBLINK

作用: 使用DBLINK和远程数据库之间进行通信, 从而可以操作远程数据库

DM 支持的数据库连接方式

1、DM

2、ORACLE

3、ODBC

4、DPI

DBLINK 的类型

同构 源端和目标端使用的数据库均为达梦数据库, DBLINK(DM DBLINK DM)

异构 源端数据库为其他类型数据库, 目标端数据库为DMDBLINK(其他数据库 DBLINK DM)

DBLINK 常用操作

创建dblink

CREATE PUBLIC LINK link_name CONNECT ‘DAMENG’ WITH 用户名 IDENTIFIED BY 密码 USING ‘192.168.0.31/5369’;

CREATE PUBLIC LINK LINK1 CONNECT WITH USER01 IDENTIFIED BY AAA123456 using ‘DMSERVER’;

– DMSERVER 为实例名

删除dblink

DROP LINK link_name;

使用dblink

SELECT * FROM TB_NAME@LINK_NAME;

DM 和 DM 之间使用DBLINK

1、dm.ini 开启MAL系统 (两台服务器相同操作)

1.1、源端

 [root@itsdata ~]# vi /dmdata/itsdata/dm.ini

 MAL_INI = 1

1.2、目标端

 [root@itsapp1 ~]# vi /dmdata/its/dm.ini

 MAL_INI = 1

2、配置dmmal.ini(两台服务器相同操作)

    [root@itsdata ~]# vi /dmdata/itsdata/dmmal.ini

    [MAL_INST1]

    MAL_INST_NAME =itsdata

    MAL_HOST = 100.63.1.7

    MAL_PORT = 16001

    MAL_INST_HOST = 100.63.1.7

    MAL_INST_PORT = 5236



    [MAL_INST2]

    MAL_INST_NAME = its

    MAL_HOST = 100.63.1.1

    MAL_PORT = 16001

    MAL_INST_HOST = 100.63.1.1

    MAL_INST_PORT = 5236



    [root@itsdata ~]# scp /dmdata/itsdata/dmmal.ini 100.63.1.1:/dmdata/its/

3、启动数据库

3.1、源端

[root@itsdata bin]# ./DmServiceitsdata start

3.2、目标端

[root@itsapp1 bin]# ./DmServiceits start

4、目标端上建立DBLINK

SQL> CREATE or replace PUBLIC LINK l2 CONNECT ‘DAMENG’ WITH SYSDBA IDENTIFIED BY fangyu421 USING ‘100.63.1.7/16001’;

SQL> CREATE or replace PUBLIC LINK l3 CONNECT ‘DAMENG’ WITH SYSDBA IDENTIFIED BY fangyu421 USING ‘100.63.1.7/5236’;

/* DBLINK 可以使用MAL端口, 也可以使用实例端口 */

5、测试查询

        SQL>  SELECT * FROM T1@L2;
        行号     ID        
        ---------- -----------
        1          1
        2          2
        3          3

        SQL> SELECT * FROM T1@L3;
        行号     ID        
        ---------- -----------
        1          1
        2          2
        3          3

6、测试插入

    SQL> INSERT INTO T1@L2 VALUES(4);

    SQL> COMMIT;

    SQL> INSERT INTO T1@L3 VALUES(50);

    SQL> COMMIT;

    SQL> SELECT * FROM T1@L3;
    行号     ID        
    ---------- -----------
    1          1
    2          2
    3          3
    4          4
    5          50
    
    SQL> SELECT * FROM T1@L2;
    行号     ID        
    ---------- -----------
    1          1
    2          2
    3          3
    4          4
    5          50
    SQL>

DM 到 ORACLE 使用DBLINK

1、在目标端安装oracle客户端工具

    [root@itsapp1 ~]# unzip instantclient-basic-linux.x64-11.2.0.4.0.zip -d /dm8/oracle/

    [root@itsapp1 ~]# unzip instantclient-sqlplus-linux.x64-11.2.0.4.0.zip -d /dm8/oracle/

    [root@itsapp1 ~]# cd /dm8/oracle/instantclient_11_2/

    [root@itsapp1 instantclient_11_2]# ln -s libclntsh.so.11.1 libclntsh.so

    [root@itsapp1 instantclient_11_2]# ln -s libocci.so.11.1 libocci.so

    [root@itsapp1 instantclient_11_2]# vi /etc/ld.so.conf.d/oracle.conf

    /dm8/oracle/instantclient_11_2

    [root@itsapp1 instantclient_11_2]# ldconfig

    [root@itsapp1 dm8]# chown -R dmdba:dinstall oracle

2、创建DBLINK

SQL> CREATE or replace PUBLIC LINK orcl4 CONNECT ‘ORACLE’ WITH fangyu IDENTIFIED BY fangyu421 USING ‘100.63.1.7:1521/itsdata’;

3、测试功能

    SQL> SELECT * FROM T1@ORCL4;
    行号     ID
    ---------- --
    1          1

    SQL> INSERT INTO T1@orcl4 VALUES(2);
    SQL> COMMIT;
    SQL> SELECT * FROM T1@ORCL4;
    行号     ID
    ---------- --
    1          1
    2          2
    已用时间: 1.809(毫秒). 执行号:604.
    SQL>

DM的数据库服务上需要安装ORACLE的OCI结构

1、使用服务名连接

    CREATE LINK link_oracle CONNECT 'ORACLE' WITH 用户名 IDENTIFIED BY 密码 USING 'ORCL';

2、通过描述符连接

    CREATE OR REPLACE LINK LINK1 CONNECT 'ORACLE' WITH USER01 IDENTIFIED BY USER01

    USING '(DESCRIPTION =

    (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.225)(PORT =

    1521)))

    (CONNECT_DATA = (SERVICE_NAME = orcl) )

    )';

3、通过ip地址连接

    CREATE LINK LINK1 CONNECT 'ORACLE' WITH USER01 IDENTIFIED BY USER01 USING '192.168.0.225/orcl';

DM 到 MySQL 使用DBLINK

/* 常见MySQL的用户一定要大写, 否则无法连接 */

1、DM数据库上安装ODBC驱动

[root@itsapp1~]#yum -y install unixODBC unixODBC-devel ./mysql-connector-odbc-5.3.10-1.el7.x86_64.rpm

2、配置ODBC

    [root@itsapp1 ~]# cat /etc/odbcinst.ini

    [MySQL ODBC 5.3 Unicode Driver]

    Driver=/usr/lib64/libmyodbc5w.so

    UsageCount=1

    [root@itsapp1 ~]# cat /etc/odbc.ini

    [mysqlodbc]

    Driver = MySQL ODBC 5.3 Unicode Driver

    SERVER = 100.63.1.7

    PORT = 3306

    USER = fangyu

    PASSWORD = fangyu421

    CHARSET = gbk

    DATABASE = db1

    OPTION = 3

    TRACE = OFF

    [root@itsapp1 ~]#

3、DM 数据库上创建DBLINK

    CREATE or replace PUBLIC LINK m1 CONNECT 'ODBC' WITH fangyu IDENTIFIED BY fangyu421 USING 'mysqlodbc';

    SQL> SELECT * FROM DB1.T1@M1;
    行号     id        
    ---------- -----------
    1          1

    SQL> INSERT INTO DB1.T1@m1 VALUES(2);
    SQL> SELECT * FROM DB1.T1@m1;
    行号     id        
    ---------- -----------
    1          1
    2          2
    SQL>

DBLINK 相关视图

DBA_DB_LINK;

ORACLE 迁移到 DM

[dmdba@itsapp1 ~]$ cd $DM_HOME/tool

[dmdba@itsapp1 tool]$ ./dts

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

MySQL 迁移到 DM

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

​详细内容请参考官方文档:​​https://eco.dameng.com​​

更多详情请访问达梦在线服务平台 https://eco.dameng.com/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值