目录
2.1.1打开数据库归档模式并打开逻辑附加日志(记录数据库操作的日志,用于发送给目的端)
1:环境配置:
1.1:环境准备
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;用户可以自行定义这些端口。
1.2:安装dm数据库
1.2.1:源端初始化实例
./dminit PATH=/soft/dm8/data EXTENT_SIZE=32 PAGE_SIZE=16 LOG_SIZE=256 UNICODE_FLAG=1 SYSDBA_PWD=tangyurun123 DB_NAME=hms INSTANCE_NAME=shms BUFFER=300
查看数据库运行状态
1.2.2目的端初始化实例
./dminit PATH=/soft/dm8/data EXTENT_SIZE=32 PAGE_SIZE=16 LOG_SIZE=256 UNICODE_FLAG=1 SYSDBA_PWD=tangyurun123 DB_NAME=hms2 INSTANCE_NAME=shms2 BUFFER=300
检查数据库运行状态
1.3安装dmhs
1.3.1上传并授权
1.3.2命令行安装
具体参考日志文件
2:修改系统参数(源端目的端都要修改)
2.1:配置文件参数
2.1.1打开数据库归档模式并打开逻辑附加日志(记录数据库操作的日志,用于发送给目的端)
arch_ini=1 #开启归档
rlog_append_logic=1 #开启逻辑附加日志 特别注意,开启逻辑附加日志时必须保证“FAST_COMMIT"为0!
2.1.2:添加归档配置文件
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /soft/dm8/arch #归档目录
ARCH_FILE_SIZE = 128 #归档文件大小,单位 MB
ARCH_SPACE_LIMIT = 0 #空间大小限制,0 表示不限
2.1.3启动数据库后,验证相关参数是否正确
#检查归档配置的正确性
SQL>SELECT ARCH_DEST, ARCH_FILE_SIZE FROM SYS.V$DM_ARCH_INI WHERE ARCH_TYPE='LOCAL' AND ARCH_IS_VALID='Y';
#检查逻辑日志配置的正确性
SQL>SELECT PARA_VALUE FROM SYS.V$DM_INI WHERE PARA_NAME = 'RLOG_APPEND_LOGIC';
#检查在线日志
SQL>SELECT PATH FROM SYS.V$RLOGFILE;
#检查 FAST_COMMIT 参数是否为 0
SQL>select para_value from v$dm_ini where para_name = 'FAST_COMMIT';
源端验证:
目的端验证:
2.2:DDL同步触发器配置
该部分功能目的是为了源端/目的端配置DDL触发器由于本次实验作为DM到DM过程中,因此该部分触发器只需要配置源端即可。后续会自动同步
#在源端服务器上,通过disql连接数据库后执行以下命令
SQL>start /soft/dmhs/scripts/ddl_sql_dm8.sql
#检查创建的触发器和辅助表是否有效
SQL>select owner, table_name from dba_tables where owner = 'SYSDBA' and table_name like 'DMHS%' and status = 'VALID';
#检查触发器
SQL>select owner, trigger_name from dba_triggers where owner = 'SYSDBA' and trigger_name like 'DMHS%' and status = 'Y';
3:DMHS同步文件参数配置:
在源端配置dmhs.hs文件
<?xml version="1.0" encoding="utf-8"?>
<dmhs>
<base>
<lang>en</lang>
<mgr_port>5345</mgr_port>
<ckpt_interval>60</ckpt_interval>
<siteid>1</siteid>
<version>2.0</version>
</base>
<cpt>
<db_type>dm8</db_type>
<db_server>192.168.50.138</db_server>
<db_user>SYSDBA</db_user>
<db_pwd>LBHA88888</db_pwd>
<db_port>5235</db_port>
<db_ssl_path></db_ssl_path>
<db_ssl_pwd></db_ssl_pwd>
<parse_thr>1</parse_thr>
<ddl_mask>op:obj</ddl_mask> <!--DDL 配置项-->
<arch><!--归档清理配置项-->
<clear_interval>600</clear_interval>
<clear_flag>0</clear_flag>
</arch>
<send><!-- 发送模块配置 -->
<ip>192.168.50.139</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>
<net_turns>0</net_turns>
<filter><!--过滤配置项-->
<enable><!-- 白名单,所有允许同步的表 -->
<item>SYSDBA.</item></enable></filter><map><!--映射配置项--><item>SYSDBA.==SYSDBA.*</item>
</map>
</send>
</cpt>
</dmhs>
目的端同样配置DMHS文件
<?xml version="1.0" encoding="utf-8"?>
<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.20.172</db_server>
<db_user>SYSDBA</db_user>
<db_pwd>tangyurun123</db_pwd>
<driver>DM8 ODBC DRIVER</driver>
<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>
4启动服务和同步模块
4.1源端和目的端注册服务:
#root /cd /home/dmdba/dmhs/scripts
#root/./dmhs_service_installer.sh -t dmhs_server -a true -p HMS -x /home/dmdba/dmhs/bin/dmhs.hs -d /home/dmdba/dmhs/bin
4.2进行数据同步:
4.2.1目的端启动本地EXEC模块
#执行端运行 DMHS 软件工具,启动服务
[dmdba@dmhs02 bin]$ ./DmhsServiceHMT start
#执行端运行 DMHS 软件工具 dmhs_console
[dmdba@dmhs02 bin]$ ./dmhs_console
#连接执行端 DMHS 服务
DMHS> connect
#启动日志执行模块
DMHS> start exec
4.2.2源端启动本地CPT模块
#源端运行 DMHS 软件工具 dmhs_server,启动服务
[dmdba@dmhs01 bin]$ ./DmhsServiceHMS start
#使用dmhs_cosole工具连接DMHS管理服务
[dmdba@dmhs02 bin]$ ./dmhs_console
#连接源端 DMHS 服务
DMHS> connect
#设置日志捕获模块起始 LSN
DMHS> clear exec lsn
#装载源端字典信息及历史数据
DMHS> copy 0 "sch.name='SYSDBA'" DICT|LSN|CREATE|INSERT|INDEX
#执行start cpt
DMHS> start cpt