搭建双向复制DMHS

1.搭建双向DM7版DMHS

1.1环境准备

操作系统:Red Hat Enterprise Linux Server release 7.6 (Maipo)  x86_64

数据库版本:DM Database Server x64 V7.6.1.112-Build(2021.10.28-149686-10036)ENT

DMHS版本:V3.1.3-Build(2020.09.30-94249trunc)_D64

源端IP:192.168.1.92

目标端IP:192.168.1.93

1.2源端数据库配置

1.2.1两台机器开启归档

SQL> SELECT ARCH_DEST, ARCH_FILE_SIZE FROM SYS.V$DM_ARCH_INI WHERE ARCH_TYPE='LOCAL' AND ARCH_IS_VALID='Y';

 

ALTER DATABASE MOUNT;

ALTER DATABASE ADD ARCHIVELOG 'DEST=/dm7/dmarch,TYPE=local,FILE_SIZE=1024,SPACE_LIMIT=20480';

ALTER DATABASE ARCHIVELOG;

ALTER DATABASE OPEN;

 

1.2.2两台机器开启逻辑日志

SQL> SELECT PARA_VALUE FROM SYS.V$DM_INI WHERE PARA_NAME = 'RLOG_APPEND_LOGIC';

 

[dmdba@DM7 ~]$ vim /dm7/data/DAMENG/dm.ini

 

[dmdba@DM7 bin]$ ./DmServiceDMSERVER restart

 

 

1.2.3检查在线日志

SQL> SELECT PATH FROM SYS.V$RLOGFILE;

 

1.2.4检查FAST_COMMIT参数

FAST_COMMIT参数要为0

SQL> select para_value from v$dm_ini where para_name = 'FAST_COMMIT';

1.3两台机器端安装DMHS

[dmdba@DM7 opt]$ ./dmhs_V3.1.3_dm7_rev94249_rh6_64_veri_20200930.bin -i

 

 

1.4配置两台机器DMHS

1.4.1修改dmhs_serverd

[dmdba@DM7 bin]$ vim dmhs_serverd

1.4.2编辑dmhs.hs配置文件

机器一:

[dmdba@DM7 bin]$ vim dmhs.hs

<?xml version="1.0" encoding="GB2312"?>

<dmhs>

<base>

<lang>ch</lang>

<mgr_port>5345</mgr_port>

<chk_interval>2</chk_interval>

<siteid>1</siteid>

</base>

<recv>

<data_port>5346</data_port>

<exec>

<db_type>DM7</db_type>

<db_server>192.168.1.92</db_server>

<db_user>SYSDBA</db_user>

<db_pwd>dm12345678</db_pwd>

<db_port>5236</db_port>

<db_name></db_name>

<exec_thr>4</exec_thr>

<exec_sql>512</exec_sql>

<exec_trx> 5000 </exec_trx>

<exec_rows>250</exec_rows>

<msg_col_size>3000</msg_col_size>

<exec_policy>2</exec_policy>

</exec>

</recv>

<cpt>

<db_type>DM7</db_type>

<db_server>192.168.1.92</db_server>

<db_user>SYSDBA</db_user>

<db_pwd>dm12345678</db_pwd>

<db_port></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>1</clear_flag>

<bak_dir></bak_dir>

</arch>

<send>

<ip>192.168.1.93</ip>

<mgr_port>5345</mgr_port>

<data_port>5346</data_port>

<level>0</level>

<trigger>0</trigger>

<constraint>0</constraint>

<identity>0</identity>

<net_turns>0</net_turns>

<filter>

<enable>

<item>*.*</item>

</enable>

<disable>

<item></item>

</disable>

</filter>

<map>

<item></item>

</map>

</send>

</cpt>

</dmhs>

机器二:

<?xml version="1.0" encoding="GB2312"?>

<dmhs>

<base>

<lang>ch</lang>

<mgr_port>5345</mgr_port>

<chk_interval>2</chk_interval>

<siteid>2</siteid>

</base>

<recv>

<data_port>5346</data_port>

<exec>

<db_type>DM7</db_type>

<db_server>192.168.1.93</db_server>

<db_user>SYSDBA</db_user>

<db_pwd>dm12345678</db_pwd>

<db_port>5236</db_port>

<db_name></db_name>

<exec_thr>4</exec_thr>

<exec_sql>512</exec_sql>

<exec_trx> 5000 </exec_trx>

<exec_rows>250</exec_rows>

<msg_col_size>3000</msg_col_size>

<exec_policy>1</exec_policy>

</exec>

</recv>

<cpt>

<db_type>DM7</db_type>

<db_server>192.168.1.93</db_server>

<db_user>SYSDBA</db_user>

<db_pwd>dm12345678</db_pwd>

