在使用dmhs数据同步时候,发现源端和目的端的数据不一致,开始检查并解决
查看dmhs服务的进程是否开启
ps -ef|grep dmhs
发现dmhs服务停止
cd /home/dmdba/dm/dmhs/bin
./dmhs_serverd start --后台启动dmhs服务
发现启动失败,报错key过期
去log日志看一下
cd /home/dmdba/dm/dmhs/log
ls
tail dmhs_serverd.log
发现启动失败报错信息提示已经过期了
用新key替换旧key
--将旧的key备份保存
cd /home/dmdba/dm/dmhs/bin
mv dmhs.key dmhs_old.key
cp dmhs20240925.key /home/dmdba/dm/dmhs/bin
mv dmhs20240925.key dmhs.key
替换成功不要忘记赋予dmdba的权限
chown -R dmdba:dinstall dmhs.key
重新启动dmhs
./dmhs_serverd start
过期日期变成2024-09-25,成功启动,启动成功后开始同步
目的端
./dmhs_console
start exec
源端
./dmhs_console
COPY 0 "sch.name is not NULL" DICT --重新拷贝字典
start cpt
cpt
stop
发现同步失败
查看日志
cd bin/log
ls
tail dmhs_202402.log
发现有表的结构发生了改变,去查看目的端的表发现少一列,沟通后,这张表目的端同步跟源端一样就行
解决方案:
源端备份还原到目的端
源端:
su - dmdba
cd /home/dmdba/dm/dmdbms/bin
./dmserverd stop --备份还原先停服务
./dmrman
backup database 'dm.ini' full backupset '/dbbak/dmbak/fullbak0228';
目的端
cd /home/dmdba/dm/dmdbms/bin
./dmserverd stop --备份还原先停服务
./dmrman
restore database 'dm.ini' from backupset '/dbbak/dmbak/fullbak0228';
recover database 'dm.ini' from backupset '/dbbak/dmbak/fullbak0228';
还原成功,目的端和源端数据一致