1, 环境准备(2机)
IP: 192.168.6.26, 192.168.6.27
hostname: dmhs26, dmhs27
DM8数据库安装……
//实际生产环境中,这里最好单块盘单独一个分区后挂载
mkdir /dmhs
chown -R dmdba:dinstall /dmhs
chmod 777 /dmhs
//相关包安装
mount /dev/cdrom /mnt
cd /etc/yum.repos.d
mkdir bk
mv *.repo bk/
echo "[EL]" >> /etc/yum.repos.d/dmstu.repo
echo "name =Linux 6.x DVD" >> /etc/yum.repos.d/dmstu.repo
echo "baseurl=file:///mnt" >> /etc/yum.repos.d/dmstu.repo
echo "gpgcheck=0" >> /etc/yum.repos.d/dmstu.repo
echo "enabled=1" >> /etc/yum.repos.d/dmstu.repo
cat /etc/yum.repos.d/dmstu.repo
//验证:如果能列出安装包列表,则可继续下面的install
#: yum list|more
yum install binutils -y
yum install compat-libcap1 -y
yum install compat-libstdc++-33 -y
yum install gcc -y
yum install gcc-c++ -y
yum install glibc -y
yum install glibc-devel -y
yum install ksh -y
yum install libgcc -y
yum install libstdc++ -y
yum install libstdc++-devel -y
yum install libaio -y
yum install libaio-devel -y
yum install libXext -y
yum install libXtst -y
yum install libX11 -y
yum install libXau -y
yum install libxcb -y
yum install libXi -y
yum install make -y
yum install sysstat -y
yum install unixODBC -y
yum install unixODBC-devel -y
yum install unzip -y
yum install *vnc*
2. dmhs安装(2机)
//精简安装
[dmdba@dmhs26 dmback]$ ./dmhs_V4.1.2__dm8_A_rh6_64__20210729.bin -i
[dmdba@dmhs27 dmback]$ ./dmhs_V4.1.2__dm8_A_rh6_64__20210729.bin -i
//依赖库路径
/dm/dmdbms/dm8/bin:/usr/local/lib
3. dmhs配置
3.1 源端db配置
[dmdba@dmhs26 dmback]$
vi /dm/dmdata/dmeigdb/dm.ini
#设置归档标记和逻辑日志标记。打开 DM7 服务器配置文件“dm.ini”,设置如下值:
ARCH_INI = 1
RLOG_APPEND_LOGIC = 1
注意: dm.ini 配置参数中“FAST_COMMIT”必须为 0,否则会导致逻辑日志不全而影响
同步。
[dmdba@dmhs26 dmback]$
vi /dm/dmdata/dmeigdb/dmarch.ini //与dm.ini同路径
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm/dmarch #归档目录
ARCH_FILE_SIZE = 128 #归档文件大小,单位 MB
ARCH_SPACE_LIMIT = 0 #空间大小限制, 0 表示不限制
3.2 源端检查参数配置
//临时登录db,以便检查参数, 如果没注册服务就按如下方式,如果有注册,则直接重启后disql登录查看
[dmdba@dmhsdb26 soft]$ dmserver /dm/dmdata/dmhsdb/dm.ini
[dmdba@dmhsdb26 dm]$
disql sysdba/dm12345678
SQL>
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';
SQL>
SELECT PATH FROM SYS.V$RLOGFILE;
SQL>
select para_value from v$dm_ini where para_name = 'FAST_COMMIT';
3.3 源端配置DDL
这一步建议用VNC图形界面。。。。。。
cd /dm/dmdbms/dm8/tool
$ manager
3.4 源端和目标端的dmhs.hs配置文件
源端:
<?xml version="1.0" encoding="GB2312"?>
<dmhs>
<base>
<lang>en</lang>
<mgr_port>5345</mgr_port>
<ckpt_interval>60</ckpt_interval>
<siteid>1</siteid>#全局唯一,不能有重复值
</base>
<cpt>
<db_type>dm8</db_type>
<db_server>192.168.6.26</db_server>
<db_user>SYSDBA</db_user>
<db_pwd>dm12345678</db_pwd>
<db_port>5236</db_port>
<parse_thr>1</parse_thr>
<ddl_mask>op:obj</ddl_mask> <!--DDL配置项-->#若不需要同步DDL操作,则为空
<arch><!--归档清理配置项-->
<clear_interval>600</clear_interval>
<clear_flag>0</clear_flag>#清理归档设置,为1表示清除,即将同步完成的归档文件删除;为2,表示将同步完成的归档文件移到bak_dir目录下;为0,表示不做任何操作。
<bak_dir>/dm/dmarch</bak_dir>
</arch>
<send><!-- 发送模块配置-->
<ip>192.168.6.27</ip>
<mgr_port>5345</mgr_port>
<data_port>5346</data_port>
<trigger>1</trigger><!-- 是否忽略触发器,默认为0,限定值0,1 -->
<constraint>1</constraint><!-- 是否忽略约束,默认为0,限定值0,1 -->
<identity>1</identity>
<filter><!--过滤配置项-->#过滤规则,先判断白名单,再判断黑名单,存在重叠的,都会被过滤。
<enable><!-- 白名单,所有允许同步的表 -->
<item>SYSDBA.*</item>
</enable>
</filter>
<map><!--映射配置项-->
</map>
</send>
</cpt>
</dmhs>
目标端:
<?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.6.27</db_server>
<db_user>SYSDBA</db_user>
<db_pwd>dm12345678</db_pwd>
<db_port>5236</db_port>
<db_name></db_name>
<exec_thr>4</exec_thr>
<exec_sql>1024</exec_sql>
<exec_trx> 5000 </exec_trx>
<exec_rows>1000</exec_rows>
</exec>
</dmhs>
3.5 启动DMHS程序并进行数据装载
在测试时,如果配置文件dmhs.hs没有放到bin目录下,那么./dmhs_server前台启服务的时候就要带上dmhs.hs的路径,如 ./dmhs_server ../dmhs.hs
目标端:
session1:
[dmdba@dameng bin]$ ./dmhs_server
session2:
[dmdba@dameng bin]$ ./dmhs_console
DMHS> connect 192.168.6.27:5345
DMHS> start exec
源端:
session1:
[dmdba@dameng bin]$ ./dmhs_server
session2:
[dmdba@dameng bin]$ ./dmhs_console
DMHS> connect 192.168.6.26:5345
DMHS> copy 0 "sch.name='SYSDBA'" DICT|LSN|CREATE|INSERT|INDEX
3.6 开启数据从源端到目标端的实时同步
源端:
//DMHS> clear exec lsn
DMHS> start //or: start cpt
3.7 创建后台启动服务
源端创建后台启动服务
[root@dmhs26 root]# ./dmhs_service_installer.sh -t dmhs_server -a false -d /dmhs/bin -p dmhcpt -x /dmhs/dmhs.hs
[dmdba@dmhs26 ~]$ service DmhsServicedmhcpt start
目标端创建后台启动服务
[root@dmhs27 root]#
./dmhs_service_installer.sh -t dmhs_server -a false -d /dmhs/bin -p dmhsrec -x /dmhs/dmhs.hs
[dmdba@dmhs27 ~]$
service DmhsServicedmhrec start
更多达梦数据库解决方案,可访问如下地址: