检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
略。 不支持函数和存储过程中DDL语句的同步,函数和存储过程中执行的DDL语句将被忽略。 源库和目标库版本不同时,请使用源库和目标库都兼容的SQL语句执行DDL操作。例如:源库为pg11,目标库为pg12,要将源库表的列类型从char修改为int时,请使用如下语句: alter table
源库中是否存在无权限迁移的函数或存储过程 MySQL迁移场景 表1 源库中是否存在无权限迁移的函数或存储过程 预检查项 源库中是否存在无权限迁移的函数或存储过程。 描述 源数据库提供的账号权限不足,无法迁移部分函数和存储过程,导致迁移失败。 不通过提示及处理建议 不通过原因:数据库中存在无权限迁移的函数或存储过程。
解决方案 数据类型或函数 ENCODE()函数 加密 移除 AES_ENCRYPT()函数代替 DECODE()函数 解密 移除 AES_DECRYPT()函数代替 ENCRYPT()函数 加密 移除 SHA2()函数代替 DES_ENCRYPT()函数 加密 移除 AES_ENCRYPT()函数代替
源库和目标库参数log_bin_trust_function_creators一致性校验 在进行MySQL到MySQL的出云迁移时,源库和目标库参数log_bin_trust_function_creators需保持一致。当源数据库支持自定义函数时,而目标数据库不支持自定义函数,此
n_creators校验 RDS for MySQL到MySQL出云场景下,所选的迁移对象包含自定义函数,但目标数据库不支持创建自定义函数,可能会导致迁移失败。 待确认原因 目标数据库不支持自定义函数 处理建议 请检查目标库my.cnf文件中是否存在参数log_bin_trust
getFieldCount() 获取这条变更记录的字段Field的个数。 List <Field> getFieldList() 该函数返回结果的数据类型为List <Field>。 List <Field> 包含了这条变更记录对应表的所有字段的定义及变更前后的镜像值,Field对象的定义详见表7。 表6 属性信息
致性检查 检查源数据库和目标数据库的block_encryption_mode参数是否一致,若不一致,可能会导致迁移之后目标数据库不可用,建议将参数设置为一致。 block_encryption_mode 用于设置使用加解密函数时的加密模式,源库和目标库的block_encryp
对象级对比:支持对数据库、索引、表、视图、存储过程和函数、表的排序规则等对象进行对比,建议在全量迁移完成后进行对比。 数据级对比分为行对比和内容对比。 行对比:对比迁移的表的行数是否一致,只查询表的行数,对比速度较快,建议优先使用。 内容对比:对比迁移的表内数据是否一致,需要查询每条数据进行对比,相较于行对比,内容对比较慢。
在“对象选择”区域选择需要加工的对象。 图5 列加工 单击右侧已选对象的“编辑”。 在“编辑列”中,勾选需要映射的列,填写映射后的“新列名”。 图6 编辑列 列加工提供列级的查询、映射和过滤能力。 编辑列名后,目标数据库的列名为修改后的名称。 列映射名不能和原列名或已存在的映射名相同。 不支持库名、表名带有换行符的列进行映射。
备注 CHAR CHARACTER 支持 支持 支持,忽略字符前后的空格 支持,忽略字符前后的空格 - VARCHAR CHARACTER VARYING 支持 支持 支持 支持 源目标库数据表示范围不同,存在精度损失。 VARCHAR2 CHARACTER VARYING 支持 支持
对于源数据库和目标数据库的版本有差异的同步链路,由于不同版本之间的部分特性差异,可能会出现语法兼容性问题,详情可参考MySQL不同版本之间的语法差异。 相互关联的数据对象要确保同时同步,避免因关联对象缺失,导致同步失败。常见的关联关系:视图引用表、视图引用视图、存储过程/函数/触发器引用视图/表、主外键关联表等。
取决于LOB比对方式和数据量的大小,请根据源和目标数据库情况进行评估和测试,以确保数据库的性能和稳定性。 比对长度:内容比对时采用源端和目标端的内置函数获取LOB数据长度进行数据比对。 比对hash:采用源端和目标端的内置函数获取LOB数据哈希值进行数据比对,Oracle使用DB
什么是单主/双主灾备 伴随着信息技术的高速发展,数据和信息在现代企业中扮演着越来越重要的角色,信息数据的丢失和损坏将对企业造成难以估量的损失。如何抵御大规模的灾难事件受到人们越来越多的关注,现阶段而言,容灾是较好的解决方案。关键数据的备份与恢复操作已经成为系统日常运行维护的一个重要组成部分。 华
Definer的使用主要应用在视图、存储过程、触发器、事件等对象里,Definer并不会限制对象被调用的权限,但会限制对象访问数据库的权限。本场景下,用户在MySQL迁移过程中选择了“所有Definer迁移到该用户下”,则源库用户体系下其他用户账号在完成用户迁移后,如果用户迁移和权限授权
MySQL存储过程迁移上云后遇到调用权限的问题,如何解决 MySQL存储过程迁移上云后,可能会因为权限问题导致调用存储过程或函数出错。 针对该情况,不同的Definer策略有不同的处理方法。本章节主要以user1为示例,介绍两种迁移Definer的策略下的处理方法。 策略一 在测试连接页
目标数据库是否存在和源数据库同名的数据库 MySQL迁移场景 表1 目标数据库是否存在和源数据库同名的数据库 预检查项 目标数据库是否存在和源数据库同名的数据库 描述 校验用户提供的目标数据库是否存在与源数据库相同的数据库。 不通过提示及处理建议 不通过原因:源数据库连接失败,导致该项检查无法进行。
支持包括:表、数据、索引、视图、存储过程、函数、数据库账号、数据库参数等。 可选择表级、库级或全部迁移维度。 支持同构、异构数据库间的数据同步,维持不同业务之间的数据持续性流动。 聚焦于表和数据,并满足多种灵活性的需求。 可选择表级、库级同步维度。 支持同构数据库间的数据灾备。 实现异地数据库主备倒换的效果。 实例级灾备,不支持表级、库级对象选择。
执行如下步骤在源库构造数据: 根据本地的Oracle数据库的IP地址,通过数据库连接工具连接数据库。 根据DRS支持的数据类型,在源库执行语句构造数据。 创建一个测试用的用户。 create user test_info identified by xxx; test_info为本次实践创建的用户,xxx为用户的密码,请根据实际情况替换。
对比使用场景 对比灾备项可以对比业务数据库和灾备数据库的数据一致性,目前灾备对比功能支持以下几种对比方式: 对象级对比:支持对数据库、索引、表、视图、存储过程和函数等对象进行对比。 数据级对比分为行对比和内容对比。 行对比:对比同步的表的行数是否一致,只查询表的行数,对比速度较快,建议优先使用。
源数据库和目标数据库的字符集是否一致 检查源数据库和目标数据库的数据库的字符集是否一致。当源数据库和目标数据库字符集不一致时,可能导致部分数据乱码、数据不一致等问题 不通过原因 源数据库和目标数据库字符集不一致。 处理建议 修改源数据库或者目标数据库字符集。 数据库为MySQL时,可通过以下方式进行修改: