DRS部署
- 一、规划端口
- 二、设置环境变量
- 三、开启源数据库的归档和逻辑日志
- 四、配置DDL同步
- 五、创建用户
- 六、 DRS服务部署(DM8目的端)
- 6.1 部署 drs 服务
- 6.2启动drs服务
- 七、 DRS 服务部署(DM8 源端)
- 7.1 部署 DRS服务
- 7.2 启动dmhs服务
- 八、 验证同步效果
- 8.1登录DRS用户 创建表及添加数据
- 8.2登录 DM8目的端验证同步结果
DRS数据同步(dm8 到 dm8)
本文详细介绍了dm8 到 dm8 的数据同步安装部署过程。
建议虚拟机内存30G。
一、规划端口
ip地址 | 数据库版本 | 端口号 | 备注 |
---|---|---|---|
192.168.100.17 | DM8 | 5236 | 源端 |
192.168.100.16 | DM8 | 5236 | 目的端 |
二、设置环境变量
在源DMDRS和目标DMDRS服务器的环境变量中添加DMDPI驱动文件路径。
-
打开.bash_profile配置文件。
$ vi ~/.bash_profile
-
在.bash_profile配置文件末尾增加DMDPI驱动路径。
export LD_LIBRARY_PATH=<DMDPI驱动路径>:$LD_LIBRARY_PATH
-
保存并退出vi编辑器,使环境变量生效。
$ source ~/.bash_profile
-
查看环境变量是否设置成功。
$ echo $LD_LIBRARY_PATH
三、开启源数据库的归档和逻辑日志
为了保证源DMDRS服务运行中数据的一致性,源DMDRS服务需要读源数据库的归档和逻辑日志,因此源数据库需要开启归档和逻辑日志功能。数据库管理员可按下列方式进行配置。
方式一:静态配置
设置DM8数据库配置文件“dm.ini”中ARCH_INI参数为1,根据实际需求配置RLOG_APPEND_LOGIC的参数值,参数配置说明如下所示。
1:如果有主键列,记录UPDATE和DELETE操作时只包含主键列信息,若没有主键列则包含所有列信息。
2:不论是否有主键列,记录UPDATE和DELETE操作时都包含所有列的信息。
3:记录UPDATE时包含更新列的信息以及ROWID,记录DELETE时只有ROWID。
#configuration file
ARCH_INI = 1
#redo log
RLOG_APPEND_LOGIC = 1
在与“dm.ini”相同目录下,新建配置文件“dmarch.ini”,并添加归档配置参数。配置示例如下:
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm8/data/arch
ARCH_FILE_SIZE = 512
ARCH_SPACE_LIMIT = 10240
重启数据库服务,使配置生效。
方式二:动态配置
开启数据库归档。
SQL> alter database mount;
executed successfully
used time: 00:00:01.144. Execute id is 0.
SQL> alter database add archivelog 'DEST=/dm8/data/arch,TYPE=LOCAL,FILE_SIZE=512,SPACE_LIMIT=10240';
executed successfully
used time: 7.437(ms). Execute id is 0.
SQL> alter database archivelog;
executed successfully
used time: 10.277(ms). Execute id is 0.
SQL> alter database open;
executed successfully
used time: 00:00:01.262. Execute id is 0.
调用系统过程SP_SET_PARA_VALUE修改RLOG_APPEND_LOGIC参数值。此系统过程的定义请参考《DM8_SQL语言使用手册》。
SQL> call sp_set_para_value(1,'RLOG_APPEND_LOGIC',1);
四、配置DDL同步
DMDRS服务支持DDL同步功能。当应用场景中需要DDL同步时,数据库管理员可按下列方式之一进行配置。
方式一:辅助表方式(推荐)
在源数据库执行“ddl_sql_dm8.sql”脚本创建辅助表,脚本默认位置在DMDRS执行程序目录下的scripts子目录中。
SQL> set define off;
SQL> set char_code utf8;
SQL> start /home/dmdba/DRS/dmdrs/bin/script/ddl_sql_dm8.sql;
注意
创建DDL触发器和辅助表时,请使用具有DBA权限的用户。
检查创建的触发器和辅助表是否有效。
建议把脚本内容放到达梦数据库管理工具执行,在disql执行可能会报错;
检查创建的触发器:
SQL> select owner, trigger_name from dba_triggers where owner = ‘SYSDBA’ and trigger_name like ‘DRS_$%’ and status = ‘Y’;
查询结果如下:
如果存在以上查询结果,表示DMDRS触发器创建有效。
检查创建的辅助表:
SQL> select owner, table_name from dba_tables where owner = ‘SYSDBA’ and table_name like ‘DRS_$%’ and status = ‘VALID’;
查询结果如下:
如果存在以上查询结果,表示DMDRS辅助表创建有效。
五、创建用户
创建同步用户及授权(源端)
创建用户
SQL> create user DRS identified by "DRS" default tablespace MAIN temporary tablespace TEMP;
给用户授权
SQL> grant resource to DRS;
SQL> grant select any table to DRS;
SQL> grant dba to DRS;
SQL> grant unlimited tablespace to DRS;
创建同步用户及授权(目的端端)
创建用户
SQL> create user DRS identified by "DRS123456" default tablespace MAIN temporary tablespace TEMP;
给用户授权
SQL> grant resource to DRS;
SQL> grant select any table to DRS;
SQL> grant dba to DRS;
SQL> grant unlimited tablespace to DRS;
六、 DRS服务部署(DM8目的端)
6.1 部署 drs 服务
选择正确版本的drs安装包安装
修改配置文件
在安装目录的bin目录下
vim exec.xml
文件内容:
<?xml version="1.0" encoding="GB18030"?>
<drs>
<base>
<mgr_port>5345</mgr_port>
<siteid>2</siteid>
</base>
<exec>
<name>exec_dm8</name>
<login>
<dbtype>DM8</dbtype>
<server>192.168.100.16</server>
<user>DRS</user>
<pwd>DRS123456</pwd>
<port>5236</port>
</login>
</exec>
</drs>
6.2启动drs服务
在drs安装目录下bin路径执行
./drsvr exec.xml
七、 DRS 服务部署(DM8 源端)
7.1 部署 DRS服务
选择正确版本的DRS安装包安装
修改配置文件
在安装目录的bin目录下
vim cpt.xml
文件内容:(注意修改俩 ip 地址)
<?xml version="1.0" encoding="GB18030"?>
<drs>
<base>
<mgr_port>5345</mgr_port>
<siteid>100</siteid>
</base>
<cpt>
<name>cpt_dm8</name>
<login>
<dbtype>dm8</dbtype>
<server>192.168.100.17</server>
<user>DRS</user>
<pwd>DRS</pwd>
<port>5236</port>
</login>
<send>
<ip>192.168.100.16</ip>
<port>5345</port>
<target_name>exec_dm8</target_name>
<map>
<item>*.*==*.*</item>
</map>
</send>
</cpt>
</drs>
7.2 启动dmhs服务
在dmhs安装目录下bin路径执行
./drsvr cpt.xml
CMD>alter cpt_dm8 set lsn
CMD>alter cpt_dm8 add table "sch.name='DRS'"
CMD> start
八、 验证同步效果
8.1登录DRS用户 创建表及添加数据
使用DRS用户登录 DM8 数据库,创建数据表,并添加数据。
查看表记录
select * from t1;
8.2登录 DM8目的端验证同步结果
在 DRS用户下执行命令,连接数据库
select * from t1;
至此,DM8 到 DM8 的数据同步部署成功!
若要退出,则先于源端执行 stop ,再于目的端执行 stop 。
达梦社区地址:https://eco.dameng.com