1.前期准备工作
1.1 环境说明:
192.168.56.5 oracle端
192.168.56.9 dm8端
1.1.1 关闭selinux以及防火墙
systemctl start firewalld.service#启动firewall
systemctl stop firewalld.service#停止firewall
systemctl disable firewalld.service#禁止firewall开机启动-----------linux7以上
Serviece stop iptables 停止防火墙
chkconfig iptables off 禁止防火墙开机启动---------------linux6
关闭selinux
/etc/sysconfig/selinux disbale
1.1.2 Oracle端数据库相关
归档、监听、字符集、最小附加日志、全列日志
归档:
–开启数据库归档
SQL> alter database archivelog;
Database altered.
SQL> alter system set log_archive_dest=’/oracle/arch’;
System altered.
–打开数据库正常模式
SQL> alter database open;
–检查是否开启
SQL> archive log list ;
监听:lsnrctl status
字符集:SQL> select userenv(‘language’) from dual;
最小附加日志、全列日志
SQL> select SUPPLEMENTAL_LOG_DATA_MIN, SUPPLEMENTAL_LOG_DATA_ALL from v$database;
如果是为no,就执行以下语句
SQL>ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
SQL>ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;
关闭oracle回收站
SQL>alter system set recyclebin=off deferred;
1.1.3 DM端数据库相关:
归档、字符集、最小附加日志
归档、字符集:
最小附加日志:
查看:
Sql>select para_name,para_value,para_type from v
d
m
i
n
i
w
h
e
r
e
p
a
r
a
n
a
m
e
=
’
R
L
O
G
A
P
P
E
N
D
L
O
G
I
C
’
;
设
置
:
S
P
S
E
T
P
A
R
A
V
A
L
U
E
(
2
,
′
R
L
O
G
A
P
P
E
N
D
L
O
G
I
C
′
,
1
)
;
重
启
生
效
2.
D
M
H
S
安
装
命
令
行
或
者
启
动
图
形
化
安
装
2.1
O
r
a
c
l
e
端
O
r
a
c
l
e
端
安
装
H
S
步
骤
如
下
:
[
d
m
d
b
a
@
l
o
c
a
l
h
o
s
t
]
dm_ini where para_name=’RLOG_APPEND_LOGIC’; 设置: SP_SET_PARA_VALUE(2,'RLOG_APPEND_LOGIC',1); 重启生效 2.DMHS安装 命令行或者启动图形化安装 2.1 Oracle端 Oracle端安装HS步骤如下: [dmdba@localhost ~]
dminiwhereparaname=’RLOGAPPENDLOGIC’;设置:SPSETPARAVALUE(2,′RLOGAPPENDLOGIC′,1);重启生效2.DMHS安装命令行或者启动图形化安装2.1Oracle端Oracle端安装HS步骤如下:[dmdba@localhost ] sh dmhs_V4.1.9_oracle_rev100195_rh6_veri_20210618.bin -i
Extract install files…
1.English(English)
2.Simplified Chinese(简体中文)
Select the language to install[2.Simplified Chinese(简体中文)]:2
/tmp/DMHSInstall/install.log
1.免费试用达梦数据实时同步
2.使用已申请的Key文件
验证许可证文件[1.免费试用达梦数据实时同步]:
1.精简版
2.完整版(web客户端)
3.自定义
安装类型[1.精简版]:2
1.实时同步软件服务器
2.远程部署工具
3.实时同步软件客户端
4.内置数据库
5.实时同步软件配置助手
6.手册
所需磁盘空间:849 MB
安装目录: [/home/dmdba/dmhs]
1.统一部署
2.现在初始化
是否初始化达梦数据实时同步系统[1.统一部署]:
正在安装
default start … default finished.
server start … server finished.
hs_agent start … hs_agent finished.
webmanager start … webmanager finished.
db start … db finished.
hsca start … hsca finished.
doc start … doc finished.
doc start … doc finished.
postinstall start … postinstall finished.
正在创建快捷方式
安装成功
远程部署工具配置
远程部署工具名称[HsAgent]:
主机Ip(外网)192.168.122.1:
远程部署工具管理端口5456:
内置数据库轮询间隔3:
内置数据库IP[192.168.122.1]:
内置数据库端口[15236]:
内置数据库用户名[SYSDBA]:
内置数据库密码[SYSDBA]:
服务脚本环境变量设置
依赖库路径
提示:此配置项供用户配置源或目的数据库依赖库路径和odbc依赖库路径, 多个路径以":"隔开(例:/opt/dmdbms/bin:/usr/local/lib),此配置项会添加到服务脚本的NEED_LIB_PATH的变量值中。
请配置依赖库路径:
Oracle字符集
提示:注意此处配置为ORACLE数据库的NLS_LANG,此配置项由源端数据库字符集编码格式决定,需与源端字符集编码适配。
1.SIMPLIFIED CHINESE_CHINA.ZHS32GB18030
2.SIMPLIFIED CHINESE_CHINA.AL32UTF8
3.TRADITIONAL CHINESE_TAIWAN.ZHT16BIG5
4.TRADITIONAL CHINESE_TAIWAN.AL32UTF8
5.AMERICAN_AMERICA.AL32UTF8
6.AMERICAN_AMERICA.WE8ISO8859P1
7.AMERICAN_AMERICA.WE8ISO8859P15
8.AMERICAN_AMERICA.ZHS16GBK
9.不设置
请配置Oracle字符集[9.不设置]:5
内置数据库服务
1.自动
2.手动
启动方式:[2.手动]
正在创建内置数据库服务
初始化内置数据库
远程控制服务
1.自动
2.手动
启动方式:[2.手动]
正在创建远程控制服务
web服务
1.自动
2.手动
启动方式:[2.手动]
正在创建web服务
达梦数据实时同步V4.0安装完成
更多安装信息,请查看安装日志文件:
/home/dmdba/dmhs/log/install.log
2.2 DM端
目标端(DM)安装HS步骤如下:
[dmdba@localhost ~]$ sh dmhs_V4.1.9_dm8_rev100195_rh6_64_veri_20210618.bin -i
Extract install files…
1.English(English)
2.Simplified Chinese(简体中文)
Select the language to install[2.Simplified Chinese(简体中文)]:c
Input error, please re-enter!
1.English(English)
2.Simplified Chinese(简体中文)
Select the language to install[2.Simplified Chinese(简体中文)]:2
/tmp/DMHSInstall/install.log
1.免费试用达梦数据实时同步
2.使用已申请的Key文件
验证许可证文件[1.免费试用达梦数据实时同步]:
1.精简版
2.完整版(web客户端)
3.自定义
安装类型[1.精简版]:
1.实时同步软件服务器
2.远程部署工具
3.实时同步软件配置助手
4.手册
所需磁盘空间:528 MB
安装目录: [/home/dmdba/dmhs]
1.统一部署
2.现在初始化
是否初始化达梦数据实时同步系统[1.统一部署]:
正在安装
default start … default finished.
server start … server finished.
hs_agent start … hs_agent finished.
hsca start … hsca finished.
doc start … doc finished.
postinstall start … postinstall finished.
正在创建快捷方式
安装成功
远程部署工具配置
远程部署工具名称[HsAgent]:
主机Ip(外网)192.168.122.1:
远程部署工具管理端口5456:
内置数据库轮询间隔3:
内置数据库IP[]:
输入有误,请重新输入!
内置数据库IP[]:192.168.208.191
内置数据库端口15236:
内置数据库用户名[SYSDBA]:
内置数据库密码[SYSDBA]:
服务脚本环境变量设置
依赖库路径
提示:此配置项供用户配置源或目的数据库依赖库路径和odbc依赖库路径, 多个路径以":"隔开(例:/opt/dmdbms/bin:/usr/local/lib),此配置项会添加到服务脚本的NEED_LIB_PATH的变量值中。
请配置依赖库路径:
远程控制服务
1.自动
2.手动
启动方式:[2.手动]
正在创建远程控制服务
达梦数据实时同步V4.0安装完成
更多安装信息,请查看安装日志文件:
/home/dmdba/dmhs/log/install.log
3.ODBC配置以及模块检查
3.1Oracle 端
3.1odbc相关项
1.检查odbc是32位还是64位
2.修改unixODBC配置文件
Cd ?/dmhs/odbc/etc
[oracle@oracle etc]$ cat odbc.ini
[DMHS]
Description = ORACLE ODBC DSN
Driver = Oracle in OraDb11g_home1
SERVER = 192.168.56.5
UID = dmhs
PWD = DMHS
Servername = test
PORT = 1521
[oracle@oracle etc]$ cat odbcinst.ini
[Oracle in OraDb11g_home1]
Description=Oracle ODBC driver for Oracle 11g
Driver=/u01/app/oracle/product/11.2.0/dbhome_1/lib/libsqora.so.11.1
加粗为oracle自己的依赖库文件。
3.测试
3.2cpt与exec检查
检查DMHS里cpt和exec两个模块是否存在依赖库文件找不到,如果找不到可以将目录指定到环境变量里。
可能需要用到的依赖库文件
3.2Dm端
不需要配置odbc。同样检查cpt和exec两个模块
查看环境变量(参考)
4.DMHS.HS文件配置
配置dmhs.hs文件
dmhs_dm_cpt.hs
<?xml version="1.0" encoding="GB2312"?>
<dmhs>
<base>
<lang>en</lang>
<mgr_port>5345</mgr_port>
<chk_interval>3</chk_interval>
<ckpt_interval>60</ckpt_interval>
<siteid>1</siteid>
</base>
<cpt>
<db_type>dm8</db_type>
<db_server>192.168.56.9</db_server>
<db_user>DMHS</db_user>
<db_pwd>admin1234</db_pwd>
<db_port>5236</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.56.5</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>
dmhs_dm_exec.hs
<?xml version="1.0" encoding="GB2312"?>
<dmhs>
<base>
<lang>en</lang>
<mgr_port>5345</mgr_port>
<chk_interval>2</chk_interval>
<ckpt_interval>45</ckpt_interval>
<siteid>2</siteid>
</base>
<recv>
<data_port>5346</data_port> <!--old dmhs recv before exec-->
<exec> <!--new dmhs exec before recv-->
<db_type>dm8</db_type>
<db_server>192.168.56.9</db_server>
<db_user>DMHS</db_user>
<db_pwd>admin1234</db_pwd>
<db_port>5236</db_port><db_name></db_name>
<exec_mode>1</exec_mode>
<exec_thr>2</exec_thr>
<exec_sql>512</exec_sql>
<exec_trx> 5000 </exec_trx>
<exec_rows>250</exec_rows>
<msg_col_size>8000</msg_col_size>
<level>0</level>
</exec>
</recv>
</dmhs>
dmhs_ora_cpt.hs
<?xml version="1.0" encoding="GB2312"?>
<dmhs>
<base>
<lang>en</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>test</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.56.9</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>
dmhs_ora_exec.hs
<?xml version="1.0" encoding="GB2312"?>
<dmhs>
<base>
<lang>en</lang>
<mgr_port>5345</mgr_port>
<chk_interval>2</chk_interval>
<ckpt_interval>45</ckpt_interval>
<siteid>2</siteid>
</base>
<recv>
<data_port>5346</data_port> <!--old dmhs recv before exec-->
<exec> <!--new dmhs exec before recv-->
<db_type>oracle11g</db_type>
<db_server>test</db_server>
<db_user>DMHS</db_user>
<db_pwd>DMHS</db_pwd>
<db_port>1521</db_port><db_name></db_name>
<exec_mode>1</exec_mode>
<exec_thr>2</exec_thr>
<exec_sql>512</exec_sql>
<exec_trx> 5000 </exec_trx>
<exec_rows>250</exec_rows>
<msg_col_size>8000</msg_col_size>
<level>0</level>
</exec>
</recv>
</dmhs>
说明:dmhs_dm_cpt.hs为dm端为源端时的配置文件。
dmhs_dm_exec.hs为dm端为目的端时的配置文件。
dmhs_ora_cpt.hs为oracle端为源端时的配置文件。
dmhs_ora_exec.hs为oracle端为目的端时的配置文件。
5.配置DDL复制
5.1Dm端
SYSDBA用户执行附件脚本
ddl_sql_dm8.sql
5.2Oracle端
SYSDBA用户执行附件脚本
ddl_sql_ora.sql
6.配置后台启动服务脚本
6.1Dm端
通过scripts/root/dmhs_service_installer.sh脚本生成后台服务(该命令需root用户执行)
./dmhs_service_installer.sh -t dmhs_server -p HS -x /home/dmdba/dmhs/bin/dmhs.hs -d /home/dmdba/dmhs/bin
注意:生成的DmhsServiceHS文件为root用户的权限,建议修改为dm用户
Dm端
[dmdba@dm801 bin]$ pwd
/home/dmdba/dmhs/bin
[dmdba@dm801 bin]$ ls -l DmhsServiceHS
-rwxr-xr-x 1 dmdba dinstall 14521 Aug 19 06:26 DmhsServiceHS
注意:需要修改该文件HS_NLS_LANG选项
6.2Oracle端
通过scripts/root/dmhs_service_installer.sh脚本生成后台服务(该命令需root用户执行)
./dmhs_service_installer.sh -t dmhs_server -p HS -x /home/oracle/dmhs/bin/dmhs.hs -d /home/oracle/dmhs/bin
注意生成的日志,日志会记录生成的脚本位置,建议此脚本无需修改为oracle用户权限
7.启动DMHS服务
启动两端的DMHS服务
启动命令为
DmhsServiceHS start
停止命令为
DmhsServiceHS stop
8.测试同步表准备
源端端创建测试同步表:【记得切换到需要同步的用户】
Sql>
create table oraddm(
id int,
db_name_cpt varchar2(10),
db_name_exec varchar2(10));
insert into oraddm values(1,‘ORA’,‘DM’);
commit;
Select * from oraddm;
9.初始装载
9.1目的端
目的端启动exec模块
./dmhs_console
执行下列命令
START EXEC
9.2源端
./dmhs_console
执行下列命令
1、加载数据字典:COPY 0 “SCH.NAME=‘DMHS’” DICT
2、清理lsn: clear exec lsn
3、初始化表:LOAD 0 “SCH.NAME=‘DMHS’’” CREATE|INSERT|INDEX
9.3验证
目的端验证同步,ddl以及dml
Sql>Select * from oraddm;
10.后续同步cpt模块启动与验证
10.1源端
启动cpt模块
./dmhs_console
Start cpt
新建表
Sql>
create table oraddm1(
id int,
db_name_cpt varchar2(10),
db_name_exec varchar2(10));
insert into oraddm values(1,‘ORA’,‘DM’);
commit;
Select * from oraddm1;
10.2目的端
验证同步
Sql>Select * from oraddm1;
详细手册可参考达梦官方网站,或登录社区进行交流学习
https://eco.dameng.com