DMHSOracle→DM8

目录

1 安装工作

1.1 源端

1.1.1 安装Oracle

1.1.2 安装Oracle版本的DMHS

1.2 目的端

1.2.1 安装DM8

1.2.2 安装DM8版本的DMHS

2 系统配置

2.1 源端

2.1.1 修改环境变量

2.1.2 配置数据库服务网络服务名

2.1.3 开启归档及附加日志

2.1.4 创建数据库用户dmhs

2.1.5 配置源端dmhs.hs文件

2.2 目的端

2.2.1 修改环境变量

2.2.2 配置目的端dmhs.hs文件

3 启动DMHS实现数据同步

3.1 目的端DM8启动

3.2 源端Oracle启动

3.3 验证数据同步情况


1 安装工作


1.1 源端


1.1.1 安装Oracle


(1)创建组、用户、设密:

[root@dmhs03 ~]# groupadd oinstall                          
[root@dmhs03 ~]# useradd -g oinstall -m -d /home/oracle -s /bin/bash oracle      
[root@dmhs03 ~]# passwd oracle
(2)规划路径:Oracle用户下:

[oracle@dmhs03 ~]$ mkdir dmhs_oracle            # 源端dmhs安装目录;
[oracle@dmhs03 ~]$ mkdir oriso                    # dmhs安装压缩包目录;
[oracle@dmhs03 ~]$ mkdir oracle11               # oracle数据库安装目录;
参考文章:静默安装Oracle数据库_ 咀个栗子

1.1.2 安装Oracle版本的DMHS


(1)上传安装包至目录oriso并解压:

[oracle@dmhs03 oriso]$ unzip dmhs_oracle11_rh6_64_veri_20220301_x86_rh7.zip
(2)将压缩文件中的release文件移至dmhs_oracle目录下,并改名为bin: 

[oracle@dmhs03 oriso]$ mv release /home/oracle/dmhs_oracle
[oracle@dmhs03 oriso]$ cd /home/oracle/dmhs_oracle
[oracle@dmhs03 dmhs_oracle]$ mv release bin


1.2 目的端


1.2.1 安装DM8


(1)创建组、用户、设密:

[root@dmhs04 /]# groupadd dinstall                
[root@dmhs04 /]# useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba                                                     
[root@dmhs04 /]# passwd dmdba                     
(2)规划路径:dmdba用户下

[dmdba@dmhs04 ~]$ mkdir dmhs_dm8            # 目的端dmhs安装目录;
[dmdba@dmhs04 ~]$ mkdir dmiso                # dmhs安装压缩包目录;
[dmdba@dmhs04 ~]$ mkdir dmdbms                # dm8数据库安装目录;
参考文章:Linux Centos7 下的达梦数据库单机部署实践_idmon

1.2.2 安装DM8版本的DMHS


(1)上传安装包至目录dmiso并解压:

[dmdba@dmhs04 dmiso]# unzip dmhs_dm8_rh6_64_veri_20220301_x86_kylin10.zip
(2)将压缩文件中的release文件移至dmhs_dm8目录下,并改名为bin: 

[dmdba@dmhs04 dmiso]# mv release /home/dmdba/dmhs_dm8
[dmdba@dmhs04 dmiso]# cd /home/dmdba/dmhs_dm8
[dmdba@dmhs04 dmhs_dm8]# mv release bin


2 系统配置


2.1 源端


2.1.1 修改环境变量


(1)oracle用户目录下

#在Oracle用户目录下vim .bash_profile:
[oracle@dmhs03 dmhs_oracle]$ cd
[oracle@dmhs03 ~]$ vim .bash_profile
 
#添加以下内容:
ORACLE_BASE=/home/oracle
ORACLE_HOME=$ORACLE_BASE/oracle11
ORACLE_SID=orcl
PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH
export DMHS_HOME=/home/oracle/dmhs_oracle/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/oracle/dmhs_dm8/bin
 
#保存后source执行:
[oracle@dmhs03 ~]$ source .bash_profile
(2)设置字符集环境变量

#进入Oracle数据库客户端:
[oracle@dmhs03 ~]$ sqlplus / as sysdba
 
#查看字符集类型:
SQL> select userenv('language') from dual;
 
#vim添加:
[oracle@dmhs03 ~]$ vim .bash_profile
 
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
 
