安装要求:
源端DMHS服务需要和源端数据在同一个机器,目的端DMHS可不与目的端数据在同一个机器
DMHS服务的安装版本与数据库类型和数据库版本、操作系统、芯片架构要匹配
服务安装
安装前源端数据库配置
要求开启归档和逻辑日志【'FAST_COMMIT'=0 否则可能导致逻辑日志不全】
- 修改dm,ini文件:ARCH_INI = 1 RLOG_APPEND_LOGIC = 1
- 修改dmarch,in文件:添加本地归档配置
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /opt/dmdbms/arch #归档目录
ARCH_FILE_SIZE = 128 #归档文件大小,单位 MB
ARCH_SPACE_LIMIT = 0 #空间大小限制,0 表示不限
重启数据库
验证配置是否生效
SELECT ARCH_DEST, ARCH_FILE_SIZE FROM SYS.V$DM_ARCH_INI WHERE ARCH_TYPE='LOCAL' AND ARCH_IS_VALID='Y';
SELECT PARA_VALUE FROM SYS.V$DM_INI WHERE PARA_NAME = 'RLOG_APPEND_LOGIC';
SELECT PATH FROM SYS.V$RLOGFILE;
安装dmhs
执行安装命令
./dmhs_V4.1.1_dm8_rev99696_rh6_64_veri_20210527.bin -i
选择安装字符集、验证许可证key文件、安装类型、安装目录、统一部署还是安装时初始化、
远程部署组件的配置:
服务脚本环境变量设置
依赖库路径
DM8的数据库复制需要依赖ODBC和dmdci依赖库【DMHS是通过dci接口访问dm数据库?】
远程控制服务启动方式(选自动会创建远程控制服务)
/home/dmdba/dmhs/scripts/root/root_installer.sh
检查动态库依赖文件是否缺失
cd /home/dmdba/dmhs/bin
ldd *.so >1.log |grep not found
检查动态库依赖库是否都存在(ldd 命令检查bin目录下的所有so后缀文件的一类库是否存在,将检查结果存入1.log文件中 筛选not found的行,就可知少哪些动态库)
【提示缺失的动态库,有可能机器上有,目录没在环境变量中,在环境变量中新增相关路径,或者将其他位置的动态文件copy到已有动态库环境变量路径下,可复制到安装目录bin目录下,将dmhs的bin路径添加到动态库环境变量中】
提示:libdmoci.so => not found
缺dmdci包,需要将dmdci包文件的内容解压到bin目录,或者单独放个目录,将目录添加到环境变量动态变量路径中
DDL配置:
方式一:辅助表方式(推荐)
scripts 子目录中“ddl_sql_dm8.sql”。注意创建时需要使用 SYSDBA 用户
验证是否创建成功(9个表、4个触发器)
select owner, table_name from dba_tables where owner = 'SYSDBA' and table_name like 'DMHS%' and status = 'VALID
select owner, trigger_name from dba_triggers where owner = 'SYSDBA' and trigger_name like 'DMHS%' and status = 'Y';
方式二,系统表日志方式。(视需求启用)
另外一种方式同步 DDL:系统表附加日志的方式同步 DDL,该方式同步 DDL 时,只 能同步常规对象,如:table、index、constraint、trigger、procedure、function、view、sequence; 对应的操作类型:create、drop、alter、truncate。同时,不支持分区表。
系统表附加日志方式同步 DDL 的配置方法为:将 DM8 数据库的配置文件“dm.ini”中 的“RLOG_APPEND_SYSTAB_LOGIC”设置为 1,再重启数据库实例即可
配置dmhs,编辑dmhs.hs配置文件
vi /home/dmdba/dmhs/bin/dmhs.hs
<?xml version="1.0" encoding="GB2312" standalone="no"?>
<dmhs>
<base>
<lang>ch</lang>
<mgr_port>5345</mgr_port>
<ckpt_interval>60</ckpt_interval>
<siteid>1</siteid>
<version>2.0</version>
</base>
<cpt>
<db_type>DM8</db_type>
<db_server>192.168.43.133</db_server>
<db_user>SYSDBA</db_user>
<db_pwd>SYSDBA</db_pwd>
<db_port>5236</db_port>
<idle_time>10</idle_time>
<parse_thr>1</parse_thr>
<ddl_mask>OBJ:OP</ddl_mask>
<arch>
<clear_interval>60</clear_interval>
<clear_flag>0</clear_flag>
</arch>
<send>
<mgr_port>5345</mgr_port>
<data_port>5346</data_port>
<net_turns>0</net_turns>
<trigger>1</trigger>
<constraint>1</constraint>
<identity>1</identity>
<filter>
<enable>
<item>TEST.*</item>
</enable>
</filter>
<map>
<item>TEST.*==TEST.*</item>
</map>
</send>
</cpt>
</dmhs>
启动dmhs服务
/home/dmdba/dmhs/bin/dmhs_server /home/dmdba/dmhs/bin/dmhs.hs
进入控制台初始化数据、开启捕获
/home/dmdba/dmhs/bin/dmhs_console
--清目的端日志序列号
Clear exec lsn
--初始化数据
Copy 0 “sch.name=’TEST’”DICT|LSN|CREATE|INSERT
--开启捕获
Start cpt
--查看状态
State
更多dmhs参数配置可参考文档(该文档在安装dmhs的安装路径doc文件夹下):
DMHS参考手册.pdf
达梦技术社区:https://eco.dameng.com