源端:192.168.1.225 数据库DM7 (提示:源端数据库开启归档日志和逻辑附加日志)
目的:192.168.1.223 数据库DM7
DMHS版本:V4.3.06
select para_value from v$dm_ini where para_name = ‘FAST_COMMIT’;
注意:dm.ini 配置参数中“FAST_COMMIT”必须为 0,否则会导致逻辑日志不全而影响同步。
#检查附加日志是否开启
select PARA_NAME,PARA_VALUE,PARA_TYPE from v$dm_ini where para_name=‘RLOG_APPEND_LOGIC’;
#开启附加日志
call sp_set_para_value(1,‘RLOG_APPEND_LOGIC’,1);
命令行方式安装简易版即可,根据安装导航提示,这里不做描述,省略…
执行DDL脚本ddl_sql_dm7.sql, 有个坑跟大家分享下:
4.1 SYSDBA用户登录执行DDL脚本,建议使用manager图形工具执行,不会遇到任何问题;
4.2 命令行中的脚本有异常,初步判断和字符集有关,必须使用disql执行脚本的情况,可以下载脚本后把内容复制拷贝到服务器的新建文档中执行,需要进行如下设置即可正常运行结束。
SQL> set define off
SQL> set char_code UTF8
SQL> start $DMHS_HOME/scripts/ddl_sql_dm7.sql
–同步用户默认表空间
create tablespace dm datafile ‘/home/dm7/dmdbms/data/BJ/dm01.dbf’ size 200;
–创建同步用户DM
create user dm identified by dm123456789 default tablespace dm;
–赋权用户resource角色
grant resource to dm;
–DM用户登录创建模拟数据
SQL> CREATE TABLE TEST1(C1 INT,C2 NUMBER, C3 VARCHAR(20) ,SRC_TIME DATE DEFAULT SYSDATE, primary key (c1));
操作已执行
SQL> CREATE TABLE TEST2(C1 INT,C2 NUMBER, C3 VARCHAR(20) ,SRC_TIME DATE DEFAULT SYSDATE, primary key (c1));
操作已执行
已用时间: 22.552(毫秒). 执行号:1356.
SQL> CREATE TABLE TEST3(C1 INT,C2 NUMBER, C3 VARCHAR(20) ,SRC_TIME DATE DEFAULT SYSDATE, primary key (c1));
操作已执行
已用时间: 22.011(毫秒). 执行号:1357.
SQL> CREATE TABLE TEST4(C1 INT,C2 NUMBER, C3 VARCHAR(20) ,SRC_TIME DATE DEFAULT SYSDATE, primary key (c1));
操作已执行
已用时间: 22.066(毫秒). 执行号:1358.
SQL> CREATE TABLE TEST5(C1 INT,C2 NUMBER, C3 VARCHAR(20) ,SRC_TIME DATE DEFAULT SYSDATE, primary key (c1));
操作已执行
已用时间: 69.369(毫秒). 执行号:1353.
SQL> begin
for i in 1…100000
loop
INSERT INTO TEST1(C1,C2,C3) VALUES(i, 123.24,‘GOOD’);
IF mod(i,1000) = 0 THEN
commit;
end if;
end loop;
commit;
end;
/
DMSQL 过程已成功完成
SQL> begin
for i in 1…100000
loop
INSERT INTO TEST2(C1,C2,C3) VALUES(i, 123.24,‘GOOD’);
IF mod(i,1000) = 0 THEN
commit;
end if;
end loop;
commit;
end;
/
DMSQL 过程已成功完成
SQL> SQL> begin
for i in 1…100000
loop
INSERT INTO TEST3(C1,C2,C3) VALUES(i, 123.24,‘GOOD’);
IF mod(i,1000) = 0 THEN
commit;
end if;
end loop;
commit;
end;
/
DMSQL 过程已成功完成
SQL> begin
for i in 1…100000
loop
INSERT INTO TEST4(C1,C2,C3) VALUES(i, 123.24,‘GOOD’);
IF mod(i,5000) = 0 THEN
commit;
end if;
end loop;
commit;
end;
/
DMSQL 过程已成功完成
SQL> SQL> begin
for i in 1…100000
loop
INSERT INTO TEST5(C1,C2,C3) VALUES(i, 123.24,‘GOOD’);
IF mod(i,5000) = 0 THEN
commit;
end if;
end loop;
commit;
end;
/
DMSQL 过程已成功完成
SQL> backup database full backupset ‘/home/dm7/backup/BACKUP_FILE_01’;
手工dmhs.conf中记录cpt_start_lsn=(XXXX)或dmhs执行copy装载会自动填充)
[dm7@dwm bin]$ ./dmrman
dmrman V7
RMAN> show backupset ‘/home/dm7/backup/BACKUP_FILE_01’;
默认在dmhs_home/bin下
源端:dmhs.hs
<?xml version="1.0" encoding="GB2312"?>
<dmhs>
<base>
<lang>ch</lang>
<mgr_port>5345</mgr_port>
<chk_interval>2</chk_interval>
<ckpt_interval>45</ckpt_interval>
<siteid>1</siteid>
<version>2.0</version>
</base>
<cpt>
<db_type>dm7</db_type>
<db_server>127.0.0.1</db_server>
<db_user>SYSDBA</db_user>
<db_pwd>SYSDBA</db_pwd>
<db_port>5237</db_port>
<idle_time>300</idle_time>
<ddl_mask>op:obj</ddl_mask>
<parse_thr>1</parse_thr>
<arch>
<clear_interval>600</clear_interval>
<clear_flag>2</clear_flag>
<bak_dir></bak_dir>
</arch>
<send>
<ip>192.168.1.223</ip>
<mgr_port>5345</mgr_port>
<data_port>5346</data_port>
<trigger>1</trigger>
<constraint>1</constraint>
<identity>1</identity>
<net_turns>0</net_turns>
<filter>
<enable>
<item>DM.*</item>
</enable>
</filter>
<map>
<item>DM.*==DM.*</item>
</map>
</send>
</cpt>
</dmhs>
目的端:dmhs.hs
<?xml version="1.0" encoding="GB2312"?>
<dmhs>
<base>
<lang>ch</lang>
<mgr_port>5345</mgr_port>
<chk_interval>2</chk_interval>
<ckpt_interval>45</ckpt_interval>
<siteid>2</siteid>
<version>2.0</version>
</base>
<exec>
<recv>
<data_port>5346</data_port>
</recv>
<db_type>dm7</db_type>
<db_server>127.0.0.1</db_server>
<db_user>SYSDBA</db_user>
<db_pwd>SYSDBA</db_pwd>
<db_port>5237</db_port>
<db_name></db_name>
<char_code>PG_GB18030</char_code>
<exec_thr>4</exec_thr>
<exec_policy>1</exec_policy>
<exec_sql>1024</exec_sql>
<exec_trx> 5000 </exec_trx>
<exec_rows>1000</exec_rows>
</exec>
</dmhs>
./dmrman CTLSTMT="CHECK BACKUPSET '/home/dm7/backup/BACKUP_FILE_01'"
./dmrman CTLSTMT="RESTORE DATABASE '/home/dm7/dmdbms/data/SH/dm.ini' FROM BACKUPSET '/home/dm7/backup/BACKUP_FILE_01'"
./dmrman CTLSTMT="RECOVER DATABASE '/home/dm7/dmdbms/data/SH/dm.ini' FROM BACKUPSET '/home/dm7/backup/BACKUP_FILE_01'"
[dm7@dm8p bin]$ ./DmServiceSH start
Starting DmServiceSH: [ OK ]
#删除SYSDBA用户下DMHS_DDL开头的表
select ‘drop table ’ ||owner||’.‘||table_name||’;’ from dba_tables where owner = ‘SYSDBA’ and table_name like ‘DMHS_DDL%’ and status =‘VALID’;
#删除SYSDBA用户下DMHS_DDL开头的触发器
select ‘drop trigger ‘||owner||’.’ ||trigger_name||‘;’ from dba_triggers where owner = ‘SYSDBA’ and trigger_name like ‘DMHS%’ and status = ‘Y’;
(注意:缺少的库文件需要上传)
[dm7@dm8p bin]$ mkdir RECV_DIR
[dm7@dm8p bin]$ cp /home/dm7/dmdbms/data/SH/dm.ini RECV_DIR/
[dm7@dm8p bin]$ ./dmhs_server dmhs.hs
MGR[INFO]: DMHS start up, current version: V4.3.06-Build(2023.02.09-123864trunc)_64_2302_sp1 (The beta)(Enterprise Edition)
MGR[WARN]: License will expire on 2023-05-09
MGR[INFO]: 成功加载配置文件,站点号:2, 管理端口:5345, 轮询间隔:3, 最大内存设置:64(GB)
MGR[INFO]: 管理 服务正在监听管理端口:5345
start exec
MGR[INFO]: 正在加载执行模块...
EXE[INFO]: CONNECT: SERVER=127.0.0.1;DRIVER=DM7 ODBC DRIVER;UID=SYSDBA;PWD=******;TCP_PORT=5237;
EXE[WARN]: 建表: DMHS_TRXID_TABLE
EXE[WARN]: 建表: DMHS_DTYPE_MAP
EXE[WARN]: 建表: DMHS_ERROR_TSK_TABLE
EXE[WARN]: 建表: DMHS_TABLE_SEQID
EXE[WARN]: 建表: DMHS_CHECKPOINT_TABLE
EXE[WARN]: 建表: DMHS_ERROR_TABLE
EXE[WARN]: 建表: DMHS_DPC_SYNC_TABLE
EXE[INFO]: EXEC_V4.3.06_64
EXE[INFO]: 执行线程 1 已经创建,事务合并:TRUE
EXE[INFO]: 执行线程 2 已经创建,事务合并:TRUE
EXE[INFO]: 执行线程 3 已经创建,事务合并:TRUE
EXE[INFO]: 执行线程 4 已经创建,事务合并:TRUE
REV[INFO]: 执行 服务数据接收端正在监听数据端口: 5346
命令执行完成
$ ./dmhs_server dmhs.hs
MGR[INFO]: DMHS start up, current version: V4.3.06-Build(2023.02.09-123864trunc)_64_2302_sp1 (The beta)(Enterprise Edition)
MGR[WARN]: License will expire on 2023-05-09
MGR[INFO]: 成功加载配置文件,站点号:2, 管理端口:5345, 轮询间隔:3, 最大内存设置:64(GB)
MGR[INFO]: 管理 服务正在监听管理端口:5345
copy 0 backup|lsn|file|"/home/dm7/backup/BACKUP_FILE_01"
copy 0 "sch.name='DM'" DICT
copy mask is : |DICT|PARTITION|REP
PUB[INFO]: set enable_directio = 0
MGR[INFO]: 正在加载DM7日志分析模块...
SND[INFO]: 正在加载过滤信息:
SND[INFO]: ENABLE: DM.*
SND[INFO]: 正在加载列映射信息:
SND[INFO]: 分析模块192.168.1.223:5346的日志发送线程已经被创建
SND[INFO]: 分析模块1正在连接站点192.168.1.223:5346...
SND[INFO]: 分析模块1正在重置站点192.168.1.223:5346的执行模块...
PUB[WARN]: 用户环境设置的LANG:PG_UTF8与char_code:PG_GB18030不兼容
PUB[WARN]: 使用字符集:PG_GB18030
CPT[INFO]: DDL同步方式:DMHS辅助表和触发器方式同步DDL
CPT[INFO]: 正在初始化表信息...
CPT[INFO]: 装载用户表字典的个数:5
CPT[INFO]: 正在初始化列信息...
CPT[INFO]: 正在初始化主键列信息...
CPT[INFO]: 正在初始化分区表信息...
CPT[INFO]: 正在保存字典信息...
MGR[INFO]: 正在设置目的端192.168.1.223:5345网匝模式:DISABLE
MGR[INFO]: 发送命令到站点192.168.1.223:5345成功
SND[INFO]: 分析模块1正在发送映射规则...
SND[INFO]: DM.*==DM.*...
SND[INFO]: 分析模块1正在获取站点192.168.1.223:5346上的最小LSN...
SND[INFO]: 分析模块1成功获取LSN:0 LFS:0
SND[INFO]: 分析模块正在确认执行端已经执行完所有提交了的事务...
SND[INFO]: 192.168.1.223:5346到站点1的发送线程已经退出
命令执行完成
start cpt
MGR[INFO]: 正在初始化分析模块...
PUB[INFO]: set enable_directio = 0
MGR[INFO]: 正在加载DM7日志分析模块...
CPT[INFO]: DM7_V4.3.06_64
CPT[INFO]: DM7 io read buf size : 262144 (bytes)
CPT[INFO]: 发送队列长度(send_lst)为:3
CPT[INFO]: DM7是否为UNICODE库: FALSE
CPT[INFO]: DM7 parameter LENGTH_IN_CHAR: 0
CPT[INFO]: DM7 configuration parse_policy: 8, read_again_interval: 255(ms), read_delay_second: 0(s), idle_time: 300 (ms), timer_sync_interval: 0(s)
CPT[INFO]: DDL同步方式:DMHS辅助表和触发器方式同步DDL
CPT[INFO]: DM7归档目录: /home/dm7/dmdbms/data/archlog 归档文件大小:128 MB
CPT[INFO]: 获取归档文件数:1, START_ARCH_LSN: 0, START_FILE: null, VER: 1
CPT[INFO]: DM7在线日志目录: /home/dm7/dmdbms/data/BJ, 文件大小: 256 MB
CPT[INFO]: DM7 CPT is created.
MGR[INFO]: 正在设置目的端192.168.1.223:5345网匝模式:DISABLE
MGR[INFO]: 发送命令到站点192.168.1.223:5345成功
MGR[INFO]: 正在获取站点192.168.1.223:5345上的最小LSN...
MGR[INFO]: 成功获取站点192.168.1.223:5345上的最小LSN: 0...
MGR[WARN]: 起始LSN被替换为:1052816
SND[INFO]: 正在加载过滤信息:
SND[INFO]: ENABLE: DM.*
SND[INFO]: 正在加载列映射信息:
SND[INFO]: 分析模块192.168.1.223:5346的日志发送线程已经被创建
SND[INFO]: 分析模块1正在连接站点192.168.1.223:5346...
CPT[INFO]: 加载离线字典表数为:13
SND[INFO]: 分析模块1正在重置站点192.168.1.223:5346的执行模块...
CPT[INFO]: DM7 CPT is ready.
MGR[INFO]: 日志分析启动成功
命令执行完成
CPT[INFO]: 起始LSN值:1052816 定位在日志文件: /home/dm7/dmdbms/data/archlog/ARCHIVE_LOCAL1_20230226183501725053_0.log
CPT[INFO]: 起始LSN值:1052823 定位在日志文件: /home/dm7/dmdbms/data/BJ/BJ01.log
CPT[INFO]: LSN: 1052823, 日志文件切换到: /home/dm7/dmdbms/data/BJ/BJ01.log
SND[INFO]: 分析模块1正在发送映射规则...
SND[INFO]: DM.*==DM.*...
SND[INFO]: 分析模块1正在获取站点192.168.1.223:5346上的最小LSN...
SND[INFO]: 分析模块1成功获取LSN:1052816 LFS:0
源端:
目的端:
文章
阅读量
获赞