华为云用户手册
-
解决方案 方法一:使用主账号重新创建一次任务,主账号默认有Security Administrator权限,可在创建任务后将委托创建出来。 方法二:使用主账号在子账号所在的用户组添加Security Administrator权限后,重新创建任务。添加权限的具体操作请参见:创建用户并授权使用DRS。 方法三:手动添加“账户委托”,添加步骤如下: 使用主账号登录华为云,在右上角单击“控制台”。 在控制台页面,鼠标移动至右上方的账号名,在下拉列表中选择“ 统一身份认证 ”。 在统一身份认证页面,单击左侧导航窗格中“委托”,进入“委托”页面。 在“委托”页面,单击右上方的“创建委托”进行委托创建。 填写委托名称为“DRS_AGENTCY” ,委托类型为 “普通账号”时, 委托的账号为 “op_svc_rds”;委托类型为“云服务”时,选择“关系型数据库MySQL”;持续时间为“永久”,完成后单击“完成”。 图1 创建委托 在“选择策略”页面,选择DRS_AGENTCY的授权策略,委托权限需配置全局的 Tenant Administrator,完成后单击右下角的“下一步”。 图2 选择策略 在“设置最小授权范围”页面,先选择全局服务资源授权后,再基于指定区域设置最小授权范围,完成后单击右下角的“确定”。 图3 全局服务资源授权 图4 指定区域项目授权 授权完成后,单击委托名称,在“授权记录”中可看到全局服务和指定区域两条授权记录。 图5 授权记录 权限生效时间提醒,您选中的OBS权限由于系统设计的原因,授权后需等待15-30分钟才可生效,权限生效后重新创建即可。
-
支持的同步对象范围 在使用DRS进行同步时,不同类型的同步任务,支持的同步对象范围不同,详细情况可参考表3。DRS会根据用户选择,在“预检查”阶段对同步对象进行自动检查。 表3 支持的同步对象 类型名称 使用须知 同步对象范围 全量同步时支持表、普通索引、主键与唯一约束、数据的同步。增量同步时支持表的实时同步。 全量阶段不支持bfile、sdo_geometry、urowid和自定义类型。增量阶段不支持bfile、sdo_geometry、urowid、interval year to month、interval day to second和自定义类型。 timestamp和interval day to second类型支持的最大精度是6。 全量同步结构不支持位图索引、倒排索引、函数索引。 增量同步LOB类型仅支持BasicFiles属性,不支持SecureFiles属性,全量和增量支持的LOB类型大小限10M以内。 对于TIMESTAMP WITH TIME ZONE类型,根据目标库时区做转换后不得大于“9999-12-31 23:59:59.999999”。 不支持默认值含有表达式的函数的表的同步。 不支持同步源库中的临时表。 不支持同步源库中有虚拟列的表。 不支持同步既是无主键表,又是分区表的自建表,可能会导致任务失败。 不支持GaussDB的无主键复制表,如果需要同步的表在GaussDB为无主键复制表,会导致任务失败。
-
支持的源和目标数据库 表1 支持的数据库 源数据库 目标数据库 本地自建数据库(PostgreSQL 9.4、9.5、9.6、10、11、12、13、14、15、16版本) ECS自建数据库(PostgreSQL 9.4、9.5、9.6、10、11、12、13、14、15、16版本) 其他云上数据库(PostgreSQL 9.4、9.5、9.6、10、11、12、13、14、15、16版本) RDS for PostgreSQL(9.5、9.6、10、11、12、13、14、15、16版本) GaussDB(DWS)集群(8.1.3、8.2.0版本) 目前仅支持白名单用户使用。
-
支持的同步对象范围 在使用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`));
-
支持的源和目标数据库 表1 支持的数据库 源数据库 目标数据库 本地自建MySQL数据库(MySQL 5.5、5.6、5.7、8.0版本) ECS自建MySQL数据库(MySQL 5.5、5.6、5.7、8.0版本) 其他云上MySQL数据库(MySQL 5.5、5.6、5.7、8.0版本) RDS for MySQL(5.5、5.6、5.7、8.0版本) TaurusDB标准版(5.7、8.0版本) TaurusDB企业版
-
数据库账号权限要求 在使用DRS进行同步时,连接源库和目标库的数据库账号需要满足以下权限要求,才能启动实时同步任务。不同类型的同步任务,需要的账号权限也不同,详细可参考表2进行赋权。DRS会在“预检查”阶段对数据库账号权限进行自动检查,并给出处理建议。 表2 数据库账号权限 类型名称 全量+增量同步、增量同步 源数据库连接账号 SELECT、SHOW VIEW、LOCK TABLES、REPLICATION SLAVE、REPLICATION CLIENT。 全量+增量任务,当源数据库为8.0.2及以上版本时,还需要授予XA_RECOVER_ADMIN权限,以防启动或编辑时未提交的XA事务导致数据有损。 目标数据库连接账号 SELECT、CREATE、DROP、DELETE、INSERT、UPDATE、ALTER、CREATE VIEW、CREATE ROUTINE、REFEREN CES ,TaurusDB实例的root账户默认已具备上述权限。 当目标库为8.0.14-8.0.18版本时,还需要有SESSION_VARIABLES_ADMIN权限。 建议创建单独用于DRS任务连接的数据库账号,避免因为数据库账号密码修改,导致的任务连接失败。 连接源和目标数据库的账号密码修改后,请参考修改连接信息章节修改DRS任务的连接信息,避免任务连接失败后自动重试,导致数据库账号被锁定影响使用。
-
使用建议 灾备初始化阶段,请不要在业务数据库执行DDL操作,否则可能导致任务异常。 灾备初始化阶段,确保灾备数据库无业务写入,保证灾备前后数据一致。 数据库灾备与环境多样性和人为操作均有密切关系,为了确保灾备的平顺,建议您在进行正式的数据库灾备之前进行一次演练,可以帮助您提前发现问题并解决问题。 基于以下原因,建议您在启动任务时选择“稍后启动”功能,选择业务低峰期开始运行灾备任务,避免灾备任务对业务造成性能影响。 在网络无瓶颈的情况下,灾备初始化阶段会对业务数据库增加约50MB/s的查询压力,以及占用2~4个CPU。 灾备无主键表时,为了确保数据一致性,会存在3s以内的单表级锁定。 正在灾备的数据被其他事务长时间锁死,可能导致读数据超时。 DRS并发读取数据库,会占用大约6-10个session连接数,需要考虑该连接数对业务的影响。 灾备初始化阶段读取表数据时,特别是大表的读取,可能会阻塞业务上对大表的独占锁操作。 更多DRS对数据库的影响,可参考DRS对源数据库和目标数据库有什么影响。 数据对比 建议您结合数据对比的“稍后启动”功能,选择业务低峰期进行数据对比,以便得到更为具有参考性的对比结果。由于同步具有轻微的时差,在数据持续操作过程中进行对比任务,可能会出现少量数据不一致对比结果,从而失去参考意义。
-
数据库账号权限要求 在使用DRS进行灾备时,连接业务数据库和灾备数据库的账号需要满足以下权限要求,才能启动实时灾备任务。不同类型的灾备任务,需要的账号权限也不同,详细可参考表2进行赋权。DRS会在“预检查”阶段对数据库账号权限进行自动检查,并给出处理建议。 表2 数据库账号权限 类型名称 所需权限 业务数据库连接账号 需要具备如下权限: SELECT、CREATE、ALTER、DROP、DELETE、INSERT、UPDATE、TRIGGER、REFERENCES、SHOW VIEW、EVENT、INDEX、LOCK TABLES、CREATE VIEW、 CREATE ROUTINE、 ALTER ROUTINE、 CREATE USER、RELOAD、REPLICATION SLAVE、REPLICATION CLIENT、WITH GRANT OPTION。 TaurusDB实例的root账户默认已具备上述权限。 灾备 数据库连接账号 需要具备如下权限: SELECT、CREATE、ALTER、DROP、DELETE、INSERT、UPDATE、TRIGGER、REFERENCES、SHOW VIEW、EVENT、INDEX、LOCK TABLES、CREATE VIEW、 CREATE ROUTINE、 ALTER ROUTINE、 CREATE USER、RELOAD、REPLICATION SLAVE、REPLICATION CLIENT、WITH GRANT OPTION。 TaurusDB实例的root账户默认已具备上述权限。 建议创建单独用于DRS任务连接的数据库账号,避免因为数据库账号密码修改,导致的任务连接失败。 连接业务和灾备数据库的账号密码修改后,请参考修改连接信息章节修改DRS任务的连接信息,避免任务连接失败后自动重试,导致数据库账号被锁定影响使用。 表2中为DRS任务所需的最小权限,如果需要DRS任务迁移grant授权的情况下,请确保DRS任务的连接账号本身具备对应权限,否则可能因为grant授权执行失败导致目标库对应用户缺少授权。例如DRS任务的连接账号本身不要求process权限,如果需要通过DRS任务迁移process授权则需要保证DRS任务的连接账号具备该权限。
-
通用使用建议 在使用DRS前,您需要了解: DRS支持从数据库同版本或低版本到高版本的同步,不支持从高版本同步到低版本。 数据库同步与环境多样性和人为操作均有密切关系,为了确保同步的平顺,建议您在进行正式的数据库同步之前进行一次演练,可以帮助您提前发现问题并解决问题。 如果您使用的是全量同步模式,确保源和目标数据库无业务写入,保证同步前后数据一致。如果您使用的是全量+增量同步模式,支持在源数据库有业务数据写入的情况下进行同步。 DRS任务启动和全量数据同步阶段,请不要在源数据库执行DDL操作,否则可能导致任务异常。 全量阶段读取表数据时,特别是大表的读取,可能会阻塞业务上对大表的独占锁操作。 同步无主键表时,为了确保数据一致性,会存在3s以内的单表级锁定。 正在同步的数据被其他事务长时间锁死,可能导致读数据超时。 由于MySQL固有特点限制,CPU资源紧张时,存储引擎为Tokudb的表,读取速度可能下降至10%。 DRS并发读取数据库时,会占用大约6-10个session连接数,需要考虑该连接数对业务的影响。 在网络无瓶颈的情况下,全量同步会对源数据库增加约50MB/s的查询压力,以及占用2~4个CPU。 更多DRS对数据库的影响,可参考DRS对源数据库和目标数据库有什么影响。 建议您在启动任务时选择“稍后启动”功能,将启动时间设置在业务低峰期,相对静止的数据可以有效提升一次性同步成功率,避免同步对业务造成性能影响。如果同步不可避免业务高峰期,推荐使用同步限速功能,即“流速模式”选择“限速”。 数据对比 建议您结合数据对比的“稍后启动”功能,选择业务低峰期进行数据对比,以便得到更为具有参考性的对比结果。由于同步具有轻微的时差,在数据持续操作过程中进行对比任务,可能会出现少量数据不一致对比结果,从而失去参考意义。 如果涉及多对一同步场景,您需要了解: 如果涉及多对一场景的同步任务,可参考多对一的场景约束及操作建议。 如果涉及表级汇集的多对一同步任务,则不支持DDL,否则会导致同步全部失败。 数据同步完成后,您需要了解 同步完成后,建议您结合数据对比的“稍后启动”功能,选择业务低峰期进行数据对比,以便得到更为具有参考性的对比结果。由于同步具有轻微的时差,在数据持续操作过程中进行对比任务,可能会出现少量数据不一致对比结果,从而失去参考意义。 父主题: 附录
-
暂停任务 在“实时灾备管理”页面的灾备列表中,选择要暂停的灾备任务,单击“操作”列的“暂停”。 在弹出的“暂停任务”对话框中,选择“暂停日志抓取”后,单击“是”。 暂停任务时,仅暂停增量数据的回放、或者拉取加回放,在进行数据库割接前,请先结束任务。 勾选“暂停日志抓取”后,该功能会停止一切DRS和源库、目标库的连接,请注意暂停过长可能会因为源端所需日志过期而导致任务无法恢复续传。建议暂停时间不超过24小时,具体时间请排查相应日志配置。 暂停成功后,状态栏显示为“已暂停”。 需要继续灾备时,可以使用续传功能。
-
处理建议 源库中,执行以下操作中的任意一项: 开启库级ALL级别的补充日志:alter database add supplemental log data (all) columns 在Oracle源库中开启最小补充日志:alter database add supplemental log data,并为每张待同步表开启表级all级别的补充日志:alter table TABLE_NAME add supplemental log data(all) columns
-
Microsoft SQL Server为源同步场景 表4 目标数据库是否存在与源数据库同名的对象 预检查项 目标数据库是否存在与源数据库同名的对象。 描述 校验用户提供的目标数据库是否存在与源数据库同名的对象。 选择同步表结构的情况下,目标库不能存在与源数据库同名的。 不选择同步表结构的情况下,目标库需提前创建对应的表结构。 不通过提示及处理建议 不通过原因:目标库表不存在,无法进行同步。 处理建议:不同步表结构时,目标库上需提前创建表或者选择同步表结构。 目标库建表语句参考: CREATE TABLE table_name (column_name data_type); 不通过原因:需要同步的表在目标库的映射已存在。 处理建议:返回同步设置中,重新选择其他表进行同步,或者修改表映射名称 不通过原因:需要同步的映射表在目标库中不存在。 处理建议:勾选同步表结构以创建库表,或者在目标库中创建对应的表结构,若已创建,请检查规定的映射名称是否正确。
-
实例监控指标 数据复制服务 性能监控指标,如表1所示。 表1 数据复制服务支持的监控指标 指标ID 指标名称 指标含义 取值范围 单位 进制 测量对象 监控周期(原始指标) cpu_util CPU使用率 该指标用于统计测量对象的CPU使用率,以比率为单位。 0-100 % 不涉及 测量对象:弹性云服务器 监控实例类型:实时迁移、实时同步和实时灾备实例 1分钟 mem_util 内存使用率 该指标用于统计测量对象的内存使用率。 0-100 % 不涉及 测量对象:弹性云服务器 监控实例类型:实时迁移、实时同步和实时灾备实例 1分钟 network_incoming_bytes_rate 网络输入吞吐量 该指标用于统计平均每秒从测量对象的所有网络适配器输入的流量。 ≥ 0 byte/s 不涉及 测量对象:弹性云服务器 监控实例类型:实时迁移、实时同步和实时灾备实例 1分钟 network_outgoing_bytes_rate 网络输出吞吐量 该指标用于统计平均每秒从测量对象的所有网络适配器输出的流量。 ≥ 0 byte/s 不涉及 测量对象:弹性云服务器 监控实例类型:实时迁移、实时同步和实时灾备实例 1分钟 disk_read_bytes_rate 磁盘读吞吐量 该指标用于统计每秒从磁盘读取的字节数。 ≥ 0 byte/s 不涉及 测量对象:弹性云服务器 监控实例类型:实时迁移、实时同步和实时灾备实例 1分钟 disk_write_bytes_rate 磁盘写吞吐量 该指标用于统计每秒写入磁盘的字节数。 ≥ byte/s 不涉及 测量对象:弹性云服务器 监控实例类型:实时迁移、实时同步和实时灾备实例 1分钟 disk_util 磁盘利用率 该指标用于统计测量对象的磁盘利用率。 0-100 % 不涉及 测量对象:弹性云服务器 监控实例类型:实时迁移、实时同步和实时灾备实例 1分钟 extract_bytes_rate 读源库吞吐量 该指标用于统计每秒从源库读取表数据或者WAL的字节数。 ≥ 0 byte/s 不涉及 测量对象:弹性云服务器 监控实例类型:实时迁移、实时同步和实时灾备实例 1分钟 extract_rows_rate 读源库频率 该指标用于统计每秒从源库读取表数据或者WAL的行数。 ≥ 0 row/s 不涉及 测量对象:弹性云服务器 监控实例类型:实时迁移、实时同步和实时灾备实例 1分钟 extract_latency 源库WAL抽取延迟 该指标用于统计当前从源库抽取WAL的延迟。 ≥ 0 ms 不涉及 测量对象:弹性云服务器 监控实例类型:实时迁移、实时同步和实时灾备实例 1分钟 apply_bytes_rate 写目标库吞吐量 该指标用于统计每秒向目标库写入数据的字节数。 ≥ 0 byte/s 不涉及 测量对象:弹性云服务器 监控实例类型:实时迁移、实时同步和实时灾备实例 1分钟 apply_rows_rate 写目标库频率 该指标用于统计每秒向目标库写入数据的行数。 ≥ 0 row/s 不涉及 测量对象:弹性云服务器 监控实例类型:实时迁移、实时同步和实时灾备实例 1分钟 apply_transactions_rate DML TPS 该指标用于统计每秒向目标库写入的DML事务数。 ≥ 0 transaction/s 不涉及 测量对象:弹性云服务器 监控实例类型:实时迁移、实时同步和实时灾备实例 1分钟 apply_ddls_number或apply_ddls_rate 说明: apply_ddls_rate在2022年12月之后替换为apply_ddls_number。 DDL TPS 该指标用于统计向目标库写入的DDL事务总数。 ≥ 0 transaction 不涉及 测量对象:弹性云服务器 监控实例类型:实时迁移、实时同步和实时灾备实例 1分钟 apply_latency 数据同步延迟 该指标用于统计当前数据向目标库回放延迟。 ≥ 0 ms 不涉及 测量对象:弹性云服务器 监控实例类型:实时迁移、实时同步和实时灾备实例 1分钟 apply_average_execute_time 事务平均执行时间 该指标用于统计当前一个事务在目标库的平均执行时间(一个事务的RT=执行时间+提交时间)。 ≥ 0 ms 不涉及 测量对象:弹性云服务器 监控实例类型:实时迁移、实时同步和实时灾备实例 1分钟 apply_average_commit_time 事务平均提交时间 该指标用于统计当前一个事务在目标库的平均提交时间(一个事务的RT=执行时间+提交时间)。 ≥ 0 ms 不涉及 测量对象:弹性云服务器 监控实例类型:实时迁移、实时同步和实时灾备实例 1分钟 apply_current_state 同步状态 该指标用于表示当前内核数据的同步状态(10:异常,1:空闲,2:执行DML,3:执行DDL),不代表任务状态。 10:异常 1:空闲 2:执行DML 3:执行DDL 不涉及 不涉及 测量对象:弹性云服务器 监控实例类型:实时迁移、实时同步和实时灾备实例 1分钟 apply_thread_workers 同步线程数量 该指标用于表示当前数据同步的工作线程数量。 ≥ 0 Counts 不涉及 测量对象:弹性云服务器 监控实例类型:实时迁移、实时同步和实时灾备实例 1分钟 apply_job_status 任务状态 该指标用于表示当前任务所处的状态(0:正常,1:异常,2:暂停)。 0:正常 1:异常 2:暂停 不涉及 不涉及 测量对象:弹性云服务器 监控实例类型:实时迁移、实时同步和实时灾备实例 1分钟
-
前提条件 当前支持的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;
-
JSON-C格式 JSON-C格式与JSON格式类似,区别是对于删除操作,JSON数据放在old上,JSON-C放在data上。对于timestamp类型数据转换成yyyy-mm-dd hh:mm:ss的字符串。 JSON-C定义详情参考表5: 表5 JSON-C参数说明 参数名称 说明 mysqlType 源端表字段名称和类型。 id DRS内部定义的事件操作的序列号,单调递增。 es 源库产生这一条记录的时间,13位Unix时间戳,单位为毫秒。 ts 写入到目标kafka的时间,13位Unix时间戳,单位为毫秒。 database 数据库名称(Oracle数据库填写schema)。 table 表名。 type 操作类型,比如DELETE,UPDATE,INSERT,DDL。 isDdl 是否是DDL操作。 sql DDL的SQL语句,在DML操作中,取值为""。 sqlType 源端表字段的jdbc类型。 data 最新的数据,为JSON数组,如果type参数是插入则表示最新插入的数据,如果是更新,则表示更新后的最新数据;如果是删除,则表示被删除的数据。 old 旧数据,如果type参数是更新,则表示更新前的数据;如果是插入,取值为null。 pkNames 主键名称。
-
JSON格式 MySQL、GaussDB(MySQL)到Kafka的JSON格式定义详情参考表2,DDS到Kafka的JSON格式定义详情参考表3,Oracle、PostgreSQL、GaussDB、Microsoft SQL Server到Kafka的JSON格式定义详情参考表4。 表2 MySQL到Kafka的参数说明 参数名称 说明 mysqlType 源端表字段名称和类型。 id DRS内部定义的事件操作的序列号,单调递增。 es 源库产生这一条记录的时间,13位Unix时间戳,单位为毫秒。 ts 写入到目标kafka的时间,13位Unix时间戳,单位为毫秒。 database 数据库名称。 table 表名。 type 操作类型,比如DELETE,UPDATE,INSERT,DDL,全量同步为INIT和INIT_DDL。 isDdl 是否是DDL操作。 sql DDL的SQL语句,在DML操作中,取值为""。 sqlType 源端表字段的jdbc类型。 data 最新的数据,为JSON数组,如果type参数是插入则表示最新插入的数据,如果是更新,则表示更新后的最新数据。 old 旧数据,如果type参数是更新,则表示更新前的数据;如果是删除,则表示被删除的数据;如果是插入,取值为null。 pkNames 主键名称。 增量同步的消息体: { "mysqlType":{ "c11":"binary", "c10":"varchar", "c13":"text", "c12":"varbinary", "c14":"blob", "c1":"varchar", "c2":"varbinary", "c3":"int", "c4":"datetime", "c5":"timestamp", "c6":"char", "c7":"float", "c8":"double", "c9":"decimal", "id":"int" }, "id":27677, "es":1624614713000, "ts":1625058726990, "database":"test01", "table":"test ", "type":"UPDATE", "isDdl":false, "sql":"", "sqlType":{ "c11":-2, "c10":12, "c13":-1, "c12":-3, "c14":2004, "c1":12, "c2":-3, "c3":4, "c4":94, "c5":93, "c6":1, "c7":6, "c8":8, "c9":3, "id":4 }, "data":[ { "c11":"[]", "c10":"华为云huaweicloud", "c13":"asfiajhfiaf939-0239uoituqorjoqirfoidjfqrniowejoiwqjroqwjrowqjojoiqgoiegnkjgoi23roiugouofdug9u90weurtg103", "c12":"[106, 103, 111, 106, 103, 111, 105, 100, 115, 106, 103, 111, 106, 111, 115, 111, 103, 57, 51, 52, 48, 57, 52, 51, 48, 57, 116, 106, 104, 114, 103, 106, 101, 119, 57, 116, 117, 48, 57, 51, 52, 48, 116, 101, 114, 111, 101, 106, 103, 57, 56, 51, 48, 52, 105, 101, 117, 114, 103, 57, 101, 119, 117, 114, 103, 48, 119, 101, 117, 116, 57, 114, 48, 52, 117, 48, 57, 53, 116, 117, 51, 48, 57, 50, 117, 116, 48, 57, 51, 117, 116, 48, 119, 57, 101]", "c14":"[106, 103, 111, 106, 103, 111, 105, 100, 115, 106, 103, 111, 106, 111, 115, 111, 103, 57, 51, 52, 48, 57, 52, 51, 48, 57, 116, 106, 104, 114, 103, 106, 101, 119, 57, 116, 117, 48, 57, 51, 52, 48, 116, 101, 114, 111, 101, 106, 103, 57, 56, 51, 48, 52, 105, 55, 57, 56, 52, 54, 53, 52, 54, 54, 54, 49, 52, 54, 53, 33, 64, 35, 36, 37, 94, 42, 40, 41, 95, 41, 43, 95, 43, 124, 125, 34, 63, 62, 58, 58, 101, 117, 114, 103, 57, 101, 119, 117, 114, 103, 48, 119, 101, 117, 116, 57, 114, 48, 52, 117, 48, 57, 53, 116, 117, 51, 48, 57, 50, 117, 116, 48, 57, 51, 117, 116, 48, 119, 57, 101]", "c1":"cf3f70a7-7565-44b0-ae3c-83bec549ea8e:104", "c2":"[]", "c3":"103", "c4":"2021-06-25 17:51:53", "c5":"1624614713.201", "c6":"!@#$%90weurtg103", "c7":"10357.0", "c8":"1.2510357E7", "c9":"9874510357", "id":"104" } ], "old":[ { "c11":"[]", "c10":"华为云huaweicloud", "c13":"asfiajhfiaf939-0239", "c12":"[106, 103, 111, 106, 103, 111, 105, 100, 115, 106, 103, 111, 106, 111, 115, 111, 103, 57, 51, 52, 48, 57, 52, 51, 48, 57, 116, 106, 104, 114, 103, 106, 101, 119, 57, 116, 117, 48, 57, 51, 52, 48, 116, 101, 114, 111, 101, 106, 103, 57, 56, 51, 48, 52, 105, 101, 117, 114, 103, 57, 101, 119, 117, 114, 103, 48, 119, 101, 117, 116, 57, 114, 48, 52, 117, 48, 57, 53, 116, 117, 51, 48, 57, 50, 117, 116, 48, 57, 51, 117, 116, 48, 119, 57, 101]", "c14":"[106, 103, 111, 106, 103, 111, 105, 100, 115, 106, 103, 111, 106, 111, 115, 111, 103, 57, 51, 52, 48, 57, 52, 51, 48, 57, 116, 106, 104, 114, 103, 106, 101, 119, 57, 116, 117, 48, 57, 51, 52, 48, 116, 101, 114, 111, 101, 106, 103, 57, 56, 51, 48, 52, 105, 55, 57, 56, 52, 54, 53, 52, 54, 54, 54, 49, 52, 54, 53, 33, 64, 35, 36, 37, 94, 42, 40, 41, 95, 41, 43, 95, 43, 124, 125, 34, 63, 62, 58, 58, 101, 117, 114, 103, 57, 101, 119, 117, 114, 103, 48, 119, 101, 117, 116, 57, 114, 48, 52, 117, 48, 57, 53, 116, 117, 51, 48, 57, 50, 117, 116, 48, 57, 51, 117, 116, 48, 119, 57, 101]", "c1":"cf3f70a7-7565-44b0-ae3c-83bec549ea8e:104", "c2":"[]", "c3":"103", "c4":"2021-06-25 17:51:53", "c5":"1624614713.201", "c6":"!@#$%90weurtg103", "c7":"10357.0", "c8":"1.2510357E7", "c9":"9874510357", "id":"103" } ], "pkNames":[ "id" ] } 全量同步的消息体(表数据): { "jobId": "e28c0c1e-e3ab-4f6c-bbc2-69c28670deec", "shardId": "c66c15af-747b-4bd6-9b5d-de2e8e38f935", "identifier": "1", "eventId": "mysql-bin.000065:800;2bf665dc-f8e2-11eb-bcfd-6c4b90b9d8b3:1-251167", "mysqlType": { "c11": "binary", "c10": "varchar", "c13": "text", "c12": "varbinary", "c14": "blob", "c1": "varchar", "c2": "varbinary", "c3": "int", "c4": "datetime", "c5": "timestamp", "c6": "char", "c7": "float", "c8": "double", "c9": "decimal", "id": "int" }, "id": 27677, "es": 1624614713000, "ts": 1625058726990, "database": "test01", "table": "test", "type": "INIT", "isDdl": false, "sql": "", "sqlType": { "c11": -2, "c10": 12, "c13": -1, "c12": -3, "c14": 2004, "c1": 12, "c2": -3, "c3": 4, "c4": 94, "c5": 93, "c6": 1, "c7": 6, "c8": 8, "c9": 3, "id": 4 }, "data": [{ "c11": "[]", "c10": "华为云huaweicloud", "c13": "asfiajhfiaf939-0239uoituqorjoqirfoidjfqrniowejoiwqjroqwjrowqjojoiqgoiegnkjgoi23roiugouofdug9u90weurtg103", "c12": "[106, 103, 111, 106, 103, 111, 105, 100, 115, 106, 103, 111, 106, 111, 115, 111, 103, 57, 51, 52, 48, 57, 52, 51, 48, 57, 116, 106, 104, 114, 103, 106, 101, 119, 57, 116, 117, 48, 57, 51, 52, 48, 116, 101, 114, 111, 101, 106, 103, 57, 56, 51, 48, 52, 105, 101, 117, 114, 103, 57, 101, 119, 117, 114, 103, 48, 119, 101, 117, 116, 57, 114, 48, 52, 117, 48, 57, 53, 116, 117, 51, 48, 57, 50, 117, 116, 48, 57, 51, 117, 116, 48, 119, 57, 101]", "c14": "[106, 103, 111, 106, 103, 111, 105, 100, 115, 106, 103, 111, 106, 111, 115, 111, 103, 57, 51, 52, 48, 57, 52, 51, 48, 57, 116, 106, 104, 114, 103, 106, 101, 119, 57, 116, 117, 48, 57, 51, 52, 48, 116, 101, 114, 111, 101, 106, 103, 57, 56, 51, 48, 52, 105, 55, 57, 56, 52, 54, 53, 52, 54, 54, 54, 49, 52, 54, 53, 33, 64, 35, 36, 37, 94, 42, 40, 41, 95, 41, 43, 95, 43, 124, 125, 34, 63, 62, 58, 58, 101, 117, 114, 103, 57, 101, 119, 117, 114, 103, 48, 119, 101, 117, 116, 57, 114, 48, 52, 117, 48, 57, 53, 116, 117, 51, 48, 57, 50, 117, 116, 48, 57, 51, 117, 116, 48, 119, 57, 101]", "c1": "cf3f70a7-7565-44b0-ae3c-83bec549ea8e:104", "c2": "[]", "c3": "103", "c4": "2021-06-25 17:51:53", "c5": "1624614713.201", "c6": "!@#$%90weurtg103", "c7": "10357.0", "c8": "1.2510357E7", "c9": "9874510357", "id": "104" }], "old": null, "pkNames": [ "id" ] } 全量同步的消息体(表结构): { "jobId": "e28c0c1e-e3ab-4f6c-bbc2-69c28670deec", "shardId": null, "identifier": null, "eventId": "", "mysqlType": null, "id": 0, "es": 1733998006282, "ts": 1733998006282, "database": "test01", "table": "test", "type": "INIT_DDL", "isDdl": true, "sql": "CREATE TABLE `test` ( `id` int(11) NOT NULL AUTO_INCREMENT, `c1` varchar(255) DEFAULT NULL, `c2` blob, `c3` longblob, `c4` bit(2) DEFAULT NULL, `c5` binary(255) DEFAULT NULL, `c6` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE InnoDB AUTO_INCREMENT DEFAULT CHARSET utf8", "sqlType": null, "data": null, "old": null, "pkNames": null } 表3 DDS到Kafka的参数说明 参数名称 说明 id DRS内部定义的事件操作的序列号,单调递增。 op 操作类型,比如DELETE,UPDATE,INSERT,DDL。 dbType 源库类型:Mongo。 db 数据库名称。 coll 集合名称。 value 这一条记录的变更值。 where 这一条记录的变更条件。 recordType 具体的记录类型,比如insert、update、replace、doc。其中,update和replace表示op中的UPDATE具体操作。doc表示op中的DELETE删除的是文档数据而非视图数据。 extra 拓展字段,一般和recordType保持一致,作为扩展oplog记录使用。 es 这一条记录的commit时间,13位Unix时间戳,单位为毫秒。 ts 写入到目标kafka的时间,13位Unix时间戳,单位为毫秒。 clusterTime 与事件关联的oplog条目的时间戳,格式为timestamp:incre(timestamp是10位unix时间戳,单位为秒;incre代表当前命令在同一秒内执行的次序)。 // insert操作 { "id": 256, "op": "INSERT", "dbType": "MongoDB", "db": "ljx", "coll": "ljx", "value": "{\"_id\": ObjectId(\"64650cf67dc36a464e76e583\"), \"c1\": \"baz\", \"tags\": [\"mongodb\", \"database\", \"NoSQL\"]}", "where": null, "recordType": "insert", "extra": "insert", "es": 1684315111439, "ts": 1684315111576, "clusterTime": "1684344064:1" } // replace操作 { "id": 340, "op": "UPDATE", "dbType": "MongoDB", "db": "ljx", "coll": "ljx", "value": "{\"_id\": ObjectId(\"64650cf67dc36a464e76e583\"), \"c1\": \"sss\"}", "where": "{\"_id\": ObjectId(\"64650cf67dc36a464e76e583\")}", "recordType": "replace", "extra": "replace", "es": 1684315951831, "ts": 1684315951961, "clusterTime": "1684344904:9" } // update 更新值操作 { "id": 386, "op": "UPDATE", "dbType": "MongoDB", "db": "ljx", "coll": "ljx", "value": "{\"$set\": {\"c1\": \"aaa\"}}", "where": "{\"_id\": ObjectId(\"64650cf67dc36a464e76e583\")}", "recordType": "update", "extra": "update", "es": 1684316412008, "ts": 1684316412146, "clusterTime": "1684345365:1" } // update 更新键操作 { "id": 414, "op": "UPDATE", "dbType": "MongoDB", "db": "ljx", "coll": "ljx", "value": "{\"$unset\": {\"c1\": true}, \"$set\": {\"column1\": \"aaa\"}}", "where": "{\"_id\": ObjectId(\"64650cf67dc36a464e76e583\")}", "recordType": "update", "extra": "update", "es": 1684316692054, "ts": 1684316692184, "clusterTime": "1684345648:1" } // remove 操作 { "id": 471, "op": "DELETE", "dbType": "MongoDB", "db": "ljx", "coll": "ljx", "value": "{\"_id\": ObjectId(\"64650cf67dc36a464e76e583\")}", "where": null, "recordType": "doc", "extra": "doc", "es": 1684317252747, "ts": 1684317252869, "clusterTime": "1684346209:1" } 表4 其他数据库到Kafka的参数说明 参数名称 说明 columnType 源端表字段名称和数据类型。 说明: 数据类型不带长度、精度等。 dbType为Oracle、Microsoft SQL Server时暂为空。 dbType 源库类型。 schema schema名称。 opType 操作类型,比如DELETE,UPDATE,INSERT,DDL。 id DRS内部定义的事件操作的序列号,单调递增。 es 源库不同引擎对应类型如下: GaussDB集中式版:当前事务的commit时间,13位Unix时间戳,单位为毫秒。 GaussDB分布式:当前事务的commit时间,13位Unix时间戳,单位为毫秒。 PostgreSQL:这一条记录上一个事务的commit时间,13位Unix时间戳,单位为毫秒。 Oracle:这一条记录的commit时间,13位Unix时间戳,单位为毫秒。 Microsoft SQL Server:这一条记录的commit时间,13位Unix时间戳,单位为毫秒。 ts 写入到目标kafka的时间,13位Unix时间戳,单位为毫秒。 database 数据库名称,dbType为Oracle时暂时为空。 table 表名。 type 操作类型,比如DELETE,UPDATE,INSERT,DDL。 isDdl 是否是DDL操作。 sql DDL的SQL语句,在DML操作中,取值为""。 sqlType 源端表字段的jdbc类型。 data 最新的数据,为JSON数组,如果type参数是插入则表示最新插入的数据,如果是更新,则表示更新后的最新数据。 old 旧数据,如果type参数是更新,则表示更新前的数据;如果是删除,则表示被删除的数据;如果是插入,取值为null。 pkNames 主键名称。 { "columnType": { "timestamp_column": "timestamp without time zone", "tstzrange_column": "tstzrange", "int4range_column": "int4range", "char_column": "character", "jsonb_column": "json", "boolean_column": "boolean", "bit_column": "bit", "smallint_column": "smallint", "bytea_column": "bytea" }, "dbType": "GaussDB Primary/Standby", "schema": "schema01", "opType": "UPDATE", "id": 332, "es": 1639626187000, "ts": 1639629261915, "database": "database01", "table": "table01", "type": "UPDATE", "isDdl": false, "sql": "", "sqlType": { "timestamp_column": 16, "tstzrange_column": 46, "int4range_column": 42, "char_column": 9, "jsonb_column": 22, "boolean_column": 8, "bit_column": 20, "smallint_column": 2, "bytea_column": 15 }, "data": [ { "timestamp_column": "2021-12-16 12:31:49.344365", "tstzrange_column": "(\"2010-01-01 14:30:00+08\",\"2010-01-01 15:30:00+08\")", "int4range_column": "[11,20)", "char_column": "g", "jsonb_column": "{\"key1\": \"value1\", \"key2\": \"value2\"}", "boolean_column": "false", "bit_column": "1", "smallint_column": "12", "bytea_column": "62797465615f64617461" } ], "old": [ { "timestamp_column": "2014-07-02 06:14:00.742", "tstzrange_column": "(\"2010-01-01 14:30:00+08\",\"2010-01-01 15:30:00+08\")", "int4range_column": "[11,20)", "char_column": "g", "jsonb_column": "{\"key1\": \"value1\", \"key2\": \"value2\"}", "boolean_column": "true", "bit_column": "1", "smallint_column": "12", "bytea_column": "62797465615f64617461" } ], "pkNames": null }
-
操作步骤 在“实时灾备管理”页面的任务列表中,选择要结束的任务,单击“结束”。 在弹出框中单击“是”,提交结束任务。 当任务状态异常时(例如任务失败、网络异常),DRS会勾选“强制结束任务”优先结束任务,减少等待时间。 “强制结束任务”会直接释放DRS资源,请检查是否存在影响,确认同步情况。 如果需要正常结束任务,请先修复DRS任务,待任务状态正常后,再单击“结束”,正常结束任务。 当任务状态为灾备中并且当前链路是以MySQL为源的DRS链路,勾选“结束时展示断点信息”后,在任务结束后灾备进度页面会显示源库的GTID和binlog位点信息。
-
方式一 在“实时灾备管理”页面的灾备任务列表中,选择要修改的任务,单击“编辑”。 在“源库及目标库”页面,填写业务库和灾备库信息,单击“下一步”。 在“预检查”页面,进行灾备任务预校验,校验通过后才可进行下一步。 查看检查结果,如有不通过的检查项,需要修复不通过项后,单击“重新校验”重新进行灾备任务的预检查。 预检查不通过项处理建议请参见《数据复制服务用户指南》中的“预检查不通过项修复方法”。 预检查完成后,且预检查通过率为100%时,单击“下一步”,进入“参数对比”页面。 所有检查项结果均通过时,若存在请确认项,需要阅读并确认详情后才可以继续执行下一步操作。 在“参数对比”页面,进行参数对比。 参数对比功能从“常规参数”和“性能参数”两个维度,展示了业务数据库和灾备数据库参数值的一致性情况。您可以根据业务需要,决定是否选用该功能。该操作不影响数据灾备,主要目的是为了确保数据灾备成功后业务应用的使用不受影响。 若您选择不进行参数对比,可跳过该步骤,单击页面右下角“下一步”按钮,继续执行后续操作。 若您选择进行参数对比,请参照如下的步骤操作。 对于常规参数,一般情况下,如果业务数据库和灾备数据库存在不一致的情况,建议单击“一键修改”,将灾备数据库参数修改为和业务数据库对应参数相同的值。 图1 修改常规参数 对于性能参数,您可以根据业务场景,自定义业务数据库和灾备数据库的参数值,二者结果可以一致也可以不一致。 将对比结果一致的性能参数修改为不一致:在“目标库值调整为”一列手动输入调整的倍数或结果后,单击左上角的“一键修改”,即可完成修改。 将对比结果不一致的性能参数改为一致,请参考如下流程进行修改: 对业务库和灾备库的参数值。 选择需要修改的参数后,单击“一键对齐”,系统将帮您自动填充灾备数据库的参数值,使其和业务数据库对应的参数值保持一致。 图2 一键对齐参数 您也可以通过手动输入调整的倍数或结果,对齐参数值。 修改参数值。 业务数据库和灾备数据库的不一致参数值对齐后,单击“一键修改”,系统将按照您当前设置的灾备数据库参数值进行修改。修改完成后,灾备数据库的参数值和对比结果会自动更新。 图3 一键修改参数 部分参数修改后无法在灾备数据库立即生效,需要重启才能生效,此时的对比结果显示为“待重启,不一致”。建议您在灾备任务启动之前重启灾备数据库,或者数据灾备结束后选择一个计划时间重启。如果您选择数据灾备结束后重启灾备数据库,请合理设置重启计划时间,避免参数生效太晚影响业务的正常使用。 在进行参数对比功能时,您可以参见《数据复制服务用户指南》中“参数对比列表”进行参数设置。 参数对比操作完成后,单击“下一步”,进入“任务确认”页面。 在“任务确认”页面,设置灾备任务的启动时间、任务异常通知设置、 SMN 主题、时延阈值、RTO 时延阈值、RPO 时延阈值、任务异常自动结束时间,并确认灾备任务信息无误后,单击“启动任务”,提交灾备任务。 图4 任务启动设置 表1 任务和描述 参数 描述 启动时间 灾备任务的启动时间可以根据业务需求,设置为“立即启动”或“稍后启动”。 说明: 预计灾备任务启动后,会对业务数据库和灾备数据库的性能产生影响,建议选择业务低峰期,合理设置灾备任务的启动时间。 任务异常通知设置 该项为可选参数,开启之后,选择对应的SMN主题。当灾备任务状态或时延指标异常时,系统将发送通知。 SMN主题 “任务异常通知设置”项开启后可见,需提前在SMN上申请主题并添加订阅。 SMN主题申请和订阅可参考《 消息通知 服务用户指南》。 时延阈值 在数据灾备阶段,业务数据库和灾备数据库之间的有时会存在一个时间差,称为时延,单位为秒。 时延阈值设置是指时延超过一定的值后(时延阈值范围为0到3600s),DRS可以发送告警通知。告警通知将在时延稳定超过设定的阈值6min后发送,避免出现由于时延波动反复发送告警通知的情况。 说明: 设置时延阈值之前,需要设置任务异常通知。 当时延阈值设置为0时,不会发送通知给收件人。 RTO 时延阈值 RTO时延阈值设置是DRS实例与灾备数据库间同步的时延超过一定的值后(RTO时延阈值范围为0到3600s),DRS可以发送告警通知给指定收件人。告警通知将在时延稳定超过设定的阈值6min后发送,避免出现由于时延波动反复发送告警通知的情况。 说明: 设置RTO时延阈值之前,需要设置任务异常通知。 当时延阈值设置为0时,不会发送通知给收件人。 RPO 时延阈值 RPO时延阈值设置是业务数据库与DRS实例间同步的时延超过一定的值后(RTO时延阈值范围为0到3600s),DRS可以发送告警通知。告警通知将在时延稳定超过设定的阈值6min后发送,避免出现由于时延波动反复发送告警通知的情况。 说明: 设置RPO时延阈值之前,需要设置任务异常通知。 当时延阈值设置为0时,不会发送通知给收件人。 初次进入增量灾备阶段,会有较多数据等待同步,产生的较大时延属于正常情况,不在该功能监控范围之内。 任务异常自动结束时间(天) 设置任务异常自动结束天数,输入值必须在14到100之间,默认值14。 说明: 仅按需计费任务支持设置任务异常自动结束时间,包年/包月任务不支持。 异常状态下的任务仍然会计费,而长时间异常的任务无法续传和恢复。设置任务异常自动结束天数后,异常且超时的任务将会自动结束,以免产生不必要的费用。 灾备任务提交后,您可在“实时灾备管理”页面,查看并管理自己的任务。 您可查看任务提交后的状态,状态请参见任务状态说明。 在任务列表的右上角,单击刷新列表,可查看到最新的任务状态。 对于未启动、状态为配置中的任务,DRS默认保留3天,超过3天DRS会自动删除后台资源,当前任务状态不变。当用户再次配置时,DRS会重新申请资源。 对于公网网络类型的任务,由于DRS需要在任务结束后删除后台资源,所以该任务绑定的弹性公网IP需要等待一段时间,才能恢复为解绑状态。 对于灾备中的任务,您可通过数据对比功能查看灾备前后数据是否一致。
-
操作步骤 在“实时灾备管理”页面,选择指定的灾备任务,单击任务名称进入“基本信息”页签。 在“基本信息”页签,单击“灾备监控”页签。 RPO(Recovery Point Objective),为业务数据库与DRS实例数据差的一种度量方式,RPO=0时,意味着业务数据库的数据已经全部到达DRS实例。 RTO(Recovery Time Objective),处在传输中数据量的一种度量方式,RTO=0时,意味着DRS实例上的事务已经全部在灾备数据库上执行完毕。 时延监控:展示RPO、RTO的历史数据轨迹,对真实灾难将发生时的数据丢失量具有一定的预测意义。可重点关注以下两种类型数据: 长时间RPO、RTO高的时间段。 规律性RPO、RTO高的时间段。 自治监控:展示DRS的智能自制能力,主要包括: 网络断连时,DRS自动重连并断点续传的次数。 发生数据冲突时,DRS自动使用最新数据覆盖旧数据的次数。 性能监控:展示了DRS实例的实时读取速度和写入速度,有助于诊断性能瓶颈。 资源监控:展示了DRS实例的资源使用情况,有助于诊断性能瓶颈。 图1 灾备监控
-
结束任务 在“实时迁移管理”页面的迁移列表中,选择要结束的迁移任务,单击操作列“结束”。 在弹出框中单击“是”,提交结束任务。 一般情况下,结束任务功能可以确保特殊对象迁移的完整性(触发器、事件会在结束任务阶段迁移)。 当任务状态异常时(例如任务失败、网络异常),DRS会勾选“强制结束任务”优先结束任务,减少等待时间。 “强制结束任务”会直接释放DRS资源,不会进行触发器、事件的迁移,请手工迁移触发器、事件。 如果需要DRS进行触发器、事件迁移,请先修复DRS任务,待任务状态正常后,再单击“结束”,正常结束任务。 当任务状态为增量中并且当前链路是以MySQL、TaurusDB为源的DRS链路,勾选“结束时展示断点信息”后,在任务结束后迁移进度页面会显示源库的GTID和binlog位点信息。
-
方式一 在“实时迁移管理”页面的迁移列表中,选择要修改的任务,单击“编辑”。 在“源库及目标库”页面,填写源库和目标库信息,单击“下一步”。 在“迁移设置”页面,设置迁移用户和迁移对象,单击“下一步”。 图1 迁移模式 表1 迁移模式和迁移对象 参数 描述 流速模式 流速模式支持限速和不限速,默认为不限速。限速模式只对全量阶段生效,增量阶段不生效。 限速 自定义的最大迁移速度,具体速度受网络等多种因素的影响,迁移过程中每个任务(多任务时为每个子任务)的迁移速度将不会超过该速度。 当流速模式选择了“限速”时,您需要通过流速设置来定时控制迁移速度。流速设置通常包括限速时间段和流速大小的设置。默认的限速时间段为“全天限流”,您也可以根据业务需求选择“时段限流”。自定义的时段限流支持最多设置10个定时任务,每个定时任务之间不能存在交叉的时间段,未设定在限速时间段的时间默认为不限速。 流速的大小需要根据业务场景来设置,不能超过9999MB/s。 图2 设置流速模式 不限速 对迁移速度不进行限制,通常会最大化使用源数据库的出口带宽。该流速模式同时会对源数据库造成读消耗,消耗取决于源数据库的出口带宽。比如源数据库的出口带宽为100MB/s,假设高速模式使用了80%带宽,则迁移对源数据库将造成80MB/s的读操作IO消耗。 说明: 限速模式只对全量迁移阶段生效,增量迁移阶段不生效。 您也可以在创建任务后修改流速模式。具体方法请参见修改流速模式。 迁移增量账号及权限 选择数据库迁移过程中,是否迁移增量账号。 是 DRS迁移全部增量账号以及权限。因为源和目标数据库版本、账号加密方式等不同,DRS无法保证增量账号迁移全部成功。 否 DRS会过滤全部增量账号以及权限。 迁移用户 数据库的迁移过程中,迁移用户需要进行单独处理。 常见的迁移用户一般分为三类:可完整迁移的用户、需要降权的用户和不可迁移的用户。您可以根据业务需求选择迁移或者不迁移,选择“是”后,可根据需要选择迁移用户。 是 当您选择迁移用户时,请参见迁移用户章节进行数据库用户、权限及密码的处理。 否 迁移过程中,将不进行数据库用户、权限和密码的迁移。 索引与表结构同时建立 全量阶段,是否与表结构同时建立索引 是,实时迁移过程中,全量同步迁移表结构的时候,会同时迁移索引。 否,索引会在迁移数据阶段后进行单独迁移。 过滤DROP DATABASE 实时迁移过程中,为了降低迁移数据的风险,数据复制服务提供了过滤删除数据库操作的功能。 是,表示实时迁移过程中不会迁移用户在源数据库端执行的删除数据库的操作。 否,则表示实时迁移过程中将相关操作迁移到目标库。 迁移对象 左侧框是源数据库对象,右侧框是已经选择的对象,您可以根据业务需求,选择全部对象迁移、表级迁移或者库级迁移。 全部迁移:将源数据库中的所有对象全部迁移至目标数据库,对象迁移到目标数据库实例后,对象名将会保持与源数据库实例对象名一致且无法修改。 表级迁移:将选择的表级对象迁移至目标数据库。 库级迁移:将选择的库级对象迁移至目标数据库。 如果有切换源数据库的操作或源库迁移对象变化的情况,请务必在选择迁移对象前单击右上角的,以确保待选择的对象为最新源数据库对象。 说明: 若选择部分数据库进行迁移时,由于存储过程、视图等对象可能与其他数据库的表存在依赖关系,若所依赖的表未迁移,则会导致迁移失败。建议您在迁移之前进行确认,或选择全部数据库进行迁移。 当对象名称包含空格时,名称前后的空格不显示,中间如有多个空格只显示一个空格。 选择的迁移对象名称中不能包含空格。 选择对象的时候支持对展开的库进行搜索,以便您快速选择需要的数据库对象。 在“预检查”页面,进行迁移任务预校验,校验是否可进行迁移。 查看检查结果,如有不通过的检查项,需要修复不通过项后,单击“重新校验”按钮重新进行迁移任务预校验。 预检查不通过项处理建议请参见《数据复制服务用户指南》中的“预检查不通过项修复方法”。 预检查完成后,且预检查通过率为100%时,单击“下一步”。 所有检查项结果均通过时,若存在待确认项,需要阅读并确认详情后才可以继续执行下一步操作。 在“任务确认”页面,设置迁移任务的启动时间,并确认迁移任务信息无误后,单击“启动任务”,提交迁移任务。 迁移任务的启动时间可以根据业务需求,设置为“立即启动”或“稍后启动”。 预计迁移任务启动后,会对源数据库和目标数据库的性能产生影响,建议选择业务低峰期,合理设置迁移任务的启动时间。 特定条件下,启动任务过程中目标数据库将被重启一次,可能会中断数据库业务的使用。 迁移任务提交后,您可在“实时迁移管理”页面,查看并管理自己的任务。 您可查看任务提交后的状态,状态请参见任务状态说明。 在任务列表的右上角,单击刷新列表,可查看到最新的任务状态。
-
任务状态说明 实时迁移提供了多种任务状态,以便区分不同阶段的迁移任务。 数据实时迁移任务的状态和说明,请参见表1。 表1 实时迁移任务状态和说明 状态 说明 创建中 正在创建数据复制服务需要用到的迁移实例。 创建任务失败 创建实时迁移实例失败。 配置 迁移实例创建成功,但还没有启动任务,可以继续配置任务。 冻结 账户余额小于或等于0元,系统对该用户下的实例进行冻结。 等待启动 已经下发了定时启动迁移任务到迁移实例上,等待迁移实例启动任务。 启动中 正在启动迁移任务。 启动失败 实时迁移任务启动失败。 全量迁移 正在进行源数据库到目标数据库的全量迁移任务。 全量迁移失败 实时迁移任务全量迁移失败。 增量迁移 持续进行从源数据库到目标数据库的增量数据迁移。 增量迁移失败 增量数据迁移失败。 故障恢复 迁移实例发生故障,系统自动恢复迁移任务。 克隆中 正在进行迁移任务克隆。 克隆失败 克隆迁移任务失败。 已暂停 实时迁移任务已暂停。 结束任务 释放执行迁移任务所使用的迁移实例和资源。 结束任务中 正在释放迁移任务所使用的迁移实例和资源。 结束任务失败 释放迁移任务所使用的迁移实例和资源失败。 已结束 释放迁移任务所占迁移实例成功。 对于创建失败的任务,DRS默认保留3天,超过3天将会自动结束任务。 对于未启动、状态为配置中的任务,DRS默认保留3天,超过3天DRS会自动删除后台资源,当前任务状态不变。当用户再次配置时,DRS会重新申请资源。 已删除的迁移任务在状态列表中不显示。 父主题: 任务生命周期
-
网络配置流程 创建DRS实例,并获取DRS实例所在子网和私有IP地址。 DRS实例所在子网默认选择与目标库在同一个子网。 图3 迁移实例信息 DRS迁移实例创建成功后,界面会显示DRS迁移实例的私有IP地址。 图4 DRS实例私有IP 查询DRS实例所在VPC信息。 DRS迁移实例默认和目标RDS数据库创建在相同VPC,因此可以登录目标RDS查看“基本信息”获取迁移实例所在VPC信息。 图5 目标库信息 在目标Region创建VPN,并配置VPN网关和连接。 购买VPN和配置VPN相关操作,可参考《 虚拟专用网络 快速入门》。 其中创建VPN网关时的虚拟私有云参数为2中DRS迁移实例所在VPC名称。创建VPN连接时填写的本端子网参数,填写步骤1中DRS迁移实例所在子网。 在源Region创建VPN并配置VPN对端设备。 可参考《虚拟专用网络快速入门》中的“配置对端设备”章节实现目标端所在网络和华为云DRS所在VPC子网的互通。 配置源库所在安全组和源库所在子网的网络ACL。 安全组:增加云数据库安全组入方向规则,放通DRS私有IP作为源地址可以访问云数据库监听端口。 网络ACL:VPC默认没有网络ACL,如果您设置过网络ACL,需要增加入方向规则,允许放通DRS私有IP作为源地址、随机端口作为源端口范围,RDS源数据库的IP作为目的地址、监听端口作为目的端口范围。 源数据库添加白名单 源数据库需要添加迁移账号使用DRS迁移实例私有IP访问数据库的权限。各数据库添加白名单的方法不同,请参考各数据库官方文档进行操作。 配置DRS迁移实例所在安全组和DRS所在子网的网络ACL。 VPC默认没有网络ACL,默认安全组的规则在出方向数据全部放行,DRS迁移实例和目标RDS数据库在相同安全组默认互通,所以在默认场景下无需配置。 如果您设置过网络ACL或安全组,请登录VPC管理控制台进行检查和配置。 安全组:确保DRS迁移实例所在安全组出方向到源数据库的IP、监听端口放通。 网络ACL:确保DRS所在子网、随机端口出方向和源数据库的IP、监听端口放通。 测试连接。 登录DRS控制台,单击已经创建的DRS任务操作列的“编辑”,重新进入“源库及目标库”界面,输入源数据库IP、端口、用户名、密码进行测试连接。
-
网络配置流程 创建DRS实例,并获取DRS实例所在子网和私有IP地址。 DRS实例所在子网默认选择与目标库在同一个子网。 图3 迁移实例信息 DRS迁移实例创建成功后,界面会显示DRS迁移实例的私有IP地址。 图4 DRS实例私有IP 查询DRS实例所在VPC信息。 DRS迁移实例默认和目标RDS数据库创建在相同VPC,因此可以登录目标RDS查看“基本信息”获取迁移实例所在VPC信息。 图5 目标库信息 在目标Region创建VPN,并配置VPN网关和连接。 购买VPN和配置VPN相关操作,可参考《虚拟专用网络快速入门》。 其中创建VPN网关时的虚拟私有云参数为步骤2中DRS迁移实例所在VPC名称。创建VPN连接时填写的本端子网参数,填写步骤1中DRS迁移实例所在子网。 在源Region创建VPN并配置VPN对端设备。 可参考《虚拟专用网络快速入门》中的“配置对端设备”章节实现目标端所在网络和华为云DRS所在VPC子网的互通。 配置源库所在安全组和源库所在子网的网络ACL。 安全组:增加云数据库安全组入方向规则,放通DRS私有IP作为源地址可以访问云数据库监听端口。 网络ACL:VPC默认没有网络ACL,如果您设置过网络ACL,需要增加入方向规则,允许放通DRS私有IP作为源地址、随机端口作为源端口范围,RDS源数据库的IP作为目的地址、监听端口作为目的端口范围。 配置DRS迁移实例所在安全组和DRS所在子网的网络ACL。 VPC默认没有网络ACL,默认安全组的规则在出方向数据全部放行,DRS迁移实例和目标RDS数据库在相同安全组默认互通,所以在默认场景下无需配置。 如果您设置过网络ACL或安全组,请登录VPC管理控制台进行检查和配置。 安全组:确保DRS迁移实例所在安全组出方向到源数据库的IP、监听端口放通。 网络ACL:确保DRS所在子网、随机端口出方向和源数据库的IP、监听端口放通。 测试连接。 登录DRS控制台,单击已经创建的DRS任务操作列的“编辑”,重新进入“源库及目标库”界面,输入源数据库IP、端口、用户名、密码进行测试连接。
-
网络配置流程 源库绑定弹性公网IP。 参考华为云各数据库官方文档进行绑定弹性公网IP。 以源库为华为云RDS for MySQL为例,可参考《绑定和解绑弹性公网IP》。 创建DRS公网网络任务,为DRS实例绑定弹性公网IP。 在创建公网网络的DRS任务时,可在实例信息页面为DRS实例绑定弹性公网IP。 配置源库所在安全组和源库所在子网的网络ACL。 安全组:增加云数据库安全组入方向规则,放通DRS弹性公网IP作为源地址可以访问云数据库监听端口。 网络ACL:VPC默认没有网络ACL,如果您设置过网络ACL,需要增加入方向规则,允许放通DRS弹性公网IP作为源地址、随机端口作为源端口范围,RDS源数据库的IP作为目的地址、监听端口作为目的端口范围。 华为云ECS自建数据库添加白名单。 华为云ECS自建数据库需要添加迁移账号使用DRS私有 IP访问数据库的权限。各种数据库添加白名单的方法不同,请参考各数据库官方文档进行操作。 配置DRS迁移实例所在安全组和DRS所在子网的网络ACL。 VPC默认没有网络ACL,默认安全组的规则在出方向数据全部放行,DRS迁移实例和目标RDS数据库在相同安全组默认互通,所以在默认场景下无需配置。 如果您设置过网络ACL或安全组,请登录VPC管理控制台进行检查和配置。 安全组:确保DRS迁移实例所在安全组出方向到源数据库的IP、监听端口放通。 网络ACL:确保DRS所在子网、随机端口出方向和源数据库的IP、监听端口放通。 测试连接。 登录DRS控制台,单击已经创建的DRS任务操作列的“编辑”,重新进入“源库及目标库”界面,输入源数据库IP、端口、用户名、密码进行测试连接。
-
网络配置流程 创建VPC对等连接。 同账号建立VPC对等连接的方法,可参考《创建相同账户下的对等连接》。 不同账号建立VPC对等连接的方法,可参考《创建不同账户下的对等连接》。 对等连接建立后,需要在本端VPC、对端VPC分别添加对方子网的路由才能通信,详细操作可参考添加VPC对等连接路由。 在添加对等路由时,建议添加网段路由信息。如果添加点对点路由,DRS任务重建后实例IP会发生改变,此时需要重新添加路由,否则会导致网络不通。 创建DRS实例,并获取DRS实例私有IP地址。 DRS迁移实例创建成功后,界面会显示DRS迁移实例的私有IP地址。 图3 DRS实例私有IP 配置源库所在安全组和源库所在子网的网络ACL。 安全组:增加云数据库安全组入方向规则,放通DRS私网IP作为源地址可以访问云数据库监听端口。 网络ACL:VPC默认没有网络ACL,如果您设置过网络ACL,需要增加入方向规则,允许放通DRS私网IP作为源地址、随机端口作为源端口范围,RDS源数据库的IP作为目的地址、监听端口作为目的端口范围。 华为云ECS自建数据库添加白名单。 华为云ECS自建数据库需要添加迁移账号使用DRS私有 IP访问数据库的权限。各种数据库添加白名单的方法不同,请参考各数据库官方文档进行操作。 配置DRS迁移实例所在安全组和DRS所在子网的网络ACL。 VPC默认没有网络ACL,默认安全组的规则在出方向数据全部放行,DRS迁移实例和目标RDS数据库在相同安全组默认互通,所以在默认场景下无需配置。 如果您设置过网络ACL或安全组,请登录VPC管理控制台进行检查和配置。 安全组:确保DRS私网IP出方向到源数据库的IP、监听端口放通。 网络ACL:确保DRS私网IP、随机端口出方向和源数据库的IP、监听端口放通。 测试连接。 登录DRS控制台,单击已经创建的DRS任务操作列的“编辑”,重新进入“源库及目标库”界面,输入源数据库IP、端口、用户名、密码进行测试连接。
-
网络配置流程 创建DRS实例,并获取DRS实例私有IP地址。 DRS迁移实例创建成功后,界面会显示DRS迁移实例的私有IP地址。 图3 DRS实例私有IP 配置源库所在安全组和源库所在子网的网络ACL。 安全组:增加云数据库安全组入方向规则,放通DRS私网IP作为源地址可以访问云数据库监听端口。 网络ACL:VPC默认没有网络ACL,如果您设置过网络ACL,需要增加入方向规则,允许放通DRS私网IP作为源地址、随机端口作为源端口范围,RDS源数据库的IP作为目的地址、监听端口作为目的端口范围。 华为云ECS自建数据库添加白名单。 华为云ECS自建数据库需要添加迁移账号使用DRS私有 IP访问数据库的权限。各种数据库添加白名单的方法不同,请参考各数据库官方文档进行操作。 配置DRS迁移实例所在安全组和DRS所在子网的网络ACL。 VPC默认没有网络ACL,默认安全组的规则在出方向数据全部放行,DRS迁移实例和目标RDS数据库在相同安全组默认互通,所以在默认场景下无需配置。 如果您设置过网络ACL或安全组,请登录VPC管理控制台进行检查和配置。 安全组:确保DRS私网IP出方向到源数据库的IP、监听端口放通。 网络ACL:确保DRS私网IP、随机端口出方向和源数据库的IP、监听端口放通。 测试连接。 登录DRS控制台,单击已经创建的DRS任务操作列的“编辑”,重新进入“源库及目标库”界面,输入源数据库IP、端口、用户名、密码进行测试连接。
-
网络配置流程 源库绑定弹性公网IP。 参考华为云各数据库官方文档进行绑定弹性公网IP。 以源库为华为云RDS for MySQL为例,可参考《绑定和解绑弹性公网IP》。 创建DRS公网网络任务,为DRS实例绑定弹性公网IP。 在创建公网网络的DRS任务时,可在实例信息页面为DRS实例绑定弹性公网IP。 配置源库所在安全组和源库所在子网的网络ACL。 安全组:增加云数据库安全组入方向规则,放通DRS弹性公网IP作为源地址可以访问云数据库监听端口。 网络ACL:VPC默认没有网络ACL,如果您设置过网络ACL,需要增加入方向规则,允许放通DRS弹性公网IP作为源地址、随机端口作为源端口范围,RDS源数据库的IP作为目的地址、监听端口作为目的端口范围。 配置DRS迁移实例所在安全组和DRS所在子网的网络ACL。 VPC默认没有网络ACL,默认安全组的规则在出方向数据全部放行,DRS迁移实例和目标RDS数据库在相同安全组默认互通,所以在默认场景下无需配置。 如果您设置过网络ACL或安全组,请登录VPC管理控制台进行检查和配置。 安全组:确保DRS迁移实例所在安全组出方向到源数据库的IP、监听端口放通。 网络ACL:确保DRS所在子网、随机端口出方向和源数据库的IP、监听端口放通。 测试连接。 登录DRS控制台,单击已经创建的DRS任务操作列的“编辑”,重新进入“源库及目标库”界面,输入源数据库IP、端口、用户名、密码进行测试连接。
-
网络配置流程 创建VPC对等连接。 同账号建立VPC对等连接的方法,可参考《创建相同账户下的对等连接》。 不同账号建立VPC对等连接的方法,可参考《创建不同账户下的对等连接》。 对等连接建立后,需要在本端VPC、对端VPC分别添加对方子网的路由才能通信,详细操作可参考添加VPC对等连接路由。 在添加对等路由时,建议添加网段路由信息。如果添加点对点路由,DRS任务重建后实例IP会发生改变,此时需要重新添加路由,否则会导致网络不通。 创建DRS实例,并获取DRS实例私有IP地址。 DRS迁移实例创建成功后,界面会显示DRS迁移实例的私有IP地址。 图3 DRS实例私有IP 配置源库所在安全组和源库所在子网的网络ACL。 安全组:增加云数据库安全组入方向规则,放通DRS私网IP作为源地址可以访问云数据库监听端口。 网络ACL:VPC默认没有网络ACL,如果您设置过网络ACL,需要增加入方向规则,允许放通DRS私网IP作为源地址、随机端口作为源端口范围,RDS源数据库的IP作为目的地址、监听端口作为目的端口范围。 配置DRS迁移实例所在安全组和DRS所在子网的网络ACL。 VPC默认没有网络ACL,默认安全组的规则在出方向数据全部放行,DRS迁移实例和目标RDS数据库在相同安全组默认互通,所以在默认场景下无需配置。 如果您设置过网络ACL或安全组,请登录VPC管理控制台进行检查和配置。 安全组:确保DRS私网IP出方向到源数据库的IP、监听端口放通。 网络ACL:确保DRS私网IP、随机端口出方向和源数据库的IP、监听端口放通。 测试连接。 登录DRS控制台,单击已经创建的DRS任务操作列的“编辑”,重新进入“源库及目标库”界面,输入源数据库IP、端口、用户名、密码进行测试连接。
共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