DMHS搭建

您所在的位置:网站首页 oracle19c集群搭建 DMHS搭建

DMHS搭建

2023-03-19 10:27| 来源: 网络整理| 查看: 265

环境准备

DMHS 支持的操作系统平台:Windows 系列(包括 XP、Win2003、Win7/8/10、 WinServer2008 等),Linux(Redhat、Ubuntu、CentOS、Kylin、Rocky 等)、Aix、Solaris 等。

内存要求:DMHS 需要的内存总量取决于执行的分析线程以及执行线程的并发数,最 少需要 1G 内存。

磁盘需求:DMHS 安装文件占用 277M,包括了管理工具以及管理界面占用的空间, 另外需要一些额外的空间存储 DMHS 运行的日志文件。

操作系统权限:在 Windows 安装时,安装和执行 DMHS 的用户必须是管理员身 份;在 Linux 平台下安装,安装用户必须有权限读写 DMHS 安装目录,将涉及的数据库 接口动态库添加到系统共享库环境变量中。操作系统用户必须具有归档日志文件的读取权 限。

TCP/IP:配置系统支持 TCP/IP 服务(DMHS 安装的所有机器必须配置主机名或者 IP 地址)。DMHS 需要使用以下 TCP/IP 端口:管理进程间通信的默认端口 5345;发送和 执行子系统之间通信的默认端口 5346;用户可以自行定义这些端口。

环境列表

操作系统

数据库

主机名

库名

ip

端口

源端

Centos 7

RAC

Rac1

wzp

192.168.0.9

5240

目标端

Centos 7

DM8

Localhost

wzp

192.168.0.12

5240

DMHS安装

DMHS的源端为Oracle RAC环境数据库时,DMHS只需部署在RAC的某一个节点上,当数据库为RAC时,需要对RAC各个节点配置时间同步

./dmhs_V4.2.94_oracle12c_rev113147_rh6_64_veri_20220811.bin -i

注意:DMHS在运行时,需要加载本地Oracle动态库libclntsh.so,该文件在$ORACLE_HOME/lib下面。

当在系统中未找到 libclntsh.so 文件, 但存在 libclntsh.so.***的文件,可使 用命令 ln -s libclntsh.so.**** libclntsh.so 创建一个软链接。

2、源端、目的端安装数据库

源端:安装Oracle RAC

目的端:安装dm8

3、在源端、目的端开启归档

Oracle 源端:

Startup mount

Alter database archivelog;

Alter database open;

Oracle源端开启最小附加日志和全列日志

alter database add supplemental log data;

alter database add supplemental log data(all) columns;

Dm8目的端开启归档

Dm.ini修改参数

ARCH_INI = 1

RLOG_APPEND_LOGIC = 1

Dmarch.ini

[ARCHIVE_LOCAL1]

ARCH_TYPE = LOCAL

ARCH_DEST = /dm8/data/DMHS/arch #归档目录

ARCH_FILE_SIZE = 128 #归档文件大小,单位 MB

ARCH_SPACE_LIMIT = 2048 #空间大小限制,0 表示不限制

注意:FAST_COMMIT必须为0,否则会导致逻辑日志不全而影响。

目的端安装UNIXODBC

解压unixodbc源码

tar -zxvf unixODBC-2.3.0.tar.gz

进入unixodbc源码目录,编译源码

Cd unixODBC-2.3.0

Export CC=gcc

./configure

Make

Make install

配置UNIXODBC

将当前目录切换至“/usr/local/etc”目录,修改odbc.ini和odbcinst.ini参数。Odbc.ini参数内容如下:

[ORACLE]

Description = ORACLE ODBC DSN

Driver = Oracle in OraDb19c_home1

SERVER = 127.0.0.1

UID = DMHS

PWD = DMHS

Servername = wzp

PORT = 152

Odbcinst.ini参数如下:

[Oracle in OraDb19c_home1]

Description = ODBC DRIVER FOR ORACLE

Driver = /u01/app/oracle/product/19.0.0/db_1/lib/libsqora.so.19.1

Threading = 0

配置DDL

如果要求 DDL 同步,那么需要创建 DDL 触发器和辅助表。创建的脚本参见 DMHS 安 装目录下 scripts 子目录中“ddl_sql_dm8.sql”。注意创建时需要使用 SYSDBA 用户

注意:如果命令行执行报错可以在管理工具里面执行脚本。

DMHS支持源端DDL的同步,源端DDL同步必须满足以下三个条件:

源端数据库必须允许DDL触发器的触发动作,即数据库参数_system_trig_enabled为TRUE或者未设置。

需要在源端数据库以 sys 用户,在 sys 模式下创建 DDL 触发器及 DDL 记录表需要日志捕获模块对 ddl_mask 进行设置。例如op:obj。 ddl_mask 可对同步对象进行过滤,详细参数请参照 ddl_mask 参数说明

DMHS用户数据

DMHS源端数据库用户,必须具有以下数据库操作权限:

