达梦HS Oracle同步到DM

DM为目标端,Oracle为源端,不需要配置ODBC

五、安装HS

加-i参数

六、源端配置文件

[oracle@localhost bin]$ more dmhs.xml

<?xml version="1.0" encoding="GB2312"?>

<dmhs>

<base>

<lang>ch</lang>

<mgr_port>5345</mgr_port>

<chk_interval>3</chk_interval>

<ckpt_interval>60</ckpt_interval>

<siteid>1</siteid>

</base>

<cpt>

<db_type>oracle11g</db_type>

<db_server>ORCL</db_server>

<db_user>DMHS</db_user>

<db_pwd>DMHS</db_pwd>

<db_port>1521</db_port>

<db_name></db_name>

<idle_time>10</idle_time>

<ddl_mask>OBJ:OP</ddl_mask>

<arch>

<clear_interval>600</clear_interval>

<clear_flag>0</clear_flag>

<bak_dir></bak_dir>

</arch>

<send>

<ip>192.168.208.172</ip>

<mgr_port>5345</mgr_port>

<data_port>5346</data_port>

<net_turns>0</net_turns>

<level>0</level>

<trigger>0</trigger>

<constraint>0</constraint>

<identity>0</identity>

<filter>

<enable>

<item>DMHS.*</item>

</enable>

<disable></disable>

</filter>

<map></map>

</send>

</cpt>

</dmhs>

七、目标端配置文件

[dmdba@localhost bin]$ more dmhs_r.hs

<?xml version="1.0" encoding="GB2312"?>

<dmhs>

<base>

<lang>en</lang>

<mgr_port>5345</mgr_port>

<ckpt_interval>60</ckpt_interval>

<siteid>2</siteid>

<version>2.0</version>

</base>

<exec>

<recv>

<data_port>5346</data_port>

</recv>

<db_type>dm8</db_type>

<db_server>192.168.208.172</db_server>

<db_user>DMHS</db_user>

<db_pwd>DMHS12345</db_pwd>

<db_port>5236</db_port>

<db_name></db_name>

<exec_thr>1</exec_thr>

<exec_sql>1024</exec_sql>

<exec_trx>1000</exec_trx>

<exec_rows>1000</exec_rows>

</exec>

</dmhs>

八、创建用户:

oracle:

create user dmhs identified bu dmhs;

grant dba to dnhs;

dm:

create user DMHS identified by "DMHS12345"

grant dba to DMHS

九、源端

开启

1) 最小附加日志

SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;

(2) 数据库级补充日志。

SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;

(1) 必须将 Oracle 的回收机制关闭

SQL> alter system set recyclebin=off deferred;

打开DDL:

SQL> @/home/oracle/dmhs/scripts/ddl_sql_ora.sql

开启归档:

alter database mount;

alter database archivelog;

alter database open;

创建测试表:

SQL> create table ora2dm(

id int,

db_name_cpt varchar2(100),

db_name_exec varchar2(100));

SQL> insert into ora2dm values(1,'ORA','DM');

SQL> commit;

十、启动

源:

/dmhs/bin

./dmhs_server dmhs.xml

CONNECT IP:5345

COPY 0 "SCH.NAME='DMHS'" DICT #加载字典

clear exec lsn #清理LSN

LOAD 0 "SCH.NAME='DMHS' AND TAB.NAME='ORA2DM'"CREATE|INSERT #初始化表

目标:

CONNECT IP:5345

start exec

最后:

目标端:start cpt #抓捕

源端:start cpt

问题1:

有的时候会有报错:提示os找不到,把dmoci的文件拷贝到数据库bin目录下

问题2:

补充说明:

3.1 源端配置

源端dmhs.hs配置如下:

<?xml version="1.0" encoding="GB2312"?>

