• DMHS搭建单向同步


    前提:已初始化实例库
    将HS bin包及dmhs.key放置在服务器上,可提前将libdmoci.so包也传输到服务器上
    更换所属主和所属组,并授权
    1.源端开启归档和逻辑日志 如果双向同步,都要开归档
    vim /data/DAMENG/dm.ini
    ARCH_INI = 1
    RLOG_APPEND_LOGIC = 1
    逻辑日志为动态参数,可动态修改
    SP_SET_PARA_VALUE(1, 'RLOG_APPEND_LOGIC', 1);
    检查逻辑追加日志
    select para_name,para_value from v$dm_ini where para_name='RLOG_APPEND_LOGIC';
    注意:dm.ini配置参数中"FAST_COMMIT" 必须为0,否则会导致逻辑日志不全而影响同步。此参数为隐形参数,不会在dm.ini中显示。
    需要在SQL中查询:
    select * from v$dm_ini where para_name like 'FAST_COMMIT';
    2.添加归档配置文件
    cd /data/DAMENG/
    vim dmarch.ini
    [ARCHIVE_LOCAL1]
    ARCH_TYPE = LOCAL
    ARCH_DEST = /data/DAMENG/arch #归档目录
    ARCH_FILE_SIZE = 128 #归档文件大小,单位MB
    ARCH_SPACE_LIMIT = 0 #空间大小限制,0表示不限制
    3.重启数据库,使配置文件生效
    [dmdba@localhost bin]$ ./DmServiceDMSERVER restart
    1)检查归档日志
    select arch_mode from v$database;
    4.命令行安装
    切换至dmdba用户,进入hs程序包所在目录,开始安装
    ./dmhs_V4.1.48_dm8_rev102088_rh6_64_veri_20210914.bin -i
    没有特殊要求,回车即可,不需要内置库可选择自定义安装
    5.源端创建。如果需要配置文件中配置DDL同步,那么需要创建DDL触发器和辅助表。创建时需要使用SYSDBA操作。具体操作步骤如下:
    1)在disql中设置 SQL 语句的编码方式,语法如下:
    set char_code UTF8; ----临时生效
    start /home/dmdba/dmhs/scripts/ddl_sql_dm8.sql
    2)通过管理工具连接数据库
    进入到dmhs如下目录中,找到ddl_sql_dm8.sql
    把此脚本中的内容,在数据库管理工具中执行
    3)检查创建的触发器和辅助表是否有效,
    检查辅助表的语句
    select owner, table_name from dba_tables where owner = 'SYSDBA' and table_name like 'DMHS%' and status = 'VALID';
    4)检查触发器的语句
    select owner, trigger_name from dba_triggers where owner = 'SYSDBA' and trigger_name like 'DMHS%' and status = 'Y';
    6.将dmhs.key放置在hs安装目录bin下
    [dmdba@localhost bin]$ mv /zqn/dmhsC4059573.key ./dmhs.key
    将数据库dmoci包放置在数据库实例目录bin下或者hs实例目录bin下
    7.配置源端dmhs.hs
    在hs实例路径bin下,创建dmhs.hs文件
    cd /home/dmdba/dmhs/bin
    dmhs.hs是DMHS默认的配置文件名,如果需要DDL同步,那么基本的配置示例如下:
    <?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.10.141</db_server> ----------> 重点
    <db_user>SYSDBA</db_user> -----------> 用户名
    <db_pwd>SYSDBA</db_pwd> -----------> 密码
    <db_port>5236</db_port>
    <send>
    <ip>192.168.10.144</ip>
    <mgr_port>5345</mgr_port>
    <data_port>5346</data_port>
    <filter>
    <enable>
    <item>SYSDBA.*</item>
    </enable>
    </filter>
    <map>
    <item>SYSDBA.*==SYSDBA.*</item>
    </map>
    </send>
    </cpt>
    </dmhs>
    7.开启源端的DMHS服务
    前台启动:
    ./dmhs_server dmhs.hs
    后台启动:
    通过指定服务类型注册服务:
    切换root用户cd /home/dmdba/dmhs/scripts/root/进行注册脚本
    ./dmhs_service_installer.sh -t dmhs_server -p M -x /home/dmdba/dmhs/bin/dmhs.hs -d /home/dmdba/dmhs/bin
    [dmdba@localhost ~]$ cd /home/dmdba/dmhs/bin
    [dmdba@localhost bin]$ ./DmhsService start
    后台启动,需通过console进入到hs控制台界面
    8.配置目的端dmhs.hs
    <?xml version="1.0" encoding="GB2312"?>
    <dmhs>
    <base>
    <lang>ch</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.10.142</db_server>
    <db_user>SYSDBA</db_user>
    <db_pwd>SYSDBA</db_pwd>
    <db_port>5236</db_port>
    <db_name></db_name>
    </exec>
    </dmhs>
    注册后台启动脚本
    [dmdba@localhost bin]$ ./DmhsServiceM start
    初始装载
    目的端:
    登录hs控制端,启动目的端接受模块成功
    目的端继续执行开启exec操作
    start exec
    源端:
    DMHS >clear exec lsn --第二步
    DMHS >copy 0 "sch.name='SYSDBA'" CREATE|INSERT|INDEX|REG|DICT --第三步(装载)
    DMHS >start cpt --第四步(同步)
     
    测试:在源端41机器上创建一张表,
    可在目的端机器42上查询到
    单向同步即成功
  • 相关阅读:
    Python3之json文件操作
    Python3之MySQL操作
    使用requests模块的网络编程
    Python 判断小数的函数
    python之函数
    CPUID
    .inc
    probe,victim,
    coolcode
    Linux vim 常用方法
  • 原文地址:https://www.cnblogs.com/zqntx/p/16317034.html
Copyright © 2020-2023  润新知