GRANT SELECT ON SYS.V_$DATABASE TO DMHS;

GRANT SELECT ON SYS.V_$SESSION TO DMHS;

GRANT SELECT ON SYS.GV_$PARAMETER TO DMHS;

GRANT SELECT ON SYS.GV_$INSTANCE TO DMHS;

GRANT SELECT ON SYS.GV_$ARCHIVE_DEST TO DMHS;

GRANT SELECT ON SYS.GV_$ARCHIVE TO DMHS;

GRANT SELECT ON SYS.GV_$LOG TO DMHS;

GRANT SELECT ON SYS.GV_$LOGFILE TO DMHS;

GRANT SELECT ON SYS.DBA_TABLES TO DMHS;

GRANT SELECT ON SYS.V_$INSTANCE TO DMHS;

GRANT SELECT ON SYS.OBJ$ TO DMHS;

GRANT SELECT ON SYS.USER$ TO DMHS;

GRANT SELECT ON SYS.COL$ TO DMHS;

GRANT SELECT ON SYS.DBA_CONS_COLUMNS TO DMHS;

GRANT SELECT ON SYS.DBA_CONSTRAINTS TO DMHS;

GRANT SELECT ON SYS.LOB$ TO DMHS;

GRANT SELECT ON SYS.TABPART$ TO DMHS;

GRANT SELECT ON SYS.TAB$ TO DMHS;

GRANT SELECT ON SYS.TABSUBPART$ TO DMHS;

GRANT SELECT ON SYS.TABCOMPART$ TO DMHS;

GRANT EXECUTE ON DBMS_FLASHBACK TO DMHS;

GRANT LOCK ANY TABLE TO DMHS;

GRANT SELECT ANY TABLE TO DMHS;

DMHS目标库禁用约束/触发器

配置ORACLE RAC数据同步

配置 ORACLE/RAC 源端,可使用 DMHS 配置助手进行配置,或手动配置 DMHS 配置 文件 dmhs.hs。使用 DMHS 配置助手配置 ORACLE/RAC 源端,请参照 21 DMHS 配置助手 。 手动配置 dmhs.hs 时需注意,dmhs.hs 文件内容必须严格遵循 xml 格式规范。以下介绍如何 手动配置 dmhs.hs。

创建 DMHS 配置文件 dmhs.hs。将文件路径切换到 DMHS 工作目录下,创建文件 dmhs.hs。注意 DMHS 运行用户必须具有 dmhs.hs 文件的读取权限。Dmhs.hs文件中添加xml文件头及dmhs根元素

dmhs根元素添加base元素

     ch

     5345

     45

     1

     2.0

dmhs根元素添加cpt元素及cpt元素中添加源端数据库信息

oracle19c

pdb

dmhs

dmhs

op:obj

600

0

    

cpt元素添加数据发送设置

   

      127.0.0.1

      5345

      5346

     

          

                  DMHS.*

          

     

当源端数据库使用了ASM时,还需要在cpt元素中天剑ASM相关信息

oracle19c

pdb

dmhs

dmhs

    600

    0

    1

    pdb

    asm

    asm123

    3

    127.0.0.1

    6345

    6346

   

     

        DMHS.*

     

   

完整的DMHS源端配置文件(dmhs.hs),如下所示:

ch

5345

2

45

1

dm8

192.168.0.10

DMHS

DMHS

1521

300

op:obj:rec

4

/dbarch/dict

600

0

192.168.0.11

5345

5346

0

1

dmhs.*

DMHS.*==DMHS.*

配置目的端dmhs.hs文件

       

                en

                5345

                60

                2

                2.0

       

       

               

                        5346

               

                dm8

                192.168.0.11

                DMHS

                DMHS

                5239

               

                4

                1024

                5000

                1000

       

启动服务端dmhs服务

./dmhs_server

启动目的端DMHS服务

初次启动dmhs服务时,同步服务并未启动,需要使用dmhs控制台工具连接dmhs管理服务手动启动,手动输入start exec开启

启动报错

Dmhs server报错信息,提示没有找到libdmhs_exec.so

Ldd  libdmhs_exec.so查看lib包的位置

拷贝libdmoci.so文件值bin目录下即可

源端启动dmhs_server服务

./dmhs_server  ./dmhs.hs

源端删除一条数据

目标端验证

DMHS同步,MySQL到DM8

DMHS 在运行时,需要加载本地 MySQL 动态库,linux/unix 平台下为 libmysqlclient.so。

在部署 DMHS 之前,需将 libmysqlclient.so 所在目录添加到共享库路径变量中。

libmysqlclient.so 通常位于/usr/local/mysql/lib 目录中中。在 LINUX/UNIX 系统中,设置的方法如下:

操作系统类型

设置命令

IBM AIX

export LIBPATH=$LIBPATH: /usr/local/mysql/lib

HP UX

export SHLIB_PATH=$ SHLIB_PATH: /usr/local/mysql/lib

