DMDRS是一种用于同构数据库、异构数据库以及各种数据管理系统之间的数据复制软件。DMDRS提供Console远程控制工具,通过Console控制台命令连接DMDRS服务,管理服务中的模块,以及查看各模块的运行状态和信息等。
以下章节按照DMDRS的部署流程介绍控制台相关命令,包含配置起始LSN、启动模块、装载以及同步相关的查看和操作命令。
命令分类
| 命令 | 功能 |
|---|---|
| 配置起始LSN | 设置同步时日志解析的起始LSN。 |
| 启动模块 | 启动模块、关闭模块。 |
| 装载 | 启动装载、断点续传、停止装载以及查看装载状态和信息。 |
| 同步 | 查看同步过程中模块的运行状态和信息。 |
| 其他功能命令 | DMDRS主备、跟踪和数据迁移。 |
命令特殊说明
支持命令快捷输入设置功能。
输入命令后,直接按ESC、F1-F12功能键,在执行命令的同时可将命令保存在此功能键中,下次可直接按功能键执行此条命令。程序重启后,功能键中的命令恢复为默认命令。
功能键默认命令如下:
ESC:执行EXIT命令
F5:执行START命令
F6:执行STOP命令
F11:执行HELP命令
命令输入时不用区分大小写,如果命令中含双引号"",则双引号""中的内容需要区分大小写。
输入SHOW命令时可以省略模块名,查看该类型的第一个模块的相关信息。
输入ALTER命令时可以省略模块名,对该类型的第一个模块进行相关操作。
输入SHOW命令时不指定命令类型,查看当前模块的统计信息。
输入/,可以执行上一次输入的命令。
支持使用双引号"转义字符,将特殊符号按照原本的含义解析到命令中,特殊符号包括"、.和\等。
当源数据库为DMDPC时,在MP节点上可以通过如下三种方式查看BP节点信息。
使用SHOW命令默认查看所有BP节点的统计信息。
若需要查看单个BP节点的信息,需要在SHOW命令后加上“BP <BP_ID>”的后缀。
BP_ID可以通过SELECT * FROM DPC_INSTANCE WHERE SYS_MODE != 'STANDBY' 在数据库查询。
若需要查看全部BP节点的单节点信息,需要在SHOW命令后加上“BP ALL”的后缀。
命令功能
通过IP地址和端口号连接DMDRS服务,实现在DMDRS控制台上执行DMDRS命令。
命令格式
CONNECT [<IP:PORT>]
参数说明
| 参数 | 说明 |
|---|---|
| IP:PORT | DMDRS服务的IP地址:端口号。支持IPv4和IPv6。如果不配置该参数,则默认使用本机IP地址和默认端口号5345。启动DMDRS控制台时,如果使用了配置文件,则默认使用本机IP地址和配置文件中的端口号。 |
命令示例
连接IP地址为192.168.20.24,端口号为5345的DMDRS服务。
connect 192.168.20.24:5345
连接IPv6地址及网卡为fe80::c205:73a4:affd:48c4%3,端口号为5345的DMDRS服务。
connect [fe80::c205:73a4:affd:48c4%3]:5345
适用场景
数据同步、数据分发
命令功能
此命令用来设置同步时日志解析的起始LSN。
在同步时,一般使用数据库的最新日志LSN作为同步的起点,因此在设置起始LSN时不应指定具体的LSN值。如果需要回溯或跳跃某段日志后继续进行日志解析,可以指定某个归档或在线日志文件的LSN作为同步的起点,此时在设置LSN时指定具体的LSN值,同步服务将从该LSN处开始解析日志。需要注意的是,当指定具体的LSN值时,会向目标DMDRS投递活动事务清理操作,目标DMDRS会释放所有未接收提交操作的活动事务,这一步会导致同步数据丢失,需要谨慎使用该功能。
注意
- 设置LSN时会向目标DMDRS发送清理命令,目标DMDRS会清理掉之前接收到的所有事务,造成同步数据的丢失。
- 源DMDRS的CPT模块为停止状态以及没有装载活动时才能执行配置起始LSN命令。
命令格式
命令格式一:
ALTER [<CPT_NAME>] SET LSN [<LSN>|FROM <BACKUP_DIR>|<LSN_STR>]
命令格式二:
配置起始LSN为数据库的最新日志LSN。
CLEAR|SET EXEC LSN
参数说明
| 参数 | 说明 |
|---|---|
| CPT_NAME | CPT模块的名称,对应配置文件中CPT模块的“name”参数。 |
| LSN | LSN值。对除DMDSC和MySQL/MariaDB以外的数据库有效。 |
| BACKUP_DIR | DM7、DM8(单机、DMDSC)的备份集目录或备份文件路径。仅对DM7、DM8(单机、DMDSC)数据库有效。 用于设置源DMDRS的起始LSN,在DMDSC场景中,由于存在多个节点的起始LSN,所以不允许指定单一LSN。 |
| LSN_STR | DMDSC各个节点的LSN值,参数格式为"[(节点0,LSN值),(节点1,LSN值),...]"。仅对DMDSC数据库有效。 建议在新搭建环境时使用,否则可能导致目标数据库数据不一致。 |
命令示例
配置起始LSN为数据库的最新日志LSN。
alter cpt_dm8 set lsn
配置起始LSN为12345。
alter cpt_dm8 set lsn 12345
从备份集中设置DMDSC起始LSN。
alter cpt_dsc set lsn from "/opt/dsc/backupset"
注意设置DM7/DM8(单机、DMDSC)备份集或备份文件LSN时,应该考虑字典的生成时机。源DMDRS装载字典有两种方式。
- 在源数据库备份集产生时间和获取字典时间周期内,无DDL语句产生时,源DMDRS可以直接从源数据库获取字典信息生成离线字典文件。
- 在源数据库备份集产生时间和获取字典时间周期内,有DDL产生,应从目标数据库中获取字典信息生成离线字典文件,并拷贝到源DMDRS字典目录。
配置DMDSC环境各个节点的起始LSN。
alter cpt_dsc set lsn "[(0,100),(1,200)]"
注意设置DMDSC各个节点的LSN时,应该在新环境中使用,否则可能导致目标数据库数据不一致。
介绍启动模块和关闭模块的命令。
命令功能
启动CPT模块、DSS模块和EXEC模块。对于CPT模块,启动后即开始进行增量同步,EXEC模块和DSS模块启动后开始接收上一级发送的数据。
根据应用场景的不同,模块之间启动的先后顺序也有不同,具体如下所示。
数据迁移
先启动EXEC模块,无需启动CPT模块。
数据同步
先启动EXEC模块,再启动CPT模块。
数据分发
先启动DSS模块,再启动CPT模块,最后启动EXEC模块。
命令格式
命令格式一:
启动该类型的第一个模块。
START CPT|DSS|EXEC
命令格式二:
启动该类型指定的模块。
START <CPT_NAME>|<DSS_NAME>|<EXEC_NAME>
命令格式三:
启动所有的模块。
START
参数说明
| 参数 | 说明 |
|---|---|
| CPT_NAME | CPT模块的名称,对应配置文件中CPT模块的“name”参数。 |
| DSS_NAME | DSS模块的名称,对应配置文件中DSS模块的“name”参数。 |
| EXEC_NAME | EXEC模块的名称,对应配置文件中EXEC模块的“name”参数。 |
命令示例
启动名称为“cpt_dm8”的CPT模块。
start cpt_dm8
命令功能
关闭CPT模块、DSS模块和EXEC模块。
命令格式
命令格式一:
关闭该类型的第一个模块。
STOP CPT|DSS|EXEC
命令格式二:
关闭该类型指定的模块。
STOP <CPT_NAME>|<DSS_NAME>|<EXEC_NAME>
命令格式三:
关闭所有的模块。
STOP
参数说明
| 参数 | 说明 |
|---|---|
| CPT_NAME | CPT模块的名称,对应配置文件中CPT模块的“name”参数。 |
| DSS_NAME | DSS模块的名称,对应配置文件中DSS模块的“name”参数。 |
| EXEC_NAME | EXEC模块的名称,对应配置文件中EXEC模块的“name”参数。 |
命令示例
关闭名称为“cpt_dm8”的CPT模块。
stop cpt_dm8
文章
阅读量
获赞
