DMHS搭建 |
您所在的位置:网站首页 › oracle19c集群搭建 › DMHS搭建 |
环境准备
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或者未设置。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 |