其他 LINUX/UNIX

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH: /usr/local/mysql/lib

在环境变量里面添加:

Export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/mysql/mysql/lib

环境介绍:

源端:MySQL5.7   IP:192.168.0.12   路径:/mysql/mysql

目的端:DM8      IP:192.168.0.13   路径:/dm8

安装源端DMHS

./dmhs_V4.3.06_mysql_rev123650_rh6_64_veri_20230208.bin  -i

开启源端数据库的binlog及binlog format

DMHS 通过分析 MySQL 数据库的 binlog 日志来捕获数据库的增量数据,DMHS 运行

之前,必须将数据库 binlog 打开,同时将 binlog format 设置为 row 模式。修改的参数均涉及数据库初始过程,修改参数后,需重启生效。

开启MySQL的binlog,修改binlog format

修改 mysql 启动配置文件,windows 平台下,配置文件为安装目录下的 my.ini,linux/unix平台下,配置文件为/etc/my.cnf。在配置文件[mysqld]标记后添加或修改配置参数 log_bin 及binlog_format,如下所示:

Log_bin=mysql-bin

Binlog_format=row

其中,binlog_format必须设置为row。当包含lob数据的同步是针对lob数据的大小,还需设置max_allowed_packet,如下所示:

Max_allowed_packet=100M

Vi  /etc/my.cnf

添加以下内容

server-id=1

log_bin=/mysql/data/mysql-bin

binlog_format=row

max_allowed_packet=100

重启MySQL数据库生效

源端DDl支持

DMHS 支持源端 DDL 的同步。当源端为 MySQL 数据库时,DMHS 同步解析 binlog 文件中的 DDL 语句来进行同步,目前仅仅支持满足以下表达式的 SQL

创建表修改表删除表清空表

源端创建同步用户

Create user dmhs identified by dmhs;

Grant dba to dmhs;

执行端创建同步用户

Create user dm_dmhs identified by “PASSWORD123456”;

Grant dba to dm_dmhs;

Grant vti to dm_dmhs;

源端MySQL配置ODBC

tar -xvf mysql-connector-odbc-5.3.7-linux-glibc2.5-x86-64bit.tar.gz

cp lib/* /usr/local/lib/

cp bin/* /usr/local/bin/

cp /usr/local/lib/libodbc.so.1.0.0  /usr/lib64/libodbc.so.1.0.0

cp /usr/local/lib/libodbcinst.so.1.0.0  /usr/lib64/libodbcinst.so.1.0.0

myodbc-installer -a -d -n "MySQL ODBC 5.3 Deiver" -t "Driver=/usr/local/lib/libmyodbc5w.so

myodbc-installer -a -d -n "MySQL ODBC 5.3 Deiver" -t "Driver=/usr/local/lib/libmyodbc5a.so

验证unixODBC

编辑odbc.ini

Vi  /usr/local/etc/odbc.ini

[MYSQL]

Description = MYSQL ODBC DSN

Driver = MySQL ODBC 5.3 Driver

SERVER = 192.168.0.12

UID = dmhs

PWD = dmhs

PORT = 3306

EOF

Vi /usr/local/etc/odbcinst.ini

[MySQL ODBC 5.3 Driver]

Description = ODBC DRIVER FOR MYSQL

Driver =/usr/local/lib/libmyodbc5a.so

UsageCount=1

验证odbc登录

Isql -v MYSQL dmhs dmhs

源端配置dmhs.hs

       

                ch

                5345

                45

                1

                2.0

       

       

                mysql

                127.0.0.1

                3306

                test

                dmhs

                dmhs

                op:obj

               

                        600

                        0

                        /usr/local/mysql/data

               

       

                127.0.0.1

                6345

                6346

                       

                       

                                test.*

                       

                       

                       

                        test.*==dm_dmhs.*

                       

       

       

执行端搭建DMHS

./dmhs_V4.3.06_dm8_rev123650_rh6_64_veri_20230208.bin -i

执行端配置dmhs.hs

 

 en

 5345

 60

 2

 2.0

 

 5346

 

 dm8

 127.0.0.1

 SYSDBA

 SYSDBA

 5236

 

 4

1024

  5000

 1000

 

执行端开启DMHS服务

Cd /dm8/dmhs/bin

./dmhs_server  ./dmhs.hs

执行端dm8数据库开启归档和逻辑日志

ARCH_INI=1

RLOG_APPEND_LOGIC=1

注意:dm.ini配置参数中FAST_COMMIT必须为0,否则会导致逻辑日志不全而影响同步。

添加归档配置文件

[ARCHIVE_LOCAL1]

ARCH_TYPE=LOCAL

ARCH_DEST=/dm8/data/wzp/arch

ARCH_FILE_SIZE=128

ARCH_SPACE_LIMIT=10240

源端开启dmhs_server服务

源端开启dmhs_console

达梦数据库 - 新一代大型通用关系型数据库 | 达梦在线服务平台



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3