#source执行:
[oracle@dmhs03 ~]$ source .bash_profile

2.1.2 配置数据库服务网络服务名


修改 tnsname.ora来配置数据库服务监听:

[oracle@dmhs03 ~]$ vi /home/oracle/oracle11/network/admin/tnsnames.ora
 
#修改以下内容:
ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.50.141)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )


2.1.3 开启归档及附加日志


(1)修改数据库归档模式

#进入Oracle数据库客户端
[oracle@dmhs03 ~]$ sqlplus / as sysdba
 
#开启归档
SQL> shutdown immediate                --关闭数据库
SQL> startup mount                     --mount方式打开数据库
SQL> alter database archivelog;        --开启数据库归档
 
#设置归档文件路径
SQL> alter system set db_recovery_file_dest='';
SQL> alter system set log_archive_dest='/home/oracle/archivelog';
 
#重启数据库
SQL> shutdown immediate
SQL> startup mount
SQL> alter database open;
 
#查看数据库归档模式
SQL> archive log list;

 (2)开启最小附加日志及全列日志

SQL> alter database add supplemental log data;
SQL> alter database add supplemental log data (all) columns;
SQL> select supplemental_log_data_min, supplemental_log_data_all from v$database;
查询结果显示都为YES,即为开启日志成功:

2.1.4 创建数据库用户dmhs


SQL> create user dmhs identified by LBHA888; --创建dmhs用户,密码为LBHA888;
SQL> grant dba to dmhs;                      --赋权dba给dmhs用户;
SQL> grant create table to dmhs;             --赋予创建表的权限;
SQL> grant select any table to dmhs;         --赋予查询表的权限;
创建一个test1表,并插入数据

SQL> create table dmhs.test1(id number ,testname varchar2(12));
SQL> insert into dmhs.test1 values(01 ,'dm8');
SQL> insert into dmhs.test1 values(02 ,'dba');
SQL> commit ;


2.1.5 配置源端dmhs.hs文件


在dmhs安装路径的bin目录下,新建一个dmhs.hs文件

[oracle@dmhs03 bin]$ touch dmhs.hs
[oracle@dmhs03 bin]$ vim dmhs.hs
添加以下内容: 

<?xml version="1.0" encoding="GB2312"?>
<dmhs>
        <base><!-- 管理模块的基本配置 -->
                <lang>en</lang><!-- 语言选项,ch为中文,en为英文 -->
                <mgr_port>5355</mgr_port><!-- 管理端口号,默认为5345,最小值1000,最大值65535 -->  
                <ckpt_interval>60</ckpt_interval><!--执行端检查点间隔,默认60s,最小值10s,最大值65536s -->
                <siteid>1</siteid><!-- 站点ID,这个ID配置时要注意,全局唯一,最小值0,最大值65535 -->
                <version>2.0</version><!-- 版本号-->
        </base>
        <cpt><!-- 这项配置可以配置多个,也就是可以配置多个捕获模块,如果该节点只作为执行端,该节点需要删除 -->
                <db_type>oracle11g</db_type><!-- Oracle数据库类型,限定值Oracle10g,Oracle11g,dm6,dm7 -->
                <db_server>orcl</db_server><!-- 数据库实例名-->
                <db_user>dmhs</db_user><!-- 需要同步的数据库用户名,默认为SYSDBA -->
                <db_pwd>LBHA888</db_pwd><!-- 数据库用户口令,默认为SYSDBA -->
                <db_port>1521</db_port><!-- Oracle数据库端口号-->
                <ddl_mask>op:obj</ddl_mask><!-- 分析端是否支持DDL同步,可选项0(不支持DDL), 1(支持DDL),需要将安装脚本中对应的DDL脚本在源端执行-->
                <arch>
                        <clear_interval>600</clear_interval><!-- 归档文件清理间隔,默认为600s,最小值60s,最大值2000000000s -->
                        <clear_flag>0</clear_flag><!-- 清除归档日志的方式,可选项0(无动作), 1(删除归档文件), 2(表示移走归档文件)-->
                </arch>
                <send><!-- 发送模块配置 -->
                        <ip>192.168.50.142</ip><!-- 目的端IP,默认127.0.0.1 -->
                        <mgr_port>5345</mgr_port><!-- 目的端管理端口,默认为5345,最小值1000,最大值65535 -->
                        <data_port>5346</data_port><!-- 目的端数据接收端口号,默认为5346,最小值1000,最大值65535 -->
                        <filter><!-- 过滤,必须指定,一定要注意大小写,要跟源库中的对像名大小写保持一致 -->
                                <enable>
                                        <item>DMHS.*</item><!-- 需要同步的源端数据库对象 -->
                                </enable>
                        </filter>
                        <map>
                                <item>DMHS.*==SYSDBA.*</item><!-- 映射,将源端数据库对象映射到目的端的SYSDBA用户中 -->
                        </map>
                </send>
        </cpt>