<dmhs>

          <base><!-- 管理模块的基本配置 -->

                    <lang>en</lang><!-- 语言选项,ch为中文,en为英文 -->

                    <mgr_port>5345</mgr_port><!-- 管理端口号,默认为5345,最小值1000,最大值65535 -->                  

                    <chk_interval>3</chk_interval><!-- 状态轮询间隔,默认为3s,最小值1s,最大值60s -->                 

                    <ckpt_interval>60</ckpt_interval><!--执行端检查点间隔,默认60s,最小值10s,最大值65536s -->

                    <siteid>1</siteid><!-- 站点ID,这个ID配置时要注意,全局唯一,最小值0,最大值65535 -->

          </base>

         

          <cpt><!-- 这项配置可以配置多个,也就是可以配置多个捕获模块,如果该节点只作为执行端,该节点需要删除 -->

                    <db_type>Oracle10g</db_type><!-- 数据库类型,默认为dm7,限定值Oracle10g,Oracle11g,dm6,dm7 -->

                    <db_server>orcl</db_server><!-- 数据库实例名-->

                    <db_user>dmhs</db_user><!-- 数据库用户名,默认为SYSDBA -->

                    <db_pwd>dmhs</db_pwd><!-- 数据库口令,默认为SYSDBA -->

                    <db_port>1521</db_port><!-- 数据库端口号,默认为5236 -->

                    <idle_time>300</idle_time><!-- 分析线程空闲睡眠时间,默认值为300ms,最小值0ms,最大值65536ms -->

                    <ddl_mask>0</ddl_mask><!-- 分析端是否支持DDL同步,可选项0(不支持DDL), 1(支持DDL),需要将安装脚本中对应的DDL脚本在源端执行-->

                    <parse_thr>1</parse_thr><!-- 分析线程个数,默认为1,最小值1,最大值32,多线程分析时,不支持ALTER TABLE操作同步 -->      

                    <arch>

                               <clear_interval>3600</clear_interval><!-- 归档文件清理间隔,默认为600s,最小值60s,最大值2000000000s -->

                               <clear_flag>1</clear_flag><!-- 清除归档日志的方式,可选项0(无动作), 1(删除归档文件), 2(表示移走归档文件)-->

                               <bak_dir></bak_dir><!-- clear_flag项配置成2时,该配置项可以用来指定归档文件转移的目录,如果未配置这项,则转移到归档路径的log_bak目录下 -->

                    </arch>  

                    <send><!-- 发送模块配置 -->

                                         <ip>10.20.230.244</ip><!-- 目的端IP,默认127.0.0.1 -->

                                         <mgr_port>5345</mgr_port><!-- 目的端管理端口,默认为5345,最小值1000,最大值65535 -->

                                         <data_port>5346</data_port><!-- 目的端数据接收端口号,默认为5346,最小值1000,最大值65535 -->

                                         <level>0</level><!-- 复制级别,默认为0,最小值0,最大值65535 -->

                                         <trigger>0</trigger><!-- 是否忽略触发器,默认为0,限定值0,1 -->

                                         <constraint>0</constraint><!-- 是否忽略约束,默认为0,限定值0,1 -->

                                         <identity>0</identity><!-- 是否忽略自增列,默认为0,限定值0(不忽略,插入同步过来的值),1(忽略,插入自增列自身的值) -->

                                         <net_turns>0</net_turns><!-- 是否开启网闸模式,默认为0,限定值0(关闭),1(开启),网匝模式下,主机看不到备机的统计信息 -->

                                         <filter><!-- 过滤,必须指定,一定要注意大小写,要跟源库中的对像名大小写保持一致 -->

                                                   <enable>

                                         <item>DMHS.*</item>

                                                             <item>TEST.*</item>

                                                   </enable>                                         

                                         </filter>

                                         <map></map>

                    </send>

          </cpt>

</dmhs>

3.2 目的端配置

目的端配置文件如下:

<?xml version="1.0" encoding="GB2312"?>

<dmhs>

          <base><!-- 管理模块的基本配置 -->

                    <lang>ch</lang><!-- 语言选项,ch为中文,en为英文 -->

                    <mgr_port>5345</mgr_port><!-- 管理端口号,默认为5345,最小值1000,最大值65535 -->                  

                    <chk_interval>2</chk_interval><!-- 状态轮询间隔,默认为3s,最小值1s,最大值60s -->                 

                    <ckpt_interval>45</ckpt_interval><!--执行端检查点间隔,默认60s,最小值10s,最大值65536s -->

                    <siteid>2</siteid><!-- 站点ID,这个ID配置时要注意,全局唯一,最小值0,最大值65535 -->

          </base>

          <recv><!-- 接收模块的基本配置,如果该节点只作为分析端,该节点需要删除 -->

                    <data_port>5346</data_port>

                    <exec><!-- 执行模块的基本配置 -->

                               <db_type>ORACLE10g</db_type><!-- 数据库类型,默认为dm7,限定值Oracle10g,Oracle11g,dm6,dm7 -->

                               <db_server>orcl</db_server><!-- 数据库实例名-->

                               <db_user>system</db_user><!-- 数据库用户名,默认为SYSDBA -->

                               <db_pwd>oracle</db_pwd><!-- 数据库口令,默认为SYSDBA -->

                               <db_port>1521</db_port><!-- 数据库端口号,默认为5236 -->

                               <db_name></db_name><!-- 默认数据库名,默认为空串(只针对dm6有用)-->

                               <exec_mode>1</exec_mode><!-- 执行模式, 1(多线程执行),2(ETL模式),3(消息中转模式,跨网段级联时使用) -->

                               <exec_thr>8</exec_thr><!-- 执行线程个数,只有当exec_mode为1时才会生效!默认为1,最小值1,最大值64-->

                               <exec_sql>1024</exec_sql><!-- SQL缓存大小,默认为512M,最小值32M,最大值4096M -->

                               <exec_trx> 5000 </exec_trx><!-- 事务缓存个数,默认为5000,最小值,1000,最大值10000 -->

                               <exec_rows>250</exec_rows><!-- 批量绑定行数,默认为250,最小值1,最大值2000 -->

                               <commit_policy>0</commit_policy>

                               <exec_policy>2</exec_policy>

                               <msg_col_size>8000</msg_col_size><!-- 保存缓存消息列的大小,这取决于目的库的块大小, 默认为8000,最小值1000,最大值8000 -->

                               <level>0</level><!-- 复制级别,默认为0,最小值0,最大值65535 -->

                    </exec>

          </recv>  

</dmhs>

更多资讯请上达梦技术社区了解:https://eco.dameng.com

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值