华为云用户手册
-
支持的同步对象范围 在使用DRS进行同步时,不同类型的同步任务,支持的同步对象范围不同,详细情况可参考表3。DRS会根据用户选择,在“预检查”阶段对同步对象进行自动检查。 表3 支持的同步对象 类型名称 使用须知 同步对象范围 支持表、主键索引、唯一索引、普通索引、存储过程、视图、函数的同步。 仅支持MyISAM和InnoDB表的同步。 不支持事件(EVENT)和触发器(TRIGGER)的同步。 全量和增量同步不支持隐藏列(INVISIBLE),隐藏列是MySQL 8.0.23开始支持的特性,例如: CREATE TABLE `test11` ( `id` int NOT NULL, `c1` int DEFAULT NULL /*!80023 INVISIBLE */, PRIMARY KEY (`id`));
-
数据库账号权限要求 在使用DRS进行同步时,连接源库和目标库的数据库账号需要满足以下权限要求,才能启动实时同步任务。不同类型的同步任务,需要的账号权限也不同,详细可参考表2进行赋权。DRS会在“预检查”阶段对数据库账号权限进行自动检查,并给出处理建议。 表2 数据库账号权限 类型名称 正向任务 反向任务 源数据库连接账号 需要具备如下最小权限: SELECT、SHOW VIEW、EVENT、LOCK TABLES、REPLICATION SLAVE、REPLICATION CLIENT。当源数据库为8.0.2及以上版本时,还需要授予XA_RECOVER_ADMIN权限,以防启动或编辑时未提交的XA事务导致数据有损。 需要具备如下最小权限: REPLICATION SLAVE、REPLICATION CLIENT。 目标数据库连接账号 需要具备如下最小权限: SELECT、CREATE、DROP、DELETE、INSERT、UPDATE、ALTER、CREATE VIEW、CREATE ROUTINE、REFEREN CES 。 RDS for MySQ L实例 的root账户默认已具备上述权限。当目标库为8.0.14-8.0.18版本时,还需要有SESSION_VARIABLES_ADMIN权限。 建议创建单独用于DRS任务连接的数据库账号,避免因为数据库账号密码修改,导致的任务连接失败。 连接源和目标数据库的账号密码修改后,请尽快修改DRS任务中的连接信息,避免任务连接失败后自动重试,导致数据库账号被锁定影响使用。
-
使用建议 DRS任务启动和全量数据同步阶段,请不要在源数据库执行DDL操作,否则可能导致任务异常。 为保证同步前后数据一致性,确保同步期间目标数据库无业务写入。 数据库同步与环境多样性和人为操作均有密切关系,为了确保同步的平顺,建议您在进行正式的数据库同步之前进行一次演练,可以帮助您提前发现问题并解决问题。 基于以下原因,建议您在启动任务时选择“稍后启动”功能,将启动时间设置在业务低峰期,相对静止的数据可以有效提升一次性同步成功率,避免同步对业务造成性能影响。 在网络无瓶颈的情况下,全量同步会对源数据库增加约50MB/s的查询压力,以及占用2~4个CPU。 正在同步的数据被其他事务长时间锁死,可能导致读数据超时。 由于MySQL固有特点限制,CPU资源紧张时,存储引擎为Tokudb的表,读取速度可能下降至10%。 DRS并发读取数据库,会占用大约6-10个session连接数,需要考虑该连接数对业务的影响。 全量阶段读取表数据时,特别是大表的读取,可能会阻塞业务上对大表的独占锁操作。 更多DRS对数据库的影响,可参考DRS对源数据库和目标数据库有什么影响。 数据对比 建议您结合数据对比的“稍后启动”功能,选择业务低峰期进行数据对比,以便得到更为具有参考性的对比结果。由于同步具有轻微的时差,在数据持续操作过程中进行对比任务,可能会出现少量数据不一致对比结果,从而失去参考意义。
-
操作步骤 使用DRS同步任务测试连接时的用户登录 GaussDB 分布式版的每个主DN节点。 执行如下语句,查询同步任务选择的database对象所对应的流复制槽名称。 select slot_name from pg_replication_slots where database = 'database'; 其中database为DRS同步任务中选择同步的database。 执行如下语句,删除对应的流复制槽。 select * from pg_drop_replication_slot('slot_name'); 其中slot_name为2中查询的流复制槽名称。 执行如下语句,查询流复制槽是否成功删除 select slot_name from pg_replication_slots where database = 'database'; 查询结果为空表示DRS同步任务对应的流复制槽已成功删除。 重复执行以上操作,确保每个主DN都删除成功。
-
注意事项 为保证任务的正常运行,DRS提供了自动化的检查方法,在您启动DRS任务前,会针对源数据库和目标数据库的相关配置、条件进行检查。主要的检查项和对应的处理建议请参考预检查项。除了预检查项目之外,您还需要注意的事情参见表4。 表4 注意事项 类型名称 使用和操作限制 源数据库限制 Oracle单行记录不能超过8K(lob、long类型除外,会自动转换成MySQL的text、blob类型),原因是MySQL innodb引擎限制单行大小不能超过8K(text、blob类型除外)。 不建议以字符串类型作为主键或唯一键,因为Oracle的字符串作为主键、唯一键时区分空格,而MySQL不区分,可能导致数据不一致和死锁问题。 对于Oracle的binary_float或者binary_double类型,MySQL中不支持设置Nan、Inf、-Inf三种值,DRS默认会将这三种值转为0保存。 Oracle的check约束同步到MySQL会失效,原因是MySQL不支持check约束。 Oracle中建议列名不要取名AUTO_PK_ROW_ID,原因是这个列名在MySQL5.7中是保留列名,无法创建出来。 Oracle中number(p, s)字段的精度不要超过p: [1, 38], s:[p-65, min(p, 30)]的精度表示范围。其中,s取值依赖于p的取值变化,即下限为p-65, 上限为p或30中取最小值。例如:当p=1, s的取值范围是[-64, 1]。当p=38, s取值范围是[-27, 30]。 int字段的值不要超过(65,0)的精度表示范围。原因是MySQL数字的表示范围比Oracle小。 Oracle归档日志文件大小必须大于单条数据最大值,避免单条数据日志跨文件(超过2个日志文件)导致的增量数据解析异常。 源数据库不允许存在索引列的长度之和超过目标库索引列长度限制的索引,具体长度要求请参见索引长度说明。 默认值不支持default user,MySQL没有对应的语法。 不支持选择源数据库的空库进行同步。 使用限制 通用: 不允许修改、删除连接源和目标数据库的用户的用户名、密码、权限,或修改源和目标数据库的端口号。 禁止对Oracle源库做resetlogs操作,否则会导致数据无法同步且任务无法恢复。 不支持LOB类型的rollback操作,否则会导致同步任务失败。 不支持修改源数据库Oracle用户名(SCHEMA名),包括11.2.0.2之前版本通过修改USER$字典表方式及11.2.0.2之后通过ALTER USER username RENAME TO new_username修改SCHEMA名称的场景。 请勿修改源库或目标库表中的char类型字段为varchar,由于Oracle和MySQL表现不同,产生的空格可能会导致数据对比不一致。 全量同步阶段: DRS全量同步表结构时,源库中的char、varchar2类型长度在目标库会按照字节长自动扩大(因为目标库为字节长),至少扩大1.5倍。扩大倍数和源库目标库的字符集有关,例如同为UTF8的情况下,默认扩大3倍,同为GBK的情况下,默认扩大2倍。 全量同步分区表的结构时会将该对象转为非分区的普通表,增量同步时,源库跟分区表相关的操作,可能无法同步到目标库或者在目标库执行失败。 增量同步阶段: 增量同步过程中,支持部分DDL操作。异构数据库DDL转换需要分析语义,考虑语法兼容性,无法做到完美转换,所以目前仅支持部分DDL操作,仅在转换成功并在以下范围内时会进行同步。如果出现其余情况的DDL同步导致的任务异常,需要手动在目标库执行相应的DDL来规避。 表级同步支持alter table add column、alter table drop column、alter table rename column、alter table modify column以及truncate table的基本DDL,不支持默认值等的修改。 库级同步支持create table(表内定义不能包含函数)。 DDL中的对象不能是目标库的关键字,比如index,where等。 增量DDL不支持全角、中文等特殊字符。 增量同步时,BLOB末尾的0x00、CLOB末尾的空格会被截断。 增量同步时,不建议选择混合分区表,因为混合分区表中的外部分区数据变更不产生DML日志,DRS增量数据同步无法获取变更信息,会存在数据不一致的风险。 增量同步时,增量解析时间类型仅支持在Oracle时间类型合法范围内的数据,超范围的数据可能导致任务异常,例如年份大于9999时会出现数据截断。 如果源库为RAC,增量同步首次启动时所有RAC节点必须正常在线,否则增量启动会出现异常。 如果源库为RAC,增量同步时,不支持增加、减少节点数量,避免导致增量同步异常(为保证数据的强一致性)。 表的对象名同步到目标库后会转换成小写,如ABC和abc。因此增量同步阶段,选择的源库的表中不能存在仅大小写不同的表,否则会导致同步失败。 增量阶段不支持Oracle字符集扩展的字符,标准字符集无法解析Oracle自定义扩展字符。 常见故障排查: 在任务创建、启动、全量同步、增量同步、结束等过程中,如有遇到问题,可先参考“故障排查”章节进行排查。 其他限制 选择同步表结构时,目标数据库不能存在待同步数据库。 DRS同步时会有大量数据写入目标库,目标库max_allowed_packet 参数过小会导致无法写入,建议将目标库max_allowed_packet参数值设置为大于100MB。 同步的表要禁用外键,因为DRS并行回放会使得不同表之间的写入顺序和源库不一致,可能会触发外键约束限制,造成同步失败。 支持目标数据库中的表比源数据库多列场景,但是需要避免以下场景可能导致的任务失败。 目标端多的列要求非空且没有默认值,源端insert数据,同步到目标端后多的列为null,不符合目标端要求。 目标端多的列设置固定默认值,且有唯一约束。源端insert多条数据后,同步到目标端后多的列为固定默认值,不符合目标端要求。 相互关联的数据对象要确保同时同步,避免因关联对象缺失,导致同步失败。常见的关联关系:主外键关联表等。 源库和目标库时区设置必须一致。 由于无主键表缺乏行的唯一性标志,网络不稳定时涉及少量重试,表数据存在少量不一致的可能性。 对于同步中的数据库对象,在同步期间,目标库不能进行写入操作,否则会导致数据不一致。 如有中文、日文等特殊字符,业务连接Oracle数据库使用的编码需和Oracle数据库服务端编码一致,否则目标库会出现乱码。 在创建DRS任务之前,如果目标数据库实例开启并设置了SQL限流规则,可能会导致DRS任务失败。 Oracle中表结构长度(所有列长字节数之和,char、varchar2等类型字节长度和编码有关)超过65535时,可能导致同步失败。 Oracle中表结构同步到MySQL后表的字符集为UTF8MB4。 当Oracle字符集是WE8MSWIN1252时,CLOB列同步到目标库可能出现乱码,建议先修改源库字符集为AL32UTF8再同步数据。 当使用PDB数据库同步时,由于Oracle LogMiner组件的限制,增量同步时必须打开全部PDB。 Oralce 12.2及以上版本,由于Oracle LogMiner组件的限制,增量同步不支持表名或列名超过30个字符。 对于Oracle RAC集群,建议使用SCAN IP+ SERVICE_NAMES方式创建任务,SCAN IP具有更强的容错性,更好的负载能力,更快的同步体验。 源库为Oracle RAC时,如果需要使用SCAN IP配置DRS任务,需要保证SCAN IP、DRS节点的IP同时能与源库的所有VIP互通(Oracle内部机制),否则无法通过连通性检查。如果不使用SCAN IP,可以使用某一节点的VIP,这种情况下DRS日志解析只会在VIP指定的RAC节点上进行。 全量+增量任务场景,不支持直接连PDB数据库,用户需要提供CDB的Service Name/SID、用户名和密码。 源库支持to_date和sys_guid函数做默认值。将其他函数作为default值时,需要目标库也有相同功能的函数。对于目标库不存在对应函数的情况,可能会出现以下结果: 默认值函数可能会被置空。 创建表失败,导致对象对比不一致或者任务失败。 增量同步不支持Oracle上的分布式事务(XA事务)和PARALLEL DML。 如果表中只有LOB字段,可能出现数据不一致性或任务失败的情况。 如果Oracle中使用LOB类型各自的empty函数写入数据时,通过JDBC查询出来的值是空字符串,写入到目标库后是空字符串还是NULL取决于目标库对空字符串值的处理。 针对无主键且无索引的表,非大字段的列必须大于三列,否则会因为无法全列匹配导致增量异常。 库级映射和表级映射均不区分大小写,例如映射为abc与映射为ABC,同步到目标库后均为abc。 任务再编辑增加新表时,请确保新增的表的事务都已提交,否则未提交的事务可能无法同步到目标库。建议在业务低峰期做增加表的操作。 lob类型及扩展字符类型(字节长度超过4000)不建议作为增量数据过滤条件,Oracle日志中可能出现不记录update旧值的情况。 在源数据库Oracle附加日志级别不为all的场景下,如果源数据库增量update操作的数据在目标库不存在,即使冲突策略选的是覆盖,也无法将源数据库完整数据写入目标库。如果要将数据写入目标库,需要源数据库附加日志级别设置为all。 Oracle更新唯一约束列且命中多行时可能出现互相冲突,极端场景下可能造成数据不一致。 XMLTYPE类型在Oracle内部存储方式为CLOB或BLOB,使用限制同CLOB和BLOB一致。 仅Oracle 11g及以上版本支持XMLTYPE类型同步。 Oracle中default值后跟以--开头的注释,--后面要有空格,否则迁移到GaussDB(for MySQL)会报语法错误,因为GaussDB(for MySQL)要求--后必须跟空格。
-
支持的同步对象范围 在使用DRS进行同步时,不同类型的同步任务,支持的同步对象范围不同,详细情况可参考表3。DRS会根据用户选择,在“预检查”阶段对同步对象进行自动检查。 表3 支持的同步对象 类型名称 使用须知 同步对象范围 支持库、表结构、主键、唯一键、普通索引、表数据的同步。 其他数据库对象暂不支持,例如存储过程、触发器、函数、序列、包、同义词、用户等。 全量阶段不支持bfile、sdo_geometry、urowid、interval(精度大于6位)和自定义类型。 增量阶段不支持bfile、interval、sdo_geometry、urowid、timestamp(精度大于6位)和自定义类型。 不支持默认值含有表达式的函数的表的同步。 不支持同步源库中的临时表。 不支持选择源数据库的空库进行同步。 不支持同步源库中有虚拟列的表。
-
数据库用户权限要求 在使用DRS进行同步时,连接源库和目标库的数据库用户需要满足以下权限要求,才能启动实时同步任务。不同类型的同步任务,需要的用户权限也不同,详细可参考表3进行赋权。DRS会在“预检查”阶段对数据库用户权限进行自动检查,并给出处理建议。 建议创建单独用于DRS任务连接的数据库账号,避免因为数据库账号密码修改,导致的任务连接失败。 连接源和目标数据库的账号密码修改后,请参考修改连接信息章节修改DRS任务的连接信息,避免任务连接失败后自动重试,导致数据库账号被锁定影响使用。 表3 数据库用户权限 类型名称 增量同步 源数据库连接用户 用户具备sysadmin角色或以下最小权限: 需要REPLICATION权限或继承了内置角色gs_role_replication的权限、DATABASE的CONNECT权限、SCHEMA的USAGE权限、表的SELECT权限。 需要具备远程连接权限,添加方法可参考GaussDB远程连接配置方法。 需要保证安全组和防火墙策略放开对应连接端口,详细说明可参考GaussDB为源链路增量同步连接及端口说明。
-
通用使用建议 在使用DRS前,您需要了解: DRS支持从数据库同版本或低版本到高版本的同步,不支持从高版本同步到低版本。 数据库同步与环境多样性和人为操作均有密切关系,为了确保同步的平顺,建议您在进行正式的数据库同步之前进行一次演练,可以帮助您提前发现问题并解决问题。 如果您使用的是全量同步模式,确保源和目标数据库无业务写入,保证同步前后数据一致。如果您使用的是全量+增量同步模式,支持在源数据库有业务数据写入的情况下进行同步。 DRS任务启动和全量数据同步阶段,请不要在源数据库执行DDL操作,否则可能导致任务异常。 全量阶段读取表数据时,特别是大表的读取,可能会阻塞业务上对大表的独占锁操作。 同步无主键表时,为了确保数据一致性,会存在3s以内的单表级锁定。 正在同步的数据被其他事务长时间锁死,可能导致读数据超时。 由于MySQL固有特点限制,CPU资源紧张时,存储引擎为Tokudb的表,读取速度可能下降至10%。 DRS并发读取数据库时,会占用大约6-10个session连接数,需要考虑该连接数对业务的影响。 在网络无瓶颈的情况下,全量同步会对源数据库增加约50MB/s的查询压力,以及占用2~4个CPU。 更多DRS对数据库的影响,可参考DRS对源数据库和目标数据库有什么影响。 建议您在启动任务时选择“稍后启动”功能,将启动时间设置在业务低峰期,相对静止的数据可以有效提升一次性同步成功率,避免同步对业务造成性能影响。如果同步不可避免业务高峰期,推荐使用同步限速功能,即“流速模式”选择“限速”。 数据对比 建议您结合数据对比的“稍后启动”功能,选择业务低峰期进行数据对比,以便得到更为具有参考性的对比结果。由于同步具有轻微的时差,在数据持续操作过程中进行对比任务,可能会出现少量数据不一致对比结果,从而失去参考意义。 如果涉及多对一同步场景,您需要了解: 如果涉及多对一场景的同步任务,可参考多对一的场景约束及操作建议。 如果涉及表级汇集的多对一同步任务,则不支持DDL,否则会导致同步全部失败。 数据同步完成后,您需要了解 同步完成后,建议您结合数据对比的“稍后启动”功能,选择业务低峰期进行数据对比,以便得到更为具有参考性的对比结果。由于同步具有轻微的时差,在数据持续操作过程中进行对比任务,可能会出现少量数据不一致对比结果,从而失去参考意义。 父主题: 附录
-
数据库账号权限要求 在使用DRS进行同步时,连接源库和目标库的数据库账号需要满足以下权限要求,才能启动实时同步任务。不同类型的同步任务,需要的账号权限也不同,详细可参考表2进行赋权。DRS会在“预检查”阶段对数据库账号权限进行自动检查,并给出处理建议。 表2 数据库账号权限 类型名称 增量、全量+增量同步 源数据库连接账号 SELECT、SHOW VIEW、EVENT、LOCK TABLES、REPLICATION SLAVE、REPLICATION CLIENT。 目标数据库连接账号 SELECT、CREATE、DROP、DELETE、INSERT、UPDATE、ALTER、CREATE VIEW、CREATE ROUTINE、REFERENCES,GaussDB(for MySQL)实例的root账户默认已具备上述权限。 当目标库为8.0.14-8.0.18版本时,还需要有SESSION_VARIABLES_ADMIN权限。 建议创建单独用于DRS任务连接的数据库账号,避免因为数据库账号密码修改,导致的任务连接失败。 连接源和目标数据库的账号密码修改后,请参考修改连接信息章节修改DRS任务的连接信息,避免任务连接失败后自动重试,导致数据库账号被锁定影响使用。
-
支持的同步对象范围 在使用DRS进行同步时,不同类型的同步任务,支持的同步对象范围不同,详细情况可参考表3。DRS会根据用户选择,在“预检查”阶段对同步对象进行自动检查。 表3 支持的同步对象 类型名称 使用须知 同步对象范围 支持表、主键索引、唯一索引、普通索引、存储过程、视图、函数的同步。 仅支持MyISAM和InnoDB表的同步。 不支持事件、触发器的同步。 视图、存储过程、函数依赖的表不支持做表名映射。 任务做表名映射时,不支持该表的外键约束同步。
-
支持的同步对象范围 在使用DRS进行同步时,不同类型的同步任务,支持的同步对象范围不同,详细情况可参考表3。DRS会根据用户选择,在“预检查”阶段对同步对象进行自动检查。 表3 支持的同步对象 类型名称 使用须知 同步对象范围 全量同步支持数据、表结构和普通索引(B-Tree索引)的同步。 目标数据库不支持唯一键表,同步过程中将忽略源数据库中的唯一键表。 不支持同步无主键表,如果选择同步的表中存在无主键表,则同步失败。 不支持唯一约束、唯一索引的同步。 不支持同步既是无主键表,又是分区表的自建表,可能会导致任务失败。 不支持GaussDB(DWS)的无主键复制表,如果需要同步的表在GaussDB(DWS)为无主键复制表,会导致任务失败。 同步对象列名不能为CTID、XMIN、CMIN、XMAX、CMAX、TABLEOID、XC_NODE_ID、TID等GaussDB(DWS)禁止的字段,否则会导致任务失败。
-
数据库账号权限要求 在使用DRS进行同步时,连接源库和目标库的数据库账号需要满足以下权限要求,才能启动实时同步任务。不同类型的同步任务,需要的账号权限也不同,详细可参考表2进行赋权。DRS会在“预检查”阶段对数据库账号权限进行自动检查,并给出处理建议。 表2 数据库账号权限 类型名称 全量+增量同步 源数据库连接账号 源数据库DDM账户至少需要具备一个权限,例如:SELECT。 DDM物理分片数据库账号需要具备如下权限:SELECT、SHOW VIEW、EVENT、LOCK TABLES、REPLICATION SLAVE、REPLICATION CLIENT。 目标数据库连接账号 提供的目标数据库账号必须具有每张表的如下权限:INSERT、SELECT、UPDATE、DELETE、CONNECT、CREATE。 建议创建单独用于DRS任务连接的数据库账号,避免因为数据库账号密码修改,导致的任务连接失败。 连接源和目标数据库的账号密码修改后,请参考修改连接信息章节修改DRS任务的连接信息,避免任务连接失败后自动重试,导致数据库账号被锁定影响使用。
-
支持的同步对象范围 在使用DRS进行同步时,不同类型的同步任务,支持的同步对象范围不同,详细情况可参考表3。DRS会根据用户选择,在“预检查”阶段对同步对象进行自动检查。 表3 支持的同步对象 类型名称 使用须知 同步对象范围 副本集:目前只支持集合(包括验证器,是否是固定集合),索引和视图的同步。 不支持同步系统库(如local、admin、config等)和系统集合,如果业务数据在系统库下,则需要先将业务数据移动到用户数据库下,可以使用renameCollection命令进行移出。 不支持视图的创建语句中有正则表达式。 不支持_id字段没有索引的集合。 不支持BinData()的第一个参数为2。 请勿在源库集合的String类型字段中存储非UTF-8类型字符串,否则会导致同步前后数据不一致。
-
支持的源和目标数据库 表1 支持的数据库 源数据库 目标数据库 AWS云上DocumentDB数据库(4.0副本集、5.0副本集、5.0集群) 说明: 创建AWS集群默认为5.0版本 副本集支持全+增、单全、单增任务 集群只支持单全任务,不支持增量任务 AWS上创建”基于实例的集群”对应副本集 AWS上创建”弹性集群”对应集群 DDS实例(3.4、4.0、4.2、4.4版本) 说明: 仅支持目标库版本等于或高于源库版本。
-
数据库账号权限要求 在使用DRS进行同步时,连接源库和目标库的数据库账号需要满足以下权限要求,才能启动实时同步任务。不同类型的同步任务,需要的账号权限也不同,详细可参考表2进行赋权。DRS会在“预检查”阶段对数据库账号权限进行自动检查,并给出处理建议。 表2 数据库账号权限 类型名称 全量+增量同步 源数据库连接账号 副本集:连接源数据库的用户需要有admin库的readAnyDatabase权限。 集群:连接源数据库的用户需要有admin库的readAnyDatabase权限 目标数据库连接账号 连接目标数据库的用户需要有admin库的dbAdminAnyDatabase权限,有目标数据库的readWrite权限。 建议创建单独用于DRS任务连接的数据库账号,避免因为数据库账号密码修改,导致的任务连接失败。 连接源和目标数据库的账号密码修改后,请参考修改连接信息章节修改DRS任务的连接信息,避免任务连接失败后自动重试,导致数据库账号被锁定影响使用。
-
注意事项 为保证任务的正常运行,DRS提供了自动化的检查方法,在您启动DRS任务前,会针对源数据库和目标数据库的相关配置、条件进行检查。主要的检查项和对应的处理建议请参考预检查项。除了预检查项目之外,您还需要注意的事情参见表4。 表4 注意事项 类型名称 使用和操作限制 源数据库限制 增量同步时,需打开源数据库的changeStream 要为特定数据库上的所有集合启用更改流,请使用 mongo shell 向您的 Amazon DocumentDB 集群进行身份验证,然后执行以下命令(注意把红色字体的db_name替换成真实的数据库名): db.adminCommand({modifyChangeStreams: 1,database: "db_name",collection: "", enable: true}); collection为空表示为该database下所有collection启用change stream,如果要为特定collection启用,可在collection字段指定对应的名字。更多用法请参考链接。 修改change stream的保留时间 默认保留时间是3小时,需要根据数据量评估迁移时间,然后修改保留时间不小于迁移需要的时间。如果不清楚迁移需要的时间,建议保留时间设置为7天,迁移完成后再改为合适的时间。修改保留时间可通过控制台或cli实现,请参考链接。 使用限制 通用: 为了保持数据一致性,在整个同步过程中,不允许对正在同步中的目标数据库进行修改操作(包括但不限于DDL、DML操作)。 同步过程中,不允许修改、删除连接源和目标数据库的用户的用户名、密码、权限,或修改源和目标数据库的端口号。 在任务启动、任务全量同步阶段,不建议对源数据库做删除类型的DDL操作,例如删除数据库、集合、索引、文档、视图等,这样可能会引起任务同步失败。 在整个同步过程中,不支持源数据库主备切换导致数据回滚的情况。 不支持全量同步和增量同步阶段insert、update源库大于16MB的文档。 增量同步阶段: 源数据库为副本集实例时,增量同步阶段支持如下操作: 支持文档(document)新增、删除、更新。 支持集合(collection)删除。 当前仅支持dropDatabase、dropCollection、renameCollection DDL命令。 任务增量阶段,为保证同步的性能,会集合级的进行并发回放。特殊的情况只支持单线程写入,不支持并发回放: 集合的索引中有unique key时。 集合属性的capped为true时。 这种情况可能会导致任务时延增高。 常见故障排查: 在任务创建、启动、全量同步、增量同步、结束等过程中,如有遇到问题,可先参考“故障排查”章节进行排查。 其他限制 副本集:AWS DocumentDB数据库的副本集实例状态必须正常,要存在主节点。 压缩参数block_compressor的取值,根据源库对应集合的stats().wiredTiger.creationString.block_compressor来决定,如果目标库已经存在对应的空集合,则不同步压缩参数;特殊的,对于不支持的压缩参数,按照目标库实例的net.compression.compressors参数决定。当目标库为DDS 4.2版本时,由于目标库不支持压缩参数的设置,DRS不同步压缩参数。 如果源数据库的AWS DocumentDB服务不是单独部署的,而是和其他的服务部署在同一台机器,则必须要给源数据库的wiredTiger引擎加上cacheSizeGB的参数配置,建议值设为最小空闲内存的一半。 选择集合同步时,增量同步过程中不建议对集合进行重命名操作。 建议填写副本集所有的主节点和备节点信息,以防主备切换影响同步任务。如果填写的是主备多个节点的信息,注意所有的节点信息必须属于同一个副本集实例。 为了提高同步的速度,在开始同步之前,建议在源数据库删掉不需要的索引,只保留必须的索引。在同步过程中不建议对源库创建索引,如果必须要创建索引,请使用后台的方式创建索引。 为了防止回环,不支持在相同的源和目标库同时启动入云和出云任务。 说明: 同步任务支持源和目标为同一个数据库,为了避免回环,必须使用对象名映射功能进行重命名。
-
清理源库逻辑复制槽 使用对应DRS任务的源数据库连接用户,登录该同步任务的源数据库。 查询同步任务选择的database对象所对应的流复制槽名称。 select slot_name from pg_replication_slots where database = 'database'; 其中database为DRS同步任务中选择同步的database。 执行如下语句,删除对应的流复制槽。 select * from pg_drop_replication_slot('slot_name'); 其中slot_name为2中查询的流复制槽名称。 执行如下语句,查询流复制槽是否成功删除。 select slot_name from pg_replication_slots where slot_name = 'slot_name'; 查询结果为空表示DRS同步任务对应的流复制槽已成功删除。
-
支持的同步对象范围 在使用DRS进行同步时,不同类型的同步任务,支持的同步对象范围不同,详细情况可参考表3。DRS会根据用户选择,在“预检查”阶段对同步对象进行自动检查。 表3 支持的同步对象 类型名称 使用须知 同步对象范围 支持表、普通索引(B-Tree索引)、约束(主键、空、非空)的同步。 不支持视图、外键、存储过程、触发器、函数、事件、虚拟列、唯一约束、唯一索引、外键索引、Check约束的同步。 不支持GaussDB(DWS)的无主键复制表,如果需要同步的表在GaussDB(DWS)为无主键复制表,会导致任务失败。
-
注意事项 为保证任务的正常运行,DRS提供了自动化的检查方法,在您启动DRS任务前,会针对源数据库和目标数据库的相关配置、条件进行检查。主要的检查项和对应的处理建议请参考预检查项。除了预检查项目之外,您还需要注意的事情参见表4。 表4 注意事项 类型名称 使用和操作限制 源数据库限制 不支持选择源数据库的空库进行同步。 使用限制 通用: 不允许修改、删除连接源和目标数据库的用户的用户名、密码、权限,或修改源和目标数据库的端口号。 禁止对Oracle源库做resetlogs操作,否则会导致数据无法同步且任务无法恢复。 不支持LOB类型的rollback操作,否则会导致同步任务失败。 不支持修改源数据库Oracle用户名(SCHEMA名),包括11.2.0.2之前版本通过修改USER$字典表方式及11.2.0.2之后通过ALTER USER username RENAME TO new_username修改SCHEMA名称的场景。 全量同步阶段: 全量阶段不支持bfile、sdo_geometry、urowid、interval(精度大于6位)和自定义类型。 DRS全量同步表结构时,源库中的char、varchar2类型长度在目标库会按照字节长自动扩大(因为目标库为字节长),至少扩大1.5倍。扩大倍数和源库目标库的字符集有关,例如同为UTF8的情况下,默认扩大3倍,同为GBK的情况下,默认扩大2倍。 全量同步分区表的结构时会将该对象转为非分区的普通表,增量同步时,源库跟分区表相关的操作,可能无法同步到目标库或者在目标库执行失败。 增量同步阶段: 增量阶段不支持bfile、interval、sdo_geometry、urowid、timestamp(精度大于6位)和自定义类型。 增量阶段不支持Oracle字符集扩展的字符,标准字符集无法解析Oracle自定义扩展字符。 增量同步不支持Oracle上的分布式事务(XA事务)和PARALLEL DML。 增量同步时,BLOB末尾的0x00、CLOB末尾的空格会被截断。 增量同步时,不建议选择混合分区表,因为混合分区表中的外部分区数据变更不产生DML日志,DRS增量数据同步无法获取变更信息,会存在数据不一致的风险。 增量同步时,增量解析时间类型仅支持在Oracle时间类型合法范围内的数据,超范围的数据可能导致任务异常,例如年份大于9999时会出现数据截断。 增量同步过程中,支持部分DDL操作。异构数据库DDL转换需要分析语义,考虑语法兼容性,无法做到完美转换,所以目前仅支持部分DDL操作,仅在转换成功并在以下范围内时会进行同步。如果出现其余情况的DDL同步导致的任务异常,需要手动在目标库执行相应的DDL来规避。 表级同步支持alter table add column、alter table drop column、alter table rename column、alter table modify column以及truncate table的基本DDL,不支持默认值等的修改。 常见故障排查: 在任务创建、启动、全量同步、增量同步、结束等过程中,如有遇到问题,可先参考“故障排查”章节进行排查。 其他限制 对于TIMESTAMP WITH TIME ZONE类型,根据目标库时区做转换后不得大于“9999-12-31 23:59:59.999999”。 仅支持to_date和sys_guid函数作为默认值,将其他函数作为默认值时,需要目标库也有相同功能的函数。对于目标库不存在对应函数的情况,会出现以下情况: 默认值函数会被置空。 创建表失败,导致任务失败。 增量同步的DDL如果包含目标数据库不存在的系统函数,会导致同步任务失败。 如果表中只有LOB字段,可能出现数据不一致性或任务失败的情况。 如果Oracle中使用LOB类型各自的empty函数写入数据时,通过JDBC查询出来的值是空字符串,写入到目标库后是空字符串还是NULL取决于目标库对空字符串值的处理。 针对无主键且无索引的表,非大字段的列必须大于三列,否则会因为无法全列匹配导致增量异常。 不支持默认值含有表达式的函数的表的同步。 不支持同步源库中的临时表。 不支持同步源库表中的虚拟列。 不支持同步既是无主键表,又是分区表的自建表,可能会导致任务失败。 选择手动创建表结构时,目标库中的时间类型是否带有时区需要与源库中保持一致,否则可能会因为时区转换导致时间数据不一致。 源数据库Oracle中的物化视图同步到目标数据库会被转化为普通表。 目标数据库实例必须有足够的磁盘空间。 同步的表要禁用外键,因为DRS并行回放会使得不同表之间的写入顺序和源库不一致,可能会触发外键约束限制,造成同步失败。 相互关联的数据对象要确保同时同步,避免因关联对象缺失,导致同步失败。 表等对象名同步到目标库后会转换成小写,如ABC会转换为abc。因此增量同步阶段,选择的源库的表中不能存在仅大小写不同的表,可能会导致同步失败。 当Oracle字符集是WE8MSWIN1252时,CLOB列同步到目标库可能出现乱码,建议先修改源库字符集为AL32UTF8再同步数据。 当使用PDB数据库同步时,由于Oracle LogMiner组件的限制,增量同步时必须打开全部PDB。 Oralce 12.2及以上版本,由于Oracle LogMiner组件的限制,增量同步不支持表名或列名超过30个字符。 由于无主键表缺乏行的唯一性标志,网络不稳定时涉及少量重试,表数据存在少量不一致的可能性。 索引同步只同步普通索引,主键等约束在表结构中进行同步。 如有中文、日文等特殊字符,业务连接Oracle数据库使用的编码需和Oracle数据库服务端编码一致,否则目标库可能会出现乱码。 Oracle中表结构长度(所有列长字节数之和,char、varchar2等类型字节长度和编码有关)超过65535时,可能导致同步失败。 Oracle归档日志文件大小必须大于单条数据最大值,避免单条数据日志跨文件(超过2个日志文件)导致的增量数据解析异常。 对于Oracle RAC集群,建议使用SCAN IP+ SERVICE_NAMES方式创建任务,SCAN IP具有更强的容错性,更好的负载能力,更快的同步体验。 源库为Oracle RAC时,如果需要使用SCAN IP配置DRS任务,需要保证SCAN IP、DRS节点的IP同时能与源库的所有VIP互通(Oracle内部机制),否则无法通过连通性检查。如果不使用SCAN IP,可以使用某一节点的VIP,这种情况下DRS日志解析只会在VIP指定的RAC节点上进行。 如果源库为RAC,增量同步首次启动时所有RAC节点必须正常在线,否则增量启动会出现异常。 如果源库为RAC,增量同步时,不支持增加、减少节点数量,避免导致增量同步异常(为保证数据的强一致性)。 使用DRS同步表结构的场景下,同一个schema中,同步的表中,表、约束、索引等不能有忽略大小写后的同名对象,比如表"A"中有索引名"inx1", 表B中有索引名"a",表A和索引"a"忽略大小写重名了,会导致结构同步失败。多个schema映射到一个schema的场景,源库的多个schema中也不能包含同名但字母大小写不同的表、约束和索引。 支持源端多张表对GaussDB(DWS)一张表的映射。详细操作可参考创建Oracle到GaussDB(DWS)同步任务。 全量+增量或单增量任务场景,不支持直接连PDB数据库,用户需要提供CDB的Service Name/SID、用户名和密码。 库级映射和表级映射均不区分大小写,例如映射为abc与映射为ABC,同步到目标库后均为abc。 lob类型及扩展字符类型(字节长度超过4000)不建议作为增量数据过滤条件,Oracle日志中可能出现不记录update旧值的情况。 任务再编辑增加新表时,请确保新增的表的事务都已提交,否则未提交的事务可能无法同步到目标库。建议在业务低峰期做增加表的操作。 在源数据库Oracle附加日志级别不为all的场景下,如果源数据库增量update操作的数据在目标库不存在,即使冲突策略选的是覆盖,也无法将源数据库完整数据写入目标库。如果要将数据写入目标库,需要源数据库附加日志级别设置为all。 Oracle更新唯一约束列且命中多行时可能出现互相冲突,极端场景下可能造成数据不一致。 XMLTYPE类型在Oracle内部存储方式为CLOB或BLOB,使用限制同CLOB和BLOB一致。 仅Oracle 11g及以上版本支持XMLTYPE类型同步。
-
支持的同步对象范围 在使用DRS进行同步时,不同类型的同步任务,支持的同步对象范围不同,详细情况可参考表3。DRS会根据用户选择,在“预检查”阶段对同步对象进行自动检查。 表3 支持的同步对象 类型名称 使用须知 同步对象范围 全量同步时支持表、普通索引、主键与唯一约束、数据的同步。增量同步时支持表的实时同步。 全量阶段不支持bfile、sdo_geometry、urowid和自定义类型。增量阶段不支持bfile、sdo_geometry、urowid、interval和自定义类型。 timestamp和interval day to second类型支持的最大精度是6。 全量同步结构不支持位图索引、倒排索引、函数索引。 增量同步LOB类型仅支持BasicFiles属性,不支持SecureFiles属性,支持的LOB类型大小限10M以内。 对于TIMESTAMP WITH TIME ZONE类型,根据目标库时区做转换后不得大于“9999-12-31 23:59:59.999999”。 不支持默认值含有表达式的函数的表的同步。 不支持同步源库中的临时表。 不支持同步源库中有虚拟列的表。 不支持同步既是无主键表,又是分区表的自建表,可能会导致任务失败。
-
数据库用户权限要求 在使用DRS进行同步时,连接源库和目标库的数据库用户需要满足以下权限要求,才能启动实时同步任务。不同类型的同步任务,需要的用户权限也不同,详细可参考表3进行赋权。DRS会在“预检查”阶段对数据库用户权限进行自动检查,并给出处理建议。 建议创建单独用于DRS任务连接的数据库账号,避免因为数据库账号密码修改,导致的任务连接失败。 连接源和目标数据库的账号密码修改后,请参考修改连接信息章节修改DRS任务的连接信息,避免任务连接失败后自动重试,导致数据库账号被锁定影响使用。 表3 数据库用户权限 类型名称 全量同步 增量同步 全量+增量同步 源数据库连接用户 具备sysadmin角色或者以下最小权限: 需要DATABASE的CONNECT权限、SCHEMA的USAGE权限、表的SELECT或UPDATE权限(无主键表锁表需要UPDATE权限)、SEQUENCE的SELECT权限。 需要具备远程连接权限,添加方法可参考GaussDB远程连接配置方法。 具备sysadmin角色或者以下最小权限: 需要REPLICATION权限或继承了内置角色gs_role_replication的权限、DATABASE的CONNECT权限、SCHEMA的USAGE权限、表的SELECT权限。 需要具备远程连接权限,添加方法可参考GaussDB远程连接配置方法。 需要保证安全组和防火墙策略放开对应连接端口,详细说明可参考GaussDB为源链路增量同步连接及端口说明。 具备sysadmin角色或者以下最小权限: 需要REPLICATION权限或继承了内置角色gs_role_replication的权限、DATABASE的CONNECT权限、SCHEMA的USAGE权限、表的SELECT或UPDATE权限(无主键表锁表需要UPDATE权限)、SEQUENCE的SELECT权限。 需要具备远程连接权限,添加方法可参考GaussDB远程连接配置方法。 需要保证安全组和防火墙策略放开对应连接端口,详细说明可参考GaussDB为源链路增量同步连接及端口说明。 目标数据库连接用户 具备sysadmin角色或者以下最小权限: 需要DATABASE的CONNECT和CREATE权限、SCHEMA的USAGE和CREATE权限、表的INSERT、UPDATE、DELETE、SELECT、ALTER、INDEX、COMMENT权限。 目标库使用gsloader等工具创建相关系统表(如 public.pgxc_copy_error_log,public.gs_copy_summary)时,DRS访问相关系统表需要有系统表的all privilege权限,详细信息可参考《GaussDB工具参考》。
-
前提条件 当前支持的DDL操作包含如下: 表级同步支持:TRUNCATE(仅PostgreSQL 11及以上版本支持)、DROP TABLE 、ALTER TABLE(包含ADD COLUMN、DROP COLUMN、ALTER COLUMN、RENAME COLUMN、ADD CONSTRAINT、DROP CONSTRAINT、RENAME)、COMMENT ON COLUMN、COMMENT ON TABLE。 库级同步支持:TRUNCATE(仅PostgreSQL 11及以上版本支持)、CREATE SCHEMA/TABLE、DROP TABLE 、ALTER TABLE(包含ADD COLUMN、DROP COLUMN、ALTER COLUMN、RENAME COLUMN、ADD CONSTRAINT、DROP CONSTRAINT、RENAME)、CREATE SEQUENCE、DROP SEQUENCE、ALTER SEQUENCE、CREATE INDEX、ALTER INDEX、DROP INDEX、CREATE VIEW、ALTER VIEW、COMMENT ON COLUMN、COMMENT ON TABLE、COMMENT ON SCHEMA、COMMENT ON SEQUENCE、COMMENT ON INDEX、COMMENT ON VIEW。 表级同步:RENAME表名之后,向更改名称后的表插入新的数据时,DRS不会同步新的数据到目标库。 库级同步:源库使用非CREATE TABLE方式创建的表不会同步到目标库。常见地如:使用CREATE TABLE AS创建表、调用函数创建表。 暂不支持以注释开头的DDL语句的同步,以注释开头的DDL语句将被忽略。 不支持函数和存储过程中DDL语句的同步,函数和存储过程中执行的DDL语句将被忽略。 源库和目标库版本不同时,请使用源库和目标库都兼容的SQL语句执行DDL操作。例如:源库为pg11,目标库为pg12,要将源库表的列类型从char修改为int时,请使用如下语句: alter table tablename alter column columnname type int USING columnname::int; 执行如下操作步骤前,请检查待同步的源数据库public模式下,是否存在名为hwdrs_ddl_info的表、名为hwdrs_ddl_function()的函数、名为hwdrs_ddl_event的触发器。如存在,请将其删除。 库级同步时,如创建无主键表,请执行如下命令,将无主键表复制属性设置为full。 alter table tablename replica identity full;
-
对象名修改 实时同步过程中,如果待同步的库、schema、表对象在源数据库和目标数据库中存储名称不同,可以使用实时同步提供的映射功能进行映射。例如:将源数据库中的A库同步到目标数据库,变成目标数据库中的B库,此时就可以使用库映射功能来实现。 在“设定同步”页面,同步对象右侧已选对象框中,选择需要进行映射的数据库,单击“编辑”按钮。 图1 库映射 修改名称。 在弹出的编辑框中,填写新的数据对象名称,修改后的名称即为保存在目标数据库中的名称。 图2 修改库名 图3 修改schema名 图4 修改表名 查看修改结果。 修改成功后,您会看到修改前和修改后的名称,至此,表示完成对象名映射的配置。 图5 查看修改结果
-
多对一同步 实时同步过程中,可以使用对象名映射功能修改库、schema、表名称,实现多对一的同步。 以库级多对一为例,schema、表级多对一场景可参考如下步骤: 在“设定同步”页面,同步对象右侧已选对象框中,选择需要进行多对一同步的数据库,分别单击“编辑”按钮。 在“编辑库名”的弹出框中,统一填写新的数据库名,修改后的名称即为保存在目标数据库中的库名。 例如,将源库中的库test_16和库auto_nprocess_001,修改为同样的库test_16_new。 图6 修改结果 库名修改成功后,您会看到修改前的库名和修改后的新数据库名,至此,表示已完成多对一库映射的配置。 配置完成后,等待任务启动并完成同步后,即可实现库test_16、库auto_nprocess_001到库test_16_new的同步。
-
使用建议 DRS任务启动和全量数据同步阶段,请不要在源数据库执行DDL操作,否则可能导致任务异常。 为保证同步前后数据一致性,确保同步期间目标数据库无业务写入。 数据库同步与环境多样性和人为操作均有密切关系,为了确保同步的平顺,建议您在进行正式的数据库同步之前进行一次演练,可以帮助您提前发现问题并解决问题。 建议您在启动任务时选择“稍后启动”功能,将启动时间设置在业务低峰期,避免同步对业务造成性能影响。如果同步不可避免业务高峰期,推荐使用同步限速功能,即“流速模式”选择“限速”。 在网络无瓶颈的情况下,全量同步会对源数据库增加约50MB/s的查询压力,以及占用2~4个CPU。 同步无主键表时,会存在3s以内的单表级锁定。 DRS并发读取数据库,会占用大约6-10个session连接数,需要考虑该连接数对业务的影响。 全量阶段读取表数据时,特别是大表的读取,可能会阻塞业务上对大表的独占锁操作。 更多DRS对数据库的影响,可参考DRS对源数据库和目标数据库有什么影响。
-
支持的同步对象范围 在使用DRS进行同步时,不同类型的同步任务,支持的同步对象范围不同,详细情况可参考表3。DRS会根据用户选择,在“预检查”阶段对同步对象进行自动检查。 表3 支持的同步对象 类型名称 使用须知 同步对象范围 支持的字段类型: TINYINT、SMALLINT、INT、BIGINT、DECIMAL、NUMERIC、FLOAT、REAL、SMALLMONEY、MONEY、BIT、DATE、SMALLDATETIME、DATETIME、DATETIME2、DATETIMEOFFSET、TIME、TIMESTAMP、XML、CHAR、VARCHAR、NCHAR、NVARCHAR、BINARY、VARBINARY、IMAGE、HIERARCHYID、NTEXT、TEXT、UNIQUEIDENTIFIER。 不支持的字段类型:SQL_VARIANT、GEOMETRY、GEOGRAPHY。 全量同步的范围: 支持选中表的表结构、数据和索引。 同步表结构时支持以下函数作为默认值:now、newid、getutcdate、getdate。将这些函数作为default值时,需要目标库也有相同功能的函数。对于目标库不存在对应函数的情况,可能会出现以下结果: 1. 默认值函数可能会被置空。 2. 创建表失败,导致对象对比不一致或者任务失败。 同步对象的库名、表名只能包含如下字符:字母、数字、下划线和中划线,库名长度不能超过64个字符。 同步对象选择的表个数不能超过1000。对于超过1000个表的情况,建议分批次同步(待上一个同步任务结束后,再重新创建任务)。 不支持同步源数据库中开启TDE(Transparent Data Encryption)加密的数据库。若不需要同步TDE加密的库,请在对象选择中去掉;若需要同步TDE加密的库,请先将TDE关闭。 不支持列加密。 针对源数据库自增列场景,全量阶段同步表结构时,源数据库自增列同步到目标端为自增列,同步数据异常(自增列不允许插入); 全量阶段不同步表结构且目标端自建表结构为普通列时,同步数据正常。 单全量支持同步源端计算列到目标端普通列。 增量同步的范围: 支持DML(Data Manipulation Language):包括INSERT、UPDATE、DELETE。 不支持DDL(Data Definition Language)。 增量不支持同步源端计算列。
-
注意事项 为保证任务的正常运行,DRS提供了自动化的检查方法,在您启动DRS任务前,会针对源数据库和目标数据库的相关配置、条件进行检查。主要的检查项和对应的处理建议请参考预检查项。除了预检查项目之外,您还需要注意的事情参见表4。 表4 注意事项 类型名称 使用和操作限制 源数据库限制 源数据库如果开启客户端配置中的“强制协议加密(Force Protocol Encrypton)”,必须同时开启“信任服务器证书(trust server certificate)”,如下图1所示: 图1 查看客户端属性 使用限制 通用: 请勿修改源库和目标库的端口号,请勿修改、删除源库和目标库连接用户的密码、权限,否则可能导致任务失败。 请勿在目标库做写入操作,否则可能导致数据不一致。 为保证同步任务正常和数据的一致性,如有以上诉求,建议在业务低峰期时重新创建DRS任务。 全量同步阶段: 请勿在源库执行任何DDL,否则可能导致数据不一致或任务失败。 增量同步阶段: 支持DML(Data Manipulation Language):包括INSERT、UPDATE、DELETE。 不支持DDL操作,源数据库进行的DDL操作不会同步到目标数据库。 不支持大数据类型IMAGE、TEXT、NTEXT的删除操作。 同步对比阶段: 建议在源库的业务低峰期进行数据比对,防止误报不一致数据,以及减少对源库和DRS任务的冲击。 在增量同步过程中做对比时,源库如果存在写入,则对比结果可能不一致。 不支持在全量同步过程中做对比。 不支持数据对比过程中做限速。 常见故障排查: 在任务创建、启动、全量同步、增量同步、结束等过程中,如有遇到问题,可先参考“故障排查”章节进行排查。 其他限制 同步表结构时支持以下函数作为默认值:now、newid、getutcdate、getdate。将这些函数作为default值时,需要目标数据库也有相同功能的函数。对于目标数据库不存在对应函数的情况,可能会出现以下结果: 默认值函数可能会被置空。 创建表失败,导致对象对比不一致或者任务失败。 不支持源数据库主备切换,源数据库主备切换会导致同步任务失败。 不支持源数据库Microsoft SQL Server为TLS 1.0、TLS 1.1协议的同步,如果需要同步,建议源库升级到TLS 1.2及以上版本。 因为部分SQL Server(例如Azure SQL)不支持use语法,不支持同步多库,所以如果需要同步多库时请创建多个同步任务。
-
支持的源和目标数据库 表1 支持的数据库 源数据库 目标数据库 本地自建Microsoft SQL Server(企业版2012、2014、2016、2017、2019、2022版本,标准版2016 SP2及以上版本、2017、2019、2022版本) E CS 自建Microsoft SQL Server数据库(企业版2012、2014、2016、2017、2019、2022版本,标准版2016 SP2及以上版本、2017、2019、2022版本) 其他云上完全兼容Microsoft SQL Server的数据库(企业版2012、2014、2016、2017、2019、2022版本,标准版2016 SP2及以上版本、2017、2019、2022版本) RDS for SQL Server(企业版2012、2014、2016、2017、2019、2022版本,标准版2016 SP2及以上版本、2017、2019、2022版本) RDS for SQL Server(企业版2012、2014、2016、2017、2019、2022版本,标准版2016 SP2及以上版本、2017、2019、2022版本) 说明: 仅支持目标库大版本等于或高于源库大版本。
-
数据库账号权限要求 在使用DRS进行同步时,连接源库和目标库的数据库账号需要满足以下权限要求,才能启动实时同步任务。不同类型的同步任务,需要的账号权限也不同,详细可参考表2进行赋权。DRS会在“预检查”阶段对数据库账号权限进行自动检查,并给出处理建议。 建议创建单独用于DRS任务连接的数据库账号,避免因为数据库账号密码修改,导致的任务连接失败。 连接源和目标数据库的账号密码修改后,请参考修改连接信息章节修改DRS任务的连接信息,避免任务连接失败后自动重试,导致数据库账号被锁定影响使用。 表2 数据库账号权限 类型名称 全量+增量同步 源数据库连接账号 最少需要具备sysadmin权限,或者view server state权限以及待同步数据库的db_datareader或db_owner权限。 目标数据库连接账号 如果库不存在,需要对库级别开启create any database权限; 如果库存在需要库级别开启connect,create table,alter any schema 和select权限。
-
使用须知 DRS增量同步任务一般包含三个阶段:任务启动阶段、增量阶段、结束任务阶段。为了确保同步各个阶段的平顺,在创建同步任务前,请务必阅读以下使用须知。 表4 使用须知 类型名称 使用和操作约定 任务启动前须知 源数据库要求: 源数据库参数wal_level必须配置为logical; 源数据库需提前安装test_decoding插件; 源数据库中无主键表的replica identity属性必须为full; 源数据库的max_replication_slots参数值必须大于当前已使用的复制槽数量; 源数据库的max_wal_senders参数值必须等于或大于max_replication_slots参数值。 源数据库中表的主键列toast属性为main、external、extended时,其replica identity属性必须为full。 目标数据库要求: 目标库为社区Kafka。 Kafka的auto.create.topics.enable参数建议为false。 其他使用须知: 若专属计算集群不支持4vCPU/8G或以上规格实例,则无法创建同步任务。 源库必须为华为云RDS for PostgreSQL实例。 库级同步时,增量同步中的任务,不支持“编辑”操作。 表级同步时,增量同步中的任务,支持“编辑”操作,但是不支持更换数据库。 在启动任务前,请确保源库中未启动长事务,源库启动长事务会阻塞逻辑复制槽的创建,进而引发任务失败。 在任务启动后,仅支持以下版本的源库发生主备倒换:源库为RDS for PostgreSQL 12.6及以上的小版本、RDS for PostgreSQL 13及以上版本的所有小版本。 由于长事务导致的创建逻辑复制槽失败或逻辑复制槽不存在的问题,需要通过重置任务来重新启动。 增量同步过程须知 请勿修改源库和目标库的端口号,请勿修改、删除源库和目标库连接用户的密码、权限,否则可能导致任务失败。 请勿删除源数据库表的主键,否则可能导致增量数据缺失或任务失败。 请勿修改源数据库中表的replica identity属性,否则可能导致增量数据缺失或任务失败。 请勿在Kafka上删除接收DRS数据的topic,否则可能导致任务失败。 库级同步时,源库新增无主键表时,请务必同时将该无主键表的replica identity属性设置为full,然后再写入数据,否则可能导致增量数据缺失或任务失败。 库级同步时,源库新增主键表时,如果主键列toast属性为main、external、extended时,请务必同时将该表的replica identity属性设置为full,然后再写入数据,否则可能导致数据不一致或任务失败。 增量同步过程中暂停、任务异常续传,目标Kafka中可能会出现重复数据,请使用Kafka数据中的id字段进行去重。 结束任务须知 正常结束任务: 全量+增量实时同步任务正常结束时,将自动删除任务在源库创建的流复制槽。 强制结束任务: 强制结束全量+增量实时同步任务,需要手动删除源库可能残留的复制槽,可参考PostgreSQL为源强制结束任务章节的指导进行操作。 逻辑复制槽命名规则为“drs_唯一性标识”,其中唯一性标识需要将任务node id中的“-”替换为“_”获取。node id可在DRS任务同步日志页面查看task node id is ***日志找到。
共100000条
- 1
- ...
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
- 156
- 157
- 158
- 159
- 160
- 161
- 162
- 163
- 164
- 165
- 166
- 167
- 168
- 169
- 170
- 171
- 172
- 173
- 174
- 175
- 176
- 177
- 178
- 179
- 180
- 181
- 182
- 183
- 184
- 185
- 186
- 187
- 188
- 189
- 190
- 191
- 192
- 193
- 194
- 195
- 196
- 197
- 198
- 199
- 200
- 201
- 202
- 203
- 204
- 205
- 206
- 207
- 208
- 209
- 210
- 211
- 212
- 213
- 214
- 215
- 216
- 217
- 218
- 219
- 220
- 221
- 222
- 223
- 224
- 225
- 226
- 227
- 228
- 229
- 230
- 231
- 232
- 233
- 234
- 235
- 236
- 237
- 238
- 239
- 240
- 241
- 242
- 243
- 244
- 245
- 246
- 247
- 248
- 249
- 250
- 251
- 252
- 253
- 254
- 255
- 256
- 257
- 258
- 259
- 260
- 261
- 262
- 263
- 264
- 265
- 266
- 267
- 268
- 269
- 270
- 271
- 272
- 273
- 274
- 275
- 276
- 277
- 278
- 279
- 280
- 281
- 282
- 283
- 284
- 285
- 286
- 287
- 288
- 289
- 290
- 291
- 292
- 293
- 294
- 295
- 296
- 297
- 298
- 299
- 300
- 301
- 302
- 303
- 304
- 305
- 306
- 307
- 308
- 309
- 310
- 311
- 312
- 313
- 314
- 315
- 316
- 317
- 318
- 319
- 320
- 321
- 322
- 323
- 324
- 325
- 326
- 327
- 328
- 329
- 330
- 331
- 332
- 333
- 334
- 335
- 336
- 337
- 338
- 339
- 340
- 341
- 342
- 343
- 344
- 345
- 346
- 347
- 348
- 349
- 350
- 351
- 352
- 353
- 354
- 355
- 356
- 357
- 358
- 359
- 360
- 361
- 362
- 363
- 364
- 365
- 366
- 367
- 368
- 369
- 370
- 371
- 372
- 373
- 374
- 375
- 376
- 377
- 378
- 379
- 380
- 381
- 382
- 383
- 384
- 385
- 386
- 387
- 388
- 389
- 390
- 391
- 392
- 393
- 394
- 395
- 396
- 397
- 398
- 399
- 400
- 401
- 402
- 403
- 404
- 405
- 406
- 407
- 408
- 409
- 410
- 411
- 412
- 413
- 414
- 415
- 416
- 417
- 418
- 419
- 420
- 421
- 422
- 423
- 424
- 425
- 426
- 427
- 428
- 429
- 430
- 431
- 432
- 433
- 434
- 435
- 436
- 437
- 438
- 439
- 440
- 441
- 442
- 443
- 444
- 445
- 446
- 447
- 448
- 449
- 450
- 451
- 452
- 453
- 454
- 455
- 456
- 457
- 458
- 459
- 460
- 461
- 462
- 463
- 464
- 465
- 466
- 467
- 468
- 469
- 470
- 471
- 472
- 473
- 474
- 475
- 476
- 477
- 478
- 479
- 480
- 481
- 482
- 483
- 484
- 485
- 486
- 487
- 488
- 489
- 490
- 491
- 492
- 493
- 494
- 495
- 496
- 497
- 498
- 499
- 500
- 501
- 502
- 503
- 504
- 505
- 506
- 507
- 508
- 509
- 510
- 511
- 512
- 513
- 514
- 515
- 516
- 517
- 518
- 519
- 520
- 521
- 522
- 523
- 524
- 525
- 526
- 527
- 528
- 529
- 530
- 531
- 532
- 533
- 534
- 535
- 536
- 537
- 538
- 539
- 540
- 541
- 542
- 543
- 544
- 545
- 546
- 547
- 548
- 549
- 550
- 551
- 552
- 553
- 554
- 555
- 556
- 557
- 558
- 559
- 560
- 561
- 562
- 563
- 564
- 565
- 566
- 567
- 568
- 569
- 570
- 571
- 572
- 573
- 574
- 575
- 576
- 577
- 578
- 579
- 580
- 581
- 582
- 583
- 584
- 585
- 586
- 587
- 588
- 589
- 590
- 591
- 592
- 593
- 594
- 595
- 596
- 597
- 598
- 599
- 600
- 601
- 602
- 603
- 604
- 605
- 606
- 607
- 608
- 609
- 610
- 611
- 612
- 613
- 614
- 615
- 616
- 617
- 618
- 619
- 620
- 621
- 622
- 623
- 624
- 625
- 626
- 627
- 628
- 629
- 630
- 631
- 632
- 633
- 634
- 635
- 636
- 637
- 638
- 639
- 640
- 641
- 642
- 643
- 644
- 645
- 646
- 647
- 648
- 649
- 650
- 651
- 652
- 653
- 654
- 655
- 656
- 657
- 658
- 659
- 660
- 661
- 662
- 663
- 664
- 665
- 666
- 667
- 668
- 669
- 670
- 671
- 672
- 673
- 674
- 675
- 676
- 677
- 678
- 679
- 680
- 681
- 682
- 683
- 684
- 685
- 686
- 687
- 688
- 689
- 690
- 691
- 692
- 693
- 694
- 695
- 696
- 697
- 698
- 699
- 700
- 701
- 702
- 703
- 704
- 705
- 706
- 707
- 708
- 709
- 710
- 711
- 712
- 713
- 714
- 715
- 716
- 717
- 718
- 719
- 720
- 721
- 722
- 723
- 724
- 725
- 726
- 727
- 728
- 729
- 730
- 731
- 732
- 733
- 734
- 735
- 736
- 737
- 738
- 739
- 740
- 741
- 742
- 743
- 744
- 745
- 746
- 747
- 748
- 749
- 750
- 751
- 752
- 753
- 754
- 755
- 756
- 757
- 758
- 759
- 760
- 761
- 762
- 763
- 764
- 765
- 766
- 767
- 768
- 769
- 770
- 771
- 772
- 773
- 774
- 775
- 776
- 777
- 778
- 779
- 780
- 781
- 782
- 783
- 784
- 785
- 786
- 787
- 788
- 789
- 790
- 791
- 792
- 793
- 794
- 795
- 796
- 797
- 798
- 799
- 800
- 801
- 802
- 803
- 804
- 805
- 806
- 807
- 808
- 809
- 810
- 811
- 812
- 813
- 814
- 815
- 816
- 817
- 818
- 819
- 820
- 821
- 822
- 823
- 824
- 825
- 826
- 827
- 828
- 829
- 830
- 831
- 832
- 833
- 834
- 835
- 836
- 837
- 838
- 839
- 840
- 841
- 842
- 843
- 844
- 845
- 846
- 847
- 848
- 849
- 850
- 851
- 852
- 853
- 854
- 855
- 856
- 857
- 858
- 859
- 860
- 861
- 862
- 863
- 864
- 865
- 866
- 867
- 868
- 869
- 870
- 871
- 872
- 873
- 874
- 875
- 876
- 877
- 878
- 879
- 880
- 881
- 882
- 883
- 884
- 885
- 886
- 887
- 888
- 889
- 890
- 891
- 892
- 893
- 894
- 895
- 896
- 897
- 898
- 899
- 900
- 901
- 902
- 903
- 904
- 905
- 906
- 907
- 908
- 909
- 910
- 911
- 912
- 913
- 914
- 915
- 916
- 917
- 918
- 919
- 920
- 921
- 922
- 923
- 924
- 925
- 926
- 927
- 928
- 929
- 930
- 931
- 932
- 933
- 934
- 935
- 936
- 937
- 938
- 939
- 940
- 941
- 942
- 943
- 944
- 945
- 946
- 947
- 948
- 949
- 950
- 951
- 952
- 953
- 954
- 955
- 956
- 957
- 958
- 959
- 960
- 961
- 962
- 963
- 964
- 965
- 966
- 967
- 968
- 969
- 970
- 971
- 972
- 973
- 974
- 975
- 976
- 977
- 978
- 979
- 980
- 981
- 982
- 983
- 984
- 985
- 986
- 987
- 988
- 989
- 990
- 991
- 992
- 993
- 994
- 995
- 996
- 997
- 998
- 999
- 1000
- 1001
- 1002
- 1003
- 1004
- 1005
- 1006
- 1007
- 1008
- 1009
- 1010
- 1011
- 1012
- 1013
- 1014
- 1015
- 1016
- 1017
- 1018
- 1019
- 1020
- 1021
- 1022
- 1023
- 1024
- 1025
- 1026
- 1027
- 1028
- 1029
- 1030
- 1031
- 1032
- 1033
- 1034
- 1035
- 1036
- 1037
- 1038
- 1039
- 1040
- 1041
- 1042
- 1043
- 1044
- 1045
- 1046
- 1047
- 1048
- 1049
- 1050
- 1051
- 1052
- 1053
- 1054
- 1055
- 1056
- 1057
- 1058
- 1059
- 1060
- 1061
- 1062
- 1063
- 1064
- 1065
- 1066
- 1067
- 1068
- 1069
- 1070
- 1071
- 1072
- 1073
- 1074
- 1075
- 1076
- 1077
- 1078
- 1079
- 1080
- 1081
- 1082
- 1083
- 1084
- 1085
- 1086
- 1087
- 1088
- 1089
- 1090
- 1091
- 1092
- 1093
- 1094
- 1095
- 1096
- 1097
- 1098
- 1099
- 1100
- 1101
- ...
- 1102
- 1103
- 1104
- 1105
- 1106
- 1107
- 1108
- 1109
- 1110
- 1111
- 1112
- 1113
- 1114
- 1115
- 1116
- 1117
- 1118
- 1119
- 1120
- 1121
- 1122
- 1123
- 1124
- 1125
- 1126
- 1127
- 1128
- 1129
- 1130
- 1131
- 1132
- 1133
- 1134
- 1135
- 1136
- 1137
- 1138
- 1139
- 1140
- 1141
- 1142
- 1143
- 1144
- 1145
- 1146
- 1147
- 1148
- 1149
- 1150
- 1151
- 1152
- 1153
- 1154
- 1155
- 1156
- 1157
- 1158
- 1159
- 1160
- 1161
- 1162
- 1163
- 1164
- 1165
- 1166
- 1167
- 1168
- 1169
- 1170
- 1171
- 1172
- 1173
- 1174
- 1175
- 1176
- 1177
- 1178
- 1179
- 1180
- 1181
- 1182
- 1183
- 1184
- 1185
- 1186
- 1187
- 1188
- 1189
- 1190
- 1191
- 1192
- 1193
- 1194
- 1195
- 1196
- 1197
- 1198
- 1199
- 1200
- 1201
- 1202
- 1203
- 1204
- 1205
- 1206
- 1207
- 1208
- 1209
- 1210
- 1211
- 1212
- 1213
- 1214
- 1215
- 1216
- 1217
- 1218
- 1219
- 1220
- 1221
- 1222
- 1223
- 1224
- 1225
- 1226
- 1227
- 1228
- 1229
- 1230
- 1231
- 1232
- 1233
- 1234
- 1235
- 1236
- 1237
- 1238
- 1239
- 1240
- 1241
- 1242
- 1243
- 1244
- 1245
- 1246
- 1247
- 1248
- 1249
- 1250
- 1251
- 1252
- 1253
- 1254
- 1255
- 1256
- 1257
- 1258
- 1259
- 1260
- 1261
- 1262
- 1263
- 1264
- 1265
- 1266
- 1267
- 1268
- 1269
- 1270
- 1271
- 1272
- 1273
- 1274
- 1275
- 1276
- 1277
- 1278
- 1279
- 1280
- 1281
- 1282
- 1283
- 1284
- 1285
- 1286
- 1287
- 1288
- 1289
- 1290
- 1291
- 1292
- 1293
- 1294
- 1295
- 1296
- 1297
- 1298
- 1299
- 1300
- 1301
- 1302
- 1303
- 1304
- 1305
- 1306
- 1307
- 1308
- 1309
- 1310
- 1311
- 1312
- 1313
- 1314
- 1315
- 1316
- 1317
- 1318
- 1319
- 1320
- 1321
- 1322
- 1323
- 1324
- 1325
- 1326
- 1327
- 1328
- 1329
- 1330
- 1331
- 1332
- 1333
- 1334
- 1335
- 1336
- 1337
- 1338
- 1339
- 1340
- 1341
- 1342
- 1343
- 1344
- 1345
- 1346
- 1347
- 1348
- 1349
- 1350
- 1351
- 1352
- 1353
- 1354
- 1355
- 1356
- 1357
- 1358
- 1359
- 1360
- 1361
- 1362
- 1363
- 1364
- 1365
- 1366
- 1367
- 1368
- 1369
- 1370
- 1371
- 1372
- 1373
- 1374
- 1375
- 1376
- 1377
- 1378
- 1379
- 1380
- 1381
- 1382
- 1383
- 1384
- 1385
- 1386
- 1387
- 1388
- 1389
- 1390
- 1391
- 1392
- 1393
- 1394
- 1395
- 1396
- 1397
- 1398
- 1399
- 1400
- 1401
- 1402
- 1403
- 1404
- 1405
- 1406
- 1407
- 1408
- 1409
- 1410
- 1411
- 1412
- 1413
- 1414
- 1415
- 1416
- 1417
- 1418
- 1419
- 1420
- 1421
- 1422
- 1423
- 1424
- 1425
- 1426
- 1427
- 1428
- 1429
- 1430
- 1431
- 1432
- 1433
- 1434
- 1435
- 1436
- 1437
- 1438
- 1439
- 1440
- 1441
- 1442
- 1443
- 1444
- 1445
- 1446
- 1447
- 1448
- 1449
- 1450
- 1451
- 1452
- 1453
- 1454
- 1455
- 1456
- 1457
- 1458
- 1459
- 1460
- 1461
- 1462
- 1463
- 1464
- 1465
- 1466
- 1467
- 1468
- 1469
- 1470
- 1471
- 1472
- 1473
- 1474
- 1475
- 1476
- 1477
- 1478
- 1479
- 1480
- 1481
- 1482
- 1483
- 1484
- 1485
- 1486
- 1487
- 1488
- 1489
- 1490
- 1491
- 1492
- 1493
- 1494
- 1495
- 1496
- 1497
- 1498
- 1499
- 1500
- 1501
- 1502
- 1503
- 1504
- 1505
- 1506
- 1507
- 1508
- 1509
- 1510
- 1511
- 1512
- 1513
- 1514
- 1515
- 1516
- 1517
- 1518
- 1519
- 1520
- 1521
- 1522
- 1523
- 1524
- 1525
- 1526
- 1527
- 1528
- 1529
- 1530
- 1531
- 1532
- 1533
- 1534
- 1535
- 1536
- 1537
- 1538
- 1539
- 1540
- 1541
- 1542
- 1543
- 1544
- 1545
- 1546
- 1547
- 1548
- 1549
- 1550
- 1551
- 1552
- 1553
- 1554
- 1555
- 1556
- 1557
- 1558
- 1559
- 1560
- 1561
- 1562
- 1563
- 1564
- 1565
- 1566
- 1567
- 1568
- 1569
- 1570
- 1571
- 1572
- 1573
- 1574
- 1575
- 1576
- 1577
- 1578
- 1579
- 1580
- 1581
- 1582
- 1583
- 1584
- 1585
- 1586
- 1587
- 1588
- 1589
- 1590
- 1591
- 1592
- 1593
- 1594
- 1595
- 1596
- 1597
- 1598
- 1599
- 1600
- 1601
- 1602
- 1603
- 1604
- 1605
- 1606
- 1607
- 1608
- 1609
- 1610
- 1611
- 1612
- 1613
- 1614
- 1615
- 1616
- 1617
- 1618
- 1619
- 1620
- 1621
- 1622
- 1623
- 1624
- 1625
- 1626
- 1627
- 1628
- 1629
- 1630
- 1631
- 1632
- 1633
- 1634
- 1635
- 1636
- 1637
- 1638
- 1639
- 1640
- 1641
- 1642
- 1643
- 1644
- 1645
- 1646
- 1647
- 1648
- 1649
- 1650
- 1651
- 1652
- 1653
- 1654
- 1655
- 1656
- 1657
- 1658
- 1659
- 1660
- 1661
- 1662
- 1663
- 1664
- 1665
- 1666
- 1667
- 1668
- 1669
- 1670
- 1671
- 1672
- 1673
- 1674
- 1675
- 1676
- 1677
- 1678
- 1679
- 1680
- 1681
- 1682
- 1683
- 1684
- 1685
- 1686
- 1687
- 1688
- 1689
- 1690
- 1691
- 1692
- 1693
- 1694
- 1695
- 1696
- 1697
- 1698
- 1699
- 1700
- 1701
- 1702
- 1703
- 1704
- 1705
- 1706
- 1707
- 1708
- 1709
- 1710
- 1711
- 1712
- 1713
- 1714
- 1715
- 1716
- 1717
- 1718
- 1719
- 1720
- 1721
- 1722
- 1723
- 1724
- 1725
- 1726
- 1727
- 1728
- 1729
- 1730
- 1731
- 1732
- 1733
- 1734
- 1735
- 1736
- 1737
- 1738
- 1739
- 1740
- 1741
- 1742
- 1743
- 1744
- 1745
- 1746
- 1747
- 1748
- 1749
- 1750
- 1751
- 1752
- 1753
- 1754
- 1755
- 1756
- 1757
- 1758
- 1759
- 1760
- 1761
- 1762
- 1763
- 1764
- 1765
- 1766
- 1767
- 1768
- 1769
- 1770
- 1771
- 1772
- 1773
- 1774
- 1775
- 1776
- 1777
- 1778
- 1779
- 1780
- 1781
- 1782
- 1783
- 1784
- 1785
- 1786
- 1787
- 1788
- 1789
- 1790
- 1791
- 1792
- 1793
- 1794
- 1795
- 1796
- 1797
- 1798
- 1799
- 1800
- 1801
- 1802
- 1803
- 1804
- 1805
- 1806
- 1807
- 1808
- 1809
- 1810
- 1811
- 1812
- 1813
- 1814
- 1815
- 1816
- 1817
- 1818
- 1819
- 1820
- 1821
- 1822
- 1823
- 1824
- 1825
- 1826
- 1827
- 1828
- 1829
- 1830
- 1831
- 1832
- 1833
- 1834
- 1835
- 1836
- 1837
- 1838
- 1839
- 1840
- 1841
- 1842
- 1843
- 1844
- 1845
- 1846
- 1847
- 1848
- 1849
- 1850
- 1851
- 1852
- 1853
- 1854
- 1855
- 1856
- 1857
- 1858
- 1859
- 1860
- 1861
- 1862
- 1863
- 1864
- 1865
- 1866
- 1867
- 1868
- 1869
- 1870
- 1871
- 1872
- 1873
- 1874
- 1875
- 1876
- 1877
- 1878
- 1879
- 1880
- 1881
- 1882
- 1883
- 1884
- 1885
- 1886
- 1887
- 1888
- 1889
- 1890
- 1891
- 1892
- 1893
- 1894
- 1895
- 1896
- 1897
- 1898
- 1899
- 1900
- 1901
- 1902
- 1903
- 1904
- 1905
- 1906
- 1907
- 1908
- 1909
- 1910
- 1911
- 1912
- 1913
- 1914
- 1915
- 1916
- 1917
- 1918
- 1919
- 1920
- 1921
- 1922
- 1923
- 1924
- 1925
- 1926
- 1927
- 1928
- 1929
- 1930
- 1931
- 1932
- 1933
- 1934
- 1935
- 1936
- 1937
- 1938
- 1939
- 1940
- 1941
- 1942
- 1943
- 1944
- 1945
- 1946
- 1947
- 1948
- 1949
- 1950
- 1951
- 1952
- 1953
- 1954
- 1955
- 1956
- 1957
- 1958
- 1959
- 1960
- 1961
- 1962
- 1963
- 1964
- 1965
- 1966
- 1967
- 1968
- 1969
- 1970
- 1971
- 1972
- 1973
- 1974
- 1975
- 1976
- 1977
- 1978
- 1979
- 1980
- 1981
- 1982
- 1983
- 1984
- 1985
- 1986
- 1987
- 1988
- 1989
- 1990
- 1991
- 1992
- 1993
- 1994
- 1995
- 1996
- 1997
- 1998
- 1999
- 2000
- 2001
- 2002
- 2003
- 2004
- 2005
- 2006
- 2007
- 2008
- 2009
- 2010
- 2011
- 2012
- 2013
- 2014
- 2015
- 2016
- 2017
- 2018
- 2019
- 2020
- 2021
- 2022
- 2023
- 2024
- 2025
- 2026
- 2027
- 2028
- 2029
- 2030
- 2031
- 2032
- 2033
- 2034
- 2035
- 2036
- 2037
- 2038
- 2039
- 2040
- 2041
- 2042
- 2043
- 2044
- 2045
- 2046
- 2047
- 2048
- 2049
- 2050
- 2051
- 2052
- 2053
- 2054
- 2055
- 2056
- 2057
- 2058
- 2059
- 2060
- 2061
- 2062
- 2063
- 2064
- 2065
- 2066
- 2067
- 2068
- 2069
- 2070
- 2071
- 2072
- 2073
- 2074
- 2075
- 2076
- 2077
- 2078
- 2079
- 2080
- 2081
- 2082
- 2083
- 2084
- 2085
- 2086
- 2087
- 2088
- 2089
- 2090
- 2091
- 2092
- 2093
- 2094
- 2095
- 2096
- 2097
- 2098
- 2099
- 2100
- 2101
- 2102
- 2103
- 2104
- 2105
- 2106
- 2107
- 2108
- 2109
- 2110
- 2111
- 2112
- 2113
- 2114
- 2115
- 2116
- 2117
- 2118
- 2119
- 2120
- 2121
- 2122
- 2123
- 2124
- 2125
- 2126
- 2127
- 2128
- 2129
- 2130
- 2131
- 2132
- 2133
- 2134
- 2135
- 2136
- 2137
- 2138
- 2139
- 2140
- 2141
- 2142
- 2143
- 2144
- 2145
- 2146
- 2147
- 2148
- 2149
- 2150
- 2151
- 2152
- 2153
- 2154
- 2155
- 2156
- 2157
- 2158
- 2159
- 2160
- 2161
- 2162
- 2163
- 2164
- 2165
- 2166
- 2167
- 2168
- 2169
- 2170
- 2171
- 2172
- 2173
- 2174
- 2175
- 2176
- 2177
- 2178
- 2179
- 2180
- 2181
- 2182
- 2183
- 2184
- 2185
- 2186
- 2187
- 2188
- 2189
- 2190
- 2191
- 2192
- 2193
- 2194
- 2195
- 2196
- 2197
- 2198
- 2199
- 2200
- 2201
- 2202
- 2203
- 2204
- 2205
- 2206
- 2207
- 2208
- 2209
- 2210
- 2211
- 2212
- 2213
- 2214
- 2215
- 2216
- 2217
- 2218
- 2219
- 2220
- 2221
- 2222
- 2223
- 2224
- 2225
- 2226
- 2227
- 2228
- 2229
- 2230
- 2231
- 2232
- 2233
- 2234
- 2235
- 2236
- 2237
- 2238
- 2239
- 2240
- 2241
- 2242
- 2243
- 2244
- 2245
- 2246
- 2247
- 2248
- 2249
- 2250
- 2251
- 2252
- 2253
- 2254
- 2255
- 2256
- 2257
- 2258
- 2259
- 2260
- 2261
- 2262
- 2263
- 2264
- 2265
- 2266
- 2267
- 2268
- 2269
- 2270
- 2271
- 2272
- 2273
- 2274
- 2275
- 2276
- 2277
- 2278
- 2279
- 2280
- 2281
- 2282
- 2283
- 2284
- 2285
- 2286
- 2287
- 2288
- 2289
- 2290
- 2291
- 2292
- 2293
- 2294
- 2295
- 2296
- 2297
- 2298
- 2299
- 2300
- 2301
- 2302
- 2303
- 2304
- 2305
- 2306
- 2307
- 2308
- 2309
- 2310
- 2311
- 2312
- 2313
- 2314
- 2315
- 2316
- 2317
- 2318
- 2319
- 2320
- 2321
- 2322
- 2323
- 2324
- 2325
- 2326
- 2327
- 2328
- 2329
- 2330
- 2331
- 2332
- 2333
- 2334
- 2335
- 2336
- 2337
- 2338
- 2339
- 2340
- 2341
- 2342
- 2343
- 2344
- 2345
- 2346
- 2347
- 2348
- 2349
- 2350
- 2351
- 2352
- 2353
- 2354
- 2355
- 2356
- 2357
- 2358
- 2359
- 2360
- 2361
- 2362
- 2363
- 2364
- 2365
- 2366
- 2367
- 2368
- 2369
- 2370
- 2371
- 2372
- 2373
- 2374
- 2375
- 2376
- 2377
- 2378
- 2379
- 2380
- 2381
- 2382
- 2383
- 2384
- 2385
- 2386
- 2387
- 2388
- 2389
- 2390
- 2391
- 2392
- 2393
- 2394
- 2395
- 2396
- 2397
- 2398
- 2399
- 2400
- 2401
- 2402
- 2403
- 2404
- 2405
- 2406
- 2407
- 2408
- 2409
- 2410
- 2411
- 2412
- 2413
- 2414
- 2415
- 2416
- 2417
- 2418
- 2419
- 2420
- 2421
- 2422
- 2423
- 2424
- 2425
- 2426
- 2427
- 2428
- 2429
- 2430
- 2431
- 2432
- 2433
- 2434
- 2435
- 2436
- 2437
- 2438
- 2439
- 2440
- 2441
- 2442
- 2443
- 2444
- 2445
- 2446
- 2447
- 2448
- 2449
- 2450
- 2451
- 2452
- 2453
- 2454
- 2455
- 2456
- 2457
- 2458
- 2459
- 2460
- 2461
- 2462
- 2463
- 2464
- 2465
- 2466
- 2467
- 2468
- 2469
- 2470
- 2471
- 2472
- 2473
- 2474
- 2475
- 2476
- 2477
- 2478
- 2479
- 2480
- 2481
- 2482
- 2483
- 2484
- 2485
- 2486
- 2487
- 2488
- 2489
- 2490
- 2491
- 2492
- 2493
- 2494
- 2495
- 2496
- 2497
- 2498
- 2499
- 2500
- 2501
- 2502
- 2503
- 2504
- 2505
- 2506
- 2507
- 2508
- 2509
- 2510
- 2511
- 2512
- 2513
- 2514
- 2515
- 2516
- 2517
- 2518
- 2519
- 2520
- 2521
- 2522
- 2523
- 2524
- 2525
- 2526
- 2527
- 2528
- 2529
- 2530
- 2531
- 2532
- 2533
- 2534
- 2535
- 2536
- 2537
- 2538
- 2539
- 2540
- 2541
- 2542
- 2543
- 2544
- 2545
- 2546
- 2547
- 2548
- 2549
- 2550
- 2551
- 2552
- 2553
- 2554
- 2555
- 2556
- 2557
- 2558
- 2559
- 2560
- 2561
- 2562
- 2563
- 2564
- 2565
- 2566
- 2567
- 2568
- 2569
- 2570
- 2571
- 2572
- 2573
- 2574
- 2575
- 2576
- 2577
- 2578
- 2579
- 2580
- 2581
- 2582
- 2583
- 2584
- 2585
- 2586
- 2587
- 2588
- 2589
- 2590
- 2591
- 2592
- 2593
- 2594
- 2595
- 2596
- 2597
- 2598
- 2599
- 2600
- 2601
- 2602
- 2603
- 2604
- 2605
- 2606
- 2607
- 2608
- 2609
- 2610
- 2611
- 2612
- 2613
- 2614
- 2615
- 2616
- 2617
- 2618
- 2619
- 2620
- 2621
- 2622
- 2623
- 2624
- 2625
- 2626
- 2627
- 2628
- 2629
- 2630
- 2631
- 2632
- 2633
- 2634
- 2635
- 2636
- 2637
- 2638
- 2639
- 2640
- 2641
- 2642
- 2643
- 2644
- 2645
- 2646
- 2647
- 2648
- 2649
- 2650
- 2651
- 2652
- 2653
- 2654
- 2655
- 2656
- 2657
- 2658
- 2659
- 2660
- 2661
- 2662
- 2663
- 2664
- 2665
- 2666
- 2667
- 2668
- 2669
- 2670
- 2671
- 2672
- 2673
- 2674
- 2675
- 2676
- 2677
- 2678
- 2679
- 2680
- 2681
- 2682
- 2683
- 2684
- 2685
- 2686
- 2687
- 2688
- 2689
- 2690
- 2691
- 2692
- 2693
- 2694
- 2695
- 2696
- 2697
- 2698
- 2699
- 2700
- 2701
- 2702
- 2703
- 2704
- 2705
- 2706
- 2707
- 2708
- 2709
- 2710
- 2711
- 2712
- 2713
- 2714
- 2715
- 2716
- 2717
- 2718
- 2719
- 2720
- 2721
- 2722
- 2723
- 2724
- 2725
- 2726
- 2727
- 2728
- 2729
- 2730
- 2731
- 2732
- 2733
- 2734
- 2735
- 2736
- 2737
- 2738
- 2739
- 2740
- 2741
- 2742
- 2743
- 2744
- 2745
- 2746
- 2747
- 2748
- 2749
- 2750
- 2751
- 2752
- 2753
- 2754
- 2755
- 2756
- 2757
- 2758
- 2759
- 2760
- 2761
- 2762
- 2763
- 2764
- 2765
- 2766
- 2767
- 2768
- 2769
- 2770
- 2771
- 2772
- 2773
- 2774
- 2775
- 2776
- 2777
- 2778
- 2779
- 2780
- 2781
- 2782
- 2783
- 2784
- 2785
- 2786
- 2787
- 2788
- 2789
- 2790
- 2791
- 2792
- 2793
- 2794
- 2795
- 2796
- 2797
- 2798
- 2799
- 2800
- 2801
- 2802
- 2803
- 2804
- 2805
- 2806
- 2807
- 2808
- 2809
- 2810
- 2811
- 2812
- 2813
- 2814
- 2815
- 2816
- 2817
- 2818
- 2819
- 2820
- 2821
- 2822
- 2823
- 2824
- 2825
- 2826
- 2827
- 2828
- 2829
- 2830
- 2831
- 2832
- 2833
- 2834
- 2835
- 2836
- 2837
- 2838
- 2839
- 2840
- 2841
- 2842
- 2843
- 2844
- 2845
- 2846
- 2847
- 2848
- 2849
- 2850
- 2851
- 2852
- 2853
- 2854
- 2855
- 2856
- 2857
- 2858
- 2859
- 2860
- 2861
- 2862
- 2863
- 2864
- 2865
- 2866
- 2867
- 2868
- 2869
- 2870
- 2871
- 2872
- 2873
- 2874
- 2875
- 2876
- 2877
- 2878
- 2879
- 2880
- 2881
- 2882
- 2883
- 2884
- 2885
- 2886
- 2887
- 2888
- 2889
- 2890
- 2891
- 2892
- 2893
- 2894
- 2895
- 2896
- 2897
- 2898
- 2899
- 2900
- 2901
- 2902
- 2903
- 2904
- 2905
- 2906
- 2907
- 2908
- 2909
- 2910
- 2911
- 2912
- 2913
- 2914
- 2915
- 2916
- 2917
- 2918
- 2919
- 2920
- 2921
- 2922
- 2923
- 2924
- 2925
- 2926
- 2927
- 2928
- 2929
- 2930
- 2931
- 2932
- 2933
- 2934
- 2935
- 2936
- 2937
- 2938
- 2939
- 2940
- 2941
- 2942
- 2943
- 2944
- 2945
- 2946
- 2947
- 2948
- 2949
- 2950
- 2951
- 2952
- 2953
- 2954
- 2955
- 2956
- 2957
- 2958
- 2959
- 2960
- 2961
- 2962
- 2963
- 2964
- 2965
- 2966
- 2967
- 2968
- 2969
- 2970
- 2971
- 2972
- 2973
- 2974
- 2975
- 2976
- 2977
- 2978
- 2979
- 2980
- 2981
- 2982
- 2983
- 2984
- 2985
- 2986
- 2987
- 2988
- 2989
- 2990
- 2991
- 2992
- 2993
- 2994
- 2995
- 2996
- 2997
- 2998
- 2999
- 3000
- 3001
- 3002
- 3003
- 3004
- 3005
- 3006
- 3007
- 3008
- 3009
- 3010
- 3011
- 3012
- 3013
- 3014
- 3015
- 3016
- 3017
- 3018
- 3019
- 3020
- 3021
- 3022
- 3023
- 3024
- 3025
- 3026
- 3027
- 3028
- 3029
- 3030
- 3031
- 3032
- 3033
- 3034
- 3035
- 3036
- 3037
- 3038
- 3039
- 3040
- 3041
- 3042
- 3043
- 3044
- 3045
- 3046
- 3047
- 3048
- 3049
- 3050
- 3051
- 3052
- 3053
- 3054
- 3055
- 3056
- 3057
- 3058
- 3059
- 3060
- 3061
- 3062
- 3063
- 3064
- 3065
- 3066
- 3067
- 3068
- 3069
- 3070
- 3071
- 3072
- 3073
- 3074
- 3075
- 3076
- 3077
- 3078
- 3079
- 3080
- 3081
- 3082
- 3083
- 3084
- 3085
- 3086
- 3087
- 3088
- 3089
- 3090
- 3091
- 3092
- 3093
- 3094
- 3095
- 3096
- 3097
- 3098
- 3099
- 3100
- 3101
- 3102
- 3103
- 3104
- 3105
- 3106
- 3107
- 3108
- 3109
- 3110
- 3111
- 3112
- 3113
- 3114
- 3115
- 3116
- 3117
- 3118
- 3119
- 3120
- 3121
- 3122
- 3123
- 3124
- 3125
- 3126
- 3127
- 3128
- 3129
- 3130
- 3131
- 3132
- 3133
- 3134
- 3135
- 3136
- 3137
- 3138
- 3139
- 3140
- 3141
- 3142
- 3143
- 3144
- 3145
- 3146
- 3147
- 3148
- 3149
- 3150
- 3151
- 3152
- 3153
- 3154
- 3155
- 3156
- 3157
- 3158
- 3159
- 3160
- 3161
- 3162
- 3163
- 3164
- 3165
- 3166
- 3167
- 3168
- 3169
- 3170
- 3171
- 3172
- 3173
- 3174
- 3175
- 3176
- 3177
- 3178
- 3179
- 3180
- 3181
- 3182
- 3183
- 3184
- 3185
- 3186
- 3187
- 3188
- 3189
- 3190
- 3191
- 3192
- 3193
- 3194
- 3195
- 3196
- 3197
- 3198
- 3199
- 3200
- 3201
- 3202
- 3203
- 3204
- 3205
- 3206
- 3207
- 3208
- 3209
- 3210
- 3211
- 3212
- 3213
- 3214
- 3215
- 3216
- 3217
- 3218
- 3219
- 3220
- 3221
- 3222
- 3223
- 3224
- 3225
- 3226
- 3227
- 3228
- 3229
- 3230
- 3231
- 3232
- 3233
- 3234
- 3235
- 3236
- 3237
- 3238
- 3239
- 3240
- 3241
- 3242
- 3243
- 3244
- 3245
- 3246
- 3247
- 3248
- 3249
- 3250
- 3251
- 3252
- 3253
- 3254
- 3255
- 3256
- 3257
- 3258
- 3259
- 3260
- 3261
- 3262
- 3263
- 3264
- 3265
- 3266
- 3267
- 3268
- 3269
- 3270
- 3271
- 3272
- 3273
- 3274
- 3275
- 3276
- 3277
- 3278
- 3279
- 3280
- 3281
- 3282
- 3283
- 3284
- 3285
- 3286
- 3287
- 3288
- 3289
- 3290
- 3291
- 3292
- 3293
- 3294
- 3295
- 3296
- 3297
- 3298
- 3299
- 3300
- 3301
- 3302
- 3303
- 3304
- 3305
- 3306
- 3307
- 3308
- 3309
- 3310
- 3311
- 3312
- 3313
- 3314
- 3315
- 3316
- 3317
- 3318
- 3319
- 3320
- 3321
- 3322
- 3323
- 3324
- 3325
- 3326
- 3327
- 3328
- 3329
- 3330
- 3331
- 3332
- 3333
- 3333
推荐文章