目录
1.实时同步软件DMHS安装
2.创建数据实例
3.修改配置文件参数
4.添加归档配置文件(源端配置即可)
5.配置DDL
6.配置dmhs.hs文件
7.初始装载
8.DMHS服务维护
9.注意事项
安装DMHS(源端-精简版,目的端-完整版)
在源端和目的端分别创建一个实例
|
实例名 |
路径 |
端口号 |
ip |
源端 |
DM_CPT |
/home/dmdba/dmdbms/data |
5236 |
192.168.75.131 |
目的端 |
DM_EXEC |
/home/dmdba/dmdbms/data |
5236 |
192.168.75.133 |
修改源端、目的端实例的服务器配置文件:dm.ini,主要修改参数如下:
ARCH_INI = 1
RLOG_APPEND_LOGIC = 1
FAST_COMMIT = 0(若不为0,则可能导致逻辑日志不全,而影响同步效果)
ARCH_TYPE = LOCAL
ARCH_DEST = /home/dmdba/dmdbms/data/DM_CPT/arch_file #归档目录
ARCH_FILE_SIZE = 128 #归档文件大小,单位 MB
ARCH_SPACE_LIMIT = 0 #空间大小限制,0 表示不限制
(1)配置完归档文件之后,重启数据库,使其生效,再使用disql工具完成下面的检查。
a.检查归档配置是否有效:
SELECT ARCH_DEST, ARCH_FILE_SIZE FROM SYS.V$DM_ARCH_INI WHERE ARCH_TYPE='LOCAL' AND ARCH_IS_VALID='Y';
b.检查逻辑日志配置是否有效:
SELECT PARA_VALUE FROM SYS.V$DM_INI WHERE PARA_NAME = 'RLOG_APPEND_LOGIC';
出现类似下图的情况,则为有效:
c.检查FASA_COMMIT参数是否为0
select para_value from v$dm_ini where para_name = 'FAST_COMMIT';
出现类似下面的结果,则参数值为0
若需要DDL同步,则需要创建DDL触发器和同步表(创建时使用SYSDBA用户),并使用disql工具完成下面的检查。
a.运行安装路径下的sql脚本
b.检查创建的触发器和辅助表是否有效
select owner, table_name from dba_tables where owner = 'SYSDBA' and table_name like 'DMHS%' and status = 'VALID';
若结果中存在如下表信息,则创建有效:
c.检查触发器
select owner, trigger_name from dba_triggers where owner = 'SYSDBA' and trigger_name like 'DMHS%' and status = 'Y';
如结果显示中包含如下信息,则创建的触发器有效:
源端示例:
ch
5345
60
1 #全局唯一,不能有重复值
dm8
192.168.75.132
SYSDBA
SYSDBA
5236
1
op:obj #若不需要同步DDL操作,则为空
600
0 #清理归档设置,为1表示清除,即将同步完成的归档文件删除;为2,表示将同步完成的归档文件移到bak_dir目录下;为0,表示不做任何操作。
/dmarch/arch_bak
192.168.75.133
5345
5346
1
1
1
#过滤规则,先判断白名单,再判断黑名单,存在重叠的,都会被过滤。
- SYSDBA.*
目的端示例:
ch
5345
60
2
2.0
5346
dm8
192.168.75.133
SYSDBA
SYSDBA
5237
4
1024
5000
1000
初始装载是,将源端数据库的初始数据,装载到目的端的数据库中。使DMHS同步的时刻,源端和目的端的同步表数据一致;初始装载分为:初始字典装载和初始数据装载
(1)初始字典装载
DMHS的源端在首次启动日志分析,进行数据同步之前,需要进行初始字典装载操作,在程序目录下创建DICT文件夹,并将同步信息写入文件保存在磁盘,然后才能启动源端日志分析模块功能。
(2)初始数据装载
主要用于将同步源端的数据装载到目的端,保持源端和目的端的数据初始一致(若没有数据装载的需求,则可以不用操作此步骤)
7.1 初始字典装载
1)启动目的端DMHS服务:
进行初始字典装载的时候,需要先启动DMHS服务,有命令行和后台服务两种方式:
命令行 |
./dmhs_server |
后台服务 |
./dmhs_servered |
注:初次启动DMHS服务的时候,只启动管理服务,同步执行服务并未开启,需要借助DMHS控制台console工具,连接DMHS管理服务,手动输入start exec/cpt命令,开启源端的cpt和目的端的exec服务.
目的端命令示例:
[dmdba@localhost bin]$ ./dmhs_console
DMHS >connect 192.168.75.133:5345
DMHS >start exec
源端命令示例:
[dmdba@localhost bin]$ ./dmhs_console
DMHS >connect 192.168.75.131:5345
DMHS >start cpt
2)初始字典装载
开启目的端的DMHS服务之后, 启动目的端的DMHS服务,使用console管理工具,连接DMHS管理服务,使用COPY命令或DICT装载选项,执行装载操作。
命令示例:
[dmdba@localhost bin]$ ./dmhs_console
DMHS >connect 192.168.75.133:5345
DMHS >COPY 0 "SCH.NAME='SYSDBA'" CREATE|INSERT|DICT
7.2 初始数据装载
注:有数据装载需求时,过程和初始字典装载过程一样。
8.1 启动DMHS服务
命令行 |
./dmhs_server |
后台服务 |
./dmhs_servered |
首次启动DMHS服务的时候,只启动了DMHS管理服务,源端的日志分析服务和目的端的执行服务并未启动,这里需要通过DMHS的console工具,启动源端的日志分析服务和目的端的执行服务。
源端示例:
[dmdba@localhost bin]$ ./dmhs_console
[dmdba@localhost bin]$ ./dmhs_console
DMHS >connect 192.168.75.131:5345
DMHS >start cpt
8.2 停止DMHS服务
停止DMHS服务,既可以停止DMHS内部相应的同步服务,也可以直接退出DMHS进程
源端 |
DMHS >stop cpt |
目的端 |
DMHS >stop exec |
(1)首次启动的时候,注意先进行待同步模式或表的字典装载操作,否则无法启动源端捕获分析服务
(2)首次启动DMHS服务成功之后,会在程序目录创建.tmp的文件,作为启动标识。使用命令停止服务之后,会删除这些文件
(3)每次启动的时候,注意检查防火墙状态,防火墙状态需为关闭状态