</dmhs>

2.2 目的端


2.2.1 修改环境变量


dmdba用户目录下

#在dmdba用户目录下vim .bash_profile:
[dmdba@dmhs04 ~]$ vim .bash_profile
 
#添加以下内容:
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/dmdba/dmdbms/bin"
export DM_HOME="/home/dmdba/dmdbms"
export PATH="$PATH:/home/dmdba/dmdbms/bin"
export DMHS_HOME=/home/dmdba/dmhs_dm8/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/app/dmhs_dm8/bin
 
#保存后source执行:
[dmdba@dmhs04 ~]$ source .bash_profile


2.2.2 配置目的端dmhs.hs文件


在dmhs安装路径的bin目录下,新建一个dmhs.hs文件

[dmdba@dmhs04 bin]$ touch dmhs.hs
[dmdba@dmhs04 bin]$ vim dmhs.hs
添加以下内容:

<?xml version="1.0" encoding="GB2312"?>
<dmhs>
        <base><!-- 管理模块的基本配置 -->
                <lang>en</lang><!-- 语言选项,ch为中文,en为英文 -->
                <mgr_port>5345</mgr_port><!-- 管理端口号,默认为5345,最小值1000,最大值65535 -->
                <ckpt_interval>60</ckpt_interval><!--执行端检查点间隔,默认60s,最小值10s,最大值65536s -->
                <siteid>2</siteid><!-- 站点ID,这个ID配置时要注意,全局唯一,最小值0,最大值65535 -->
                <version>2.0</version><!-- 版本 -->
        </base>
        <exec>
                <recv>
                        <data_port>5346</data_port><!-- 目的端数据接收端口号,默认为5346,最小值1000,最大值65535 -->
                </recv>
                <db_type>dm8</db_type><!-- 目的端数据库类型dm8 -->
                <db_server>192.168.50.142</db_server><!-- 目的端数据库实例名-->
                <db_user>SYSDBA</db_user><!-- 目的端数据库用户-->
                <db_pwd>SYSDBA</db_pwd><!-- 目的端数据库用户口令-->
                <db_port>5237</db_port><!-- 目的端数据库端口号-->
                <db_name></db_name><!-- 目的端数据库名-->
                <exec_thr>4</exec_thr>
                <exec_sql>1024</exec_sql>
                <exec_trx> 5000 </exec_trx>
                <exec_rows>1000</exec_rows>
        </exec>
</dmhs>

3 启动DMHS实现数据同步


3.1 目的端DM8启动


[dmdba@dmhs04 bin]$ ./dmhs_server dmhs.hs
 
start exec


3.2 源端Oracle启动


[oracle@dmhs03 bin]$ ./dmhs_server dmhs.hs
 
clear exec lsn
 
copy 0 "sch.name='DMHS'" CREATE|INSERT|DICT
 
start cpt


3.3 验证数据同步情况


 (1)在源端开新的终端连接Oracle,执行select * from dmhs.test1;查询;

 (2)在目的端使用disql连接DM8执行select * from test1;查询;

(3)实时同步验证

源端创建数据:

SQL> create table dmhs.test2(id number ,testname varchar2(12));
SQL> insert into dmhs.test2 values(01 ,'dmhs');
SQL> commit ; 


目的端查询: 

 达梦数据库 - 新一代大型通用关系型数据库 | 达梦在线服务平台达梦数据库产品体验站,DM8在线试玩,达梦数据库全系列产品免费下载,官方权威的快速上手文档和产品手册,最活跃的达梦技术社区,面向全行业ISV厂商免费的云适配服务。https://eco.dameng.com/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值