Oracle11g-DM8单实例数据库DMHS部署搭建
一、DMHS软件安装
1.1 环境需求
内存要求: DMHS 需要的内存总量取决于执行的分析线程以及执行线程的并发数,最少需要 1G 内存。
磁盘需求: DMHS 安装文件占用 443M,包括了管理工具以及管理界面占用的空间,另外需要一些额外的空间存储 DMHS 运行的日志文件。
操作系统权限: 在 Windows 安装时,安装和执行 DMHS 的用户必须是管理员身份;在 Linux 平台下安装,安装用户必须有权限读写 DMHS 安装目录,将涉及的数据库接口动态库添加到系统共享库环境变量中。
网络要求: 配置系统支持 TCP/IP 服务(DMHS 安装的所有机器必须配置主机名或者 IP地址)。 DMHS 需要使用以下 TCP/IP 端口:管理进程间通信的默认端口 5345;发送和执行子系统之间通信的默认端口 5346;用户可以自行定义这些端口。
1.2 软件安装
(1)系统的硬件环境如下(虚拟机)
硬件名称 配置
Red Hat Oracle
(安装Oracle) 源端服务器操作系统:Red Hat Enterprise Linux Server release 6.4
内存:2G
磁盘:40G
Red Hat -dmhs-destination
(安装DM数据库) 目的端服务器操作系统:Red Hat Enterprise Linux Server release 6.4
内存:2G
磁盘:30G
(2)网络环境配置
数据库环境 列表
IP设置 Oracle源端:192.168.175.160
DM 目的端:192.168.175.161
(3)数据库版本
版本号 开发商
Oracle
Oracle Database 11g 11.2.0.1.0 - 64 甲骨文
DM8 dm8_x86_rh6_64_ent_8.1.1.134 武汉达梦数据库有限公司
(4)安装数据库
1)源端安装Oracle 11g,安装过程具体参考网上教程;
2)目的端安装DM8数据库,具体安装参考DM8安装手册。
(5)安装DMHS
注意:Oracle端和DM数据端使用的DMHS版本不一样!!!
1) Oracle源端安装DMHS
安装时使用Oracle的安装用户组(oracle.oinstall)Linux安装命令:
./ dmhs_V3.1.3_oracle_rev95241_rh6_64_veri_…bin(图形界面安装)
./ dmhs_V3.1.3_oracle_rev95241_rh6_64_veri_…bin -i (非图形化安装)
安装过程如下:
[oracle@asmora home]$ ./dmhs_V3.1.3_oracle_rev95241_rh6_64_veri_…bin -i
Extract install files…
1.英文(English)
2.简体中文(简体中文)
请选择安装语言[2.简体中文(简体中文)]:2
/tmp/DMHSInstall/install.log
1.免费试用达梦数据实时同步
2.使用已申请的Key文件
验证许可证文件[1.免费试用达梦数据实时同步]:1
1.精简版
2.完整版(web客户端)
3.自定义
安装类型[1.精简版]:2
1.实时同步软件服务器
2.远程部署工具
3.实时同步软件客户端
4.内置数据库
5.实时同步软件配置助手
6.手册
所需磁盘空间:828 MB
安装目录: [/home/dmhs]/home/dmhs
1.统一部署
2.现在初始化
是否初始化达梦数据实时同步系统[1.统一部署]:1
正在安装
default start … default finished.
server start … server finished.
hs_agent start … hs_agent finished.
webmanager start … webmanager finished.
db start … db finished.
hsca start … hsca finished.
doc start … doc finished.
doc start … doc finished.
postinstall start … postinstall finished.
正在创建快捷方式
安装成功
远程部署工具配置
远程部署工具名称[HsAgent]:
主机Ip(外网)192.168.175.160:
远程部署工具管理端口5456:
内置数据库轮询间隔3:
内置数据库IP[192.168.175.160]:
内置数据库端口[15236]:
内置数据库用户名[SYSDBA]:
内置数据库密码[SYSDBA]:
内置数据库服务
1.自动
2.手动
启动方式:[2.手动]2
正在创建内置数据库服务
初始化内置数据库
远程控制服务
1.自动
2.手动
启动方式:[2.手动]2
正在创建远程控制服务
web服务
1.自动
2.手动
启动方式:[2.手动]2
正在创建web服务
达梦数据实时同步 V4.0 安装完成
更多安装信息,请查看安装日志文件:
/home/dmhs/log/install.log
至此,Oracle源端DMHS安装完成,后续进行相关配置;
2) DM8目的端安装DMHS
Linux安装命令:
./ dmhs_V3.1.3_dm8_rev95241_rh6_64_veri_202…bin(图形界面安装)
./ dmhs_V3.1.3_dm8_rev95241_rh6_64_veri_202…bin -i (非图形化安装)
安装过程:
[dmdba@localhosthome]$ ./dmhs_V3.1.3_dm8_rev95241_rh6_64_veri_202…bin -i
Extract install files…
1.英文(English)
2.简体中文(简体中文)
请选择安装语言[2.简体中文(简体中文)]:2
/tmp/DMHSInstall/install.log
1.免费试用达梦数据实时同步
2.使用已申请的Key文件
验证许可证文件[1.免费试用达梦数据实时同步]:1
1.精简版
2.完整版(web客户端)
3.自定义
安装类型[1.精简版]:2
1.实时同步软件服务器
2.远程部署工具
3.实时同步软件客户端
4.内置数据库
5.实时同步软件配置助手
6.手册
所需磁盘空间:828 MB
安装目录: [/home/dmdba/dmhs]/home/dmdba/dmhs
1.统一部署
2.现在初始化
是否初始化达梦数据实时同步系统[1.统一部署]:1
正在安装
default start … default finished.
server start … server finished.
hs_agent start … hs_agent finished.
webmanager start … webmanager finished.
db start … db finished.
hsca start … hsca finished.
doc start … doc finished.
doc start … doc finished.
postinstall start … postinstall finished.
正在创建快捷方式
安装成功
远程部署工具配置
远程部署工具名称[HsAgent]:
主机Ip(外网)192.168.175.161:
远程部署工具管理端口5456:
内置数据库轮询间隔3:
内置数据库IP[192.168.175.161]:
内置数据库端口[15236]:
内置数据库用户名[SYSDBA]:
内置数据库密码[SYSDBA]:
内置数据库服务
1.自动
2.手动
启动方式:[2.手动]2
正在创建内置数据库服务
初始化内置数据库
远程控制服务
1.自动
2.手动
启动方式:[2.手动]2
正在创建远程控制服务
web服务
1.自动
2.手动
启动方式:[2.手动]2
正在创建web服务
达梦数据实时同步 V4.0 安装完成
更多安装信息,请查看安装日志文件:
/home/dmdba/dmhs/log/install.log
至此,DM数据库目的端DMHS安装完成,后续进行相关配置;
二、DMHS相关配置
采用的是手动配置dmhs.hs,即在安装目录/home/dmdba/dmhs/bin下手动添加dmhs.hs文件,源端和目的端的配置文件内容不同,需要注意!!!
2.1 Oracle源端配置
(1)Oracle数据库初始配置
1)创建同步数据用户
连接数据库:sqlplus / as sysdba
创建用户:create user dmhs identified by dmhs;
赋予bda权限:grant dba to dmhs;
2) 检查Oracle是否开启归档日志,如果未开启归档日志,先关闭 Oracle 服务,开启归档日志
SQL>archive log list;
开启归档日志:
SQL>SHUTDOWN IMMEDIATE;
SQL>STARTUP MOUNT;
SQL> ALTER DATABASE ARCHIVELOG;
SQL>ARCHIVE LOG LIST;
SQL>ALTER SYSTEM SET DB_RECOVERY_FILE_DEST=’’;
SQL>ALTER SYSTEM SET LOG_ARCHIVE_DEST=’/u01/app/oracle/arch’;
SQL>ALTER DATABASE OPEN;
如图:
- 检查是否开启最小附加日志及全列日志
SQL>ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
SQL>ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;
SQL>SELECT SUPPLEMENTAL_LOG_DATA_MIN, SUPPLEMENTAL_LOG_DATA_ALL FROM V$DATABASE;
如图:
4) 检查服务名
[oracle@asmora home]$ tnsping orcl
如图:
5)关闭Oracle回收站功能
SQL> alter system set recyclebin=off deferred;
如图:
(2)Oracle源端配置DDL
如果要求DDL同步,那么需要创建DDL触发器和辅助表。创建的脚本参见DMHS安装目录下scripts子目录中ddl_sql_ora.sql脚本。注意创建时需要使用SYSDBA用户,本次搭建需要创建DDL触发器和辅助表,如图:
建议采用打开脚本,复制脚本中每个DDL语句逐步执行,一定要按脚本中的顺序逐步执行,不然会出现创建不成功!!!创建语句报错时应注意检查脚本是否有非法字符(多数为空格)!!!
(3)Oracle源端配置dmhs.hs
安装目录/home/dmhs/bin下的dmhs.hs是DMHS默认的配置文件,如果需要DDL同步,那么基本的配置示例如下:
<?xml version="1.0" encoding="GB2312"?>
<dmhs>
<base>
<lang>ch</lang>
<mgr_port>5345</mgr_port>
<ckpt_interval>45</ckpt_interval>
<siteid>1</siteid>
<version>2.0</version>
</base>
<cpt>
<db_type>oracle11g</db_type>
<db_server>ORCL</db_server>
<db_user>dmhs</db_user>
<db_pwd>dmhs</db_pwd>
<db_port>1521</db_port>
<ddl_mask>op:obj</ddl_mask>
<arch>
<clear_interval>600</clear_interval>
<clear_flag>0</clear_flag>
</arch>
<send>
<ip>192.168.175.161</ip>
<mgr_port>5345</mgr_port>
<data_port>5346</data_port>
<filter>
<enable>
<item>DMHS.*</item>
</enable>
</filter>
<map><!--映射配置项-->
<item>DMHS.*==DMHS.*</item>
</map>
</send>
</cpt>
</dmhs>
注:需要root用户创建归档目录/u01/app/oracle/arch,并赋予Oracle的用户权限,命令如下:
mkdir -p /u01/app/oracle/arch
chown oracle.oinstall arch
现对以上的基本配置作如下几点说明:
- siteid全局唯一,即DMHS同步系统涉及的所有节点的siteid必须全局唯一,不允许有重复值。
- DDL配置项,如果不需要DDL同步,那么就配置为空,即<ddl_mask></ddl_mask>,相应地DMHS DDL触发器和辅助表也不需要创建。
- 归档清理配置项,clear_flag为1表示清除,即DMHS将同步完成的归档文件删除;为2,表示将同步完成的归档移到bak_dir目录下;为0,表示不作任何操作。
- 过滤配置项,本示例配置了白名单,即enable,也可以配置黑名单,详见DMHS用户手册。其过滤的规则是:先判断白名单,然后判断黑名单。如果存在重叠的情况,那么也是会被过滤的。
- 映射配置项,表示存在不同模式之间的表同步,例如本示例中源端的DMHS DMHS模式下的表映射成目的端的DMHS模式下同名的表。
2.2 DM8目的端配置(操作端)
(1)Oracle数据库初始配置
连接数据库:./disql SYSDBA/SYSDBA@192.168.175.161:5236
创建用户:Create user dmhs identified by dmhs123456;
赋予bda权限:Grant dba to dmhs;
(2)DM8目的端配置dmhs.hs
安装目录/home/dmdba/dmhs/bin下添加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.175.161</db_server><!--目的端IP-->
<db_user>SYSDBA</db_user>
<db_pwd>SYSDBA</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>
2.3 初始装载
初始装载是将源端数据库中的初始数据装载到目的端数据库,使DMHS同步的时刻源和目的端的同步表数据一致。装载前源端DMHS服务和目的端DMHS服务都需要开启,按以下顺序进行(一定要按顺序执行!!),具体的步骤如下:
(1)开启DM8目的端DMHS服务:
进入/home/dmdba/dmhs/bin目录,命令:
./dmhs_server
如图:
(2)启动DM8目的端捕获器:
进入/home/dmdba/dmhs/bin目录,命令:
./dmhs_console
connect
start exec
如图:
(3)开启Oracle源端DMHS服务:
使用oracle用户,进入/home/dmhs/bin目录,命令:
./dmhs_server
如图:
(4)在Oracle源端进行初始装载:
进入/home/dmhs/bin目录,命令:
./dmhs_console
connect
clear exec lsn
copy 0 “SCH.NAME=‘DMHS’” DICT|LSN|CREATE|INSERT|INDEX
start cpt
如图:
至此,Oracle11g至DM8的DMHS搭建成功,可以开始进行数据同步。
2.4 简单数据同步测试
测试(1):
Oracle源端建立新表并插入数据,查询目的端
Oracle源端如图:
DM8目的端如图:
测试(2):
Oracle源端创建视图,目的端查询视图后,在源端删除视图
Oracle源端创建:
DM8目的端查询:
Oracle源端删除视图:
DM8目的端查询:
测试结束,数据和DDL操作同步成功。