<db_port></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>1</clear_flag>

<bak_dir></bak_dir>

</arch>

<send>

<ip>192.168.1.92</ip>

<mgr_port>5345</mgr_port>

<data_port>5346</data_port>

<level>0</level>

<trigger>0</trigger>

<constraint>0</constraint>

<identity>0</identity>

<net_turns>0</net_turns>

<filter>

<enable>

<item>*.*</item>

</enable>

<disable>

<item></item>

</disable>

</filter>

<map>

<item></item>

</map>

</send>

</cpt>

</dmhs>

1.4.3两台机器启动DMHS服务

[dmdba@DM7 bin]$ ./dmhs_serverd start

 

1.4.4两台机器启动exec模块

 [dmdba@DM7 bin]$ ./dmhs_console

DMHS> connect 192.168.1.92:5345

DMHS> start exec

 

[dmdba@DM7 bin]$ ./dmhs_console

DMHS> connect 192.168.1.93:5345

DMHS> start exec

 

1.5配置两台机器DMHS

1.5.1执行ddl_sql_dm7.sql

SQL> start /dm7/dmhs/scripts/ddl_sql_dm7.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';

 

 

1.5.2初始装载

[dmdba@DM7 bin]$ ./dmhs_console

DMHS> connect 192.168.1.92:5345

DMHS> copy 0 "sch.name='*'" DICT

[dmdba@DM7 bin]$ ./dmhs_console

DMHS> connect 192.168.1.93:5345

DMHS> copy 0 "sch.name='*'" DICT

1.5.3两台机器启动cpt模块

DMHS> start cpt

1.6测试

1.6.1DDL和insert

机器一:

SQL> CREATE TABLE TEST1(C1 INT,C2 NUMBER, C3 VARCHAR(20) ,SRC_TIME DATE DEFAULT SYSDATE, primary key (c1));

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;

/

SQL> SELECT COUNT(*) FROM TEST1;

 

机器二:

 

机器二:

SQL> CREATE TABLE TEST2(C1 INT,C2 NUMBER, C3 VARCHAR(20) ,SRC_TIME DATE DEFAULT SYSDATE, primary key (c1));

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;

/

SQL> SELECT COUNT(*) FROM TEST2;

 

机器一:

 

1.6.2update

机器一:

SQL> select * from test1 where c1=1;

 

机器二:

SQL> select * from test1 where c1=1;

 

机器一:

SQL> update test1 set c2=12345 where c1=1;

SQL> commit;

SQL> select * from test1 where c1=1;

 

机器二:

 

机器二:

SQL> select * from test2 where c1=1;

 

机器一:

SQL> select * from test2 where c1=1;

 

机器二:

SQL> update test2 set c2=12345 where c1=1;

SQL> commit;

SQL> select * from test2 where c1=1;

机器一:

 

 

1.6.3delete

机器一:

SQL> delete from test1 where c1=1;

SQL> commit;

SQL> select * from test1 where c1=1;

 

机器二:

 

机器二:

SQL> delete from test2 where c1=1;

SQL> commit;

SQL> select * from test2 where c1=1;

机器一:

 

 

1.6.4创建索引

机器一:

SQL> create index test_idx on test1(c1);

SQL> select index_name,table_name from user_indexes where table_name='TEST1';

 

机器二:

 

机器二:

SQL> create index test2_idx on test2(c1);

SQL> select index_name,table_name from user_indexes where table_name='TEST2';

 

机器一:

 

1.6.5添加数据文件

机器一:

SQL> CREATE TABLESPACE TBS1 DATAFILE '/dm7/data/DAMENG/TBS1.DBF' SIZE 2048;

SQL> ALTER TABLESPACE TBS1 ADD DATAFILE '/dm7/data/DAMENG/TBS2.DBF' SIZE 2048;

SQL> select d.GROUP_ID,d.PATH,t.NAME from v$datafile d,v$tablespace t where d.GROUP_ID=t.ID;

 

机器二:

SQL> select d.GROUP_ID,d.PATH,t.NAME from v$datafile d,v$tablespace t where d.GROUP_ID=t.ID;

 

机器二:

SQL> CREATE TABLESPACE TBS2 DATAFILE '/dm7/data/DAMENG/TBS21.DBF' SIZE 2048;

SQL> ALTER TABLESPACE TBS2 ADD DATAFILE '/dm7/data/DAMENG/TBS22.DBF' SIZE 2048;

SQL> select d.GROUP_ID,d.PATH,t.NAME from v$datafile d,v$tablespace t where d.GROUP_ID=t.ID;

 

机器一:

SQL> select d.GROUP_ID,d.PATH,t.NAME from v$datafile d,v$tablespace t where d.GROUP_ID=t.ID;

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值