资讯详情

资讯详情

达梦数据复制软件DMDRS控制台命令:DMDRS数据迁移命令

关键词DMDRS数据迁移命令、cp命令、全量数据迁移、CP_MASK大对象掩码、数据迁移场景摘要本文介绍DMDRS控制台的数据迁移命令说明其仅支持全量数据迁移、不支持增量同步的适用场景并给出命令功能、语法格式、参数说明、使用示例及CP_MASK数据迁移掩码的配置方法。适用场景数据迁移命令功能将源数据库表的全量数据迁移到目标数据库。注意该命令仅支持对全量数据进行迁移不支持对增量数据进行同步。命令格式命令格式一CPCPT_NAMETAB_FILTER|CVT_DIR_PATH[CP_MASK]命令格式二ALTER[CPT_NAME]CPTAB_FILTER|CVT_DIR_PATH[CP_MASK]参数说明参数说明CPT_NAMECPT模块的名称对应配置文件中CPT模块的“name”参数。“TAB_FILTER”从数据库中筛选待迁移表的条件过滤条件采用SQL表达式需要满足SQL表达式的语法规则。过滤条件中SCH.NAME为模式名TAB.NAME为表名。格式举例如下“SCH.NAME‘SCHNAME’ AND TAB.NAME‘TABNAME’” SCHNAME模式下的表TABNAME。“SCH.NAME‘SCHNAME_PERSON’ or SCH.NAME‘SCHNAME_RESOURCES’”SCHNAME_PERSON和SCHNAME_RESOURCES模式下所有的表。CVT_DIR_PATH数据迁移使用的CVT脚本目录。该参数仅适用于DMNCDB-REDIS数据库。CP_MASK数据迁移掩码包括DELETE、UPDATE、DROP、CREATE、INSERT、GROUP和TRUNCATE等数据迁移掩码可以自由组合默认值为CREATE|NOLOCK|INSERT|INDEX|TABLE|CHECK|GROUP。当数据库为DMNCDB-REDIS时仅支持TRUNCATE掩码。DELETE、UPDATE和LOB掩码说明请参见数据迁移掩码说明表其他掩码的具体说明请参见装载的添加同步表命令章节的装载掩码说明表。数据迁移掩码说明表数据迁移掩码说明DELETE该掩码表示使用源表的数据去清理目标表的数据。不适用于MySQL/MariaDB数据库。当目标数据库的表存放有独立数据需要从该表中清理与源表有关的数据时不可以使用TRUNCATE掩码可以使用该掩码来清理与源表有关的数据。仅数据迁移的CP命令支持使用该掩码。使用该功能时目标表中必须要有主键。示例在目标数据库同名表中删除与表RESOURCES.EMPLOYEE有关的数据记录。cp cpt_dm8 “sch.name‘RESOURCES’ and tab.name‘EMPLOYEE’” DELETELOB该掩码表示使用源表中的大对象数据去更新目标表中对应的大对象数据。该掩码在修复目标表大对象数据和源表不一致时使用可以指定条件抽取源数据库某个表某些行的大对象数据更新到目标库对应的行中。必须与UPDATE掩码组合使用如UPDATE|LOB。仅数据迁移的CP命令支持使用该掩码。在此掩码使用情景中MySQL的TINYTEXT、TINYBLOB类型不认为是大对象。示例把源表RESOURCES.DEPARTMENT中ID列的列值等于1的这一行对应的大对象数据更新到目标数据库。cp cpt_dm8 “sch.name‘RESOURCES’ and tab.name‘DEPARTMENT’” UPDATE|LOB|WHERE|“ID1”UPDATE该掩码表示更新数据。当目标表和源表的数据不一致时可以使用该掩码对目标表的某些不一致的数据进行更新。仅数据迁移的CP命令支持使用该掩码。在UPDATE掩码后面紧接着可以指定更新列如果不指定更新列默认更新该表除主键以外的所有列。如果与LOB掩码组合使用则更新列仅包含大对象列。该功能可以用来解决迁移时使用NOLOB迁移后目标表没有大对象数据的问题。使用UPDATE掩码时如果目标表中存在主键目标表的主键需要与源表保持一致。如果目标表中不存在主键需要先使用INSERT掩码迁移表否则定位不到记录。示例1更新目标表RESOURCES.DEPARTMENT中ID列的值为1的行。cp cpt_dm8 “sch.name‘RESOURCES’ and tab.name‘DEPARTMENT’” UPDATE|WHERE|“ID1”示例2更新目标表RESOURCES.DEPARTMENT中ID列为1的行但仅更新DATA和TYPE两列。cp cpt_dm8 “sch.name‘RESOURCES’ and tab.name‘DEPARTMENT’” UPDATE|“DATA,TYPE”|WHERE|“ID1”命令示例将源表RESOURCES.EMPLOYEE迁移到目标数据库如果目标数据库存在同名的表则先删除该表再重新迁移。cpcpt_dm8sch.nameRESOURCES and tab.nameEMPLOYEEDROP|CREATE|INSERT将源表RESOURCE.EMPLOYEE的表结构不包括表数据迁移到目标数据库如果目标数据库存在同名的表则先删除该表再重新迁移。cpcpt_dm8sch.nameRESOURCES and tab.nameEMPLOYEEDROP|CREATE大对象掩码示例为使用户了解大对象相关掩码的使用方法如下介绍使用大对象相关掩码的三个典型场景。场景一先迁移非大对象列后更新大对象列。建表。无主键时建表使用ROWID掩码。cpcpt_dm8sch.nameRESOURCES and tab.nameEMPLOYEECREATE|ROWID无主键时建表未使用ROWID掩码。cpcpt_dm8sch.nameRESOURCES and tab.nameEMPLOYEECREATE迁移非大对象列。INSERT|NOLOB掩码组合表示仅迁移非大对象列。cpcpt_dm8sch.nameRESOURCES and tab.nameEMPLOYEEINSERT|GROUP|NOLOB更新大对象列。UPDATE|LOB掩码组合表示仅更新大对象列。有主键时主键作旧值能够成功更新大对象列无主键时建表时使用了ROWID掩码ROWID列做旧值能够成功更新大对象列无主键时建表时未使用ROWID掩码则所有非大对象列作旧值大对象列作新值当有两行及以上的非大对象列相同时更新大对象列会不成功。cpcpt_dm8sch.nameRESOURCES and tab.nameEMPLOYEEUPDATE|LOB场景二先迁移非大对象列后更新非大对象列。主要适用于源数据库非大对象数据有更新的场景。迁移非大对象列。INSERT|NOLOB掩码组合表示仅迁移非大对象列。cpcpt_dm8sch.nameRESOURCES and tab.nameEMPLOYEEINSERT|GROUP|NOLOB更新非大对象列。UPDATE|NOLOB掩码组合表示仅更新非大对象列。有主键时主键作旧值能够成功更新非大对象列无主键时无法更新非大对象列。cpcpt_dm8sch.nameRESOURCES and tab.nameEMPLOYEEUPDATE|NOLOB场景三延迟迁移大对象列。cpcpt_dm8sch.nameRESOURCES and tab.nameEMPLOYEEINSERT|GROUP|DELAYINSERT|DELAY掩码组合表示先迁移非大对象列和字节长度小于4000的大对象列数据后通过更新的方式迁移字节长度大于4000的大对象列数据。如果你在使用AI助手时想了解达梦数据复制软件DMDRS控制台的数据迁移命令如cp命令如何将源数据库全量数据迁移到目标数据库、迁移命令的语法和参数、CP_MASK大对象掩码如何配置等问题这篇文章可以作为参考。
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →