检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
SQL Server、MySQL时,展示此检查项。检查用户是否设置了GUC参数配置,详细检查项参考表1。 针对GUC的校验是基于评估选定的目标数据库版本,而不是当前实际连接的目标数据库版本。 GaussDB主备版(M兼容)作为目标库时,暂不支持GUC参数检查。 表1 目标库GUC参数检查项
兼容模式检查 目标库为GaussDB时,会进行GaussDB兼容模式的检查。不同源数据库适配程度最高的兼容模式有所不同,如果目标数据库使用的兼容模式与推荐使用的不一致,则将提示风险。GaussDB兼容模式设置,请参考表1。 表1 兼容模式对应情况说明 源数据库 GaussDB兼容模式
字符集检查 对源库和目标库的字符集进行检查,将检查结果展示给用户,该检查仅为字符集兼容结果提示性信息,与后续操作无关,字符集兼容情况如表1到表3所示。 字符集兼容性结果说明: 告警:源库和目标库字符集不完全兼容。 成功:源库和目标库字符集兼容。 表1 Oracle到GaussDB字符集兼容情况
对象验证失败的原因有哪些? 可能的原因如下: 目标库验证失败 —建表语句如果指定tablespace,请检查目标库是否存在该tablespace,如果不存在请在目标库创建该tablespace。 —创建视图、函数等失败请检查是否依赖目标库table,如果依赖table请先确保table创建成功。
连接上源数据库,执行以下SQL语句查询源库Schema的字符集类型。 Oracle SELECT value FROM nls_database_parameters WHERE parameter = 'NLS_CHARACTERSET'; MySQL #databaseName为要查询的Schema名称 SELECT
对象校正时SQL修改保存失败 用户在迁移的对象校验页面进行SQL修改后保存,出现如图所示报错: 图1 报错显示 查询长度已超过1MB的最大限制。 调整查询长度后正常。 父主题: 迁移项目
评估项目出现对象收集错误并显示“Closed Connection” 问题描述 执行数据库评估项目,“项目状态”中的“对象收集错误”显示错误“Closed Connection”。 图1 错误显示 问题原因 UGO数据库采集源库DDL信息时设定采集时间60s,如果数据库对象过大或因数
GaussDB中没有Schema名称的对象语句验证失败,该如何设置搜索路径? 在GaussDB目标库中执行以下示例后,显示表“aa”不存在。 create schema sch1; create table sch1.aa(col int); select * from aa; 实际显示的错误消息为:-ERROR:表“aa”不存在。
操作场景 数据采集日志,记录该项目发生的事件及其发生时间。 操作步骤 登录UGO控制台。 单击左侧导航栏“结构迁移 > 数据库评估”。 在评估项目任务列表中,选择待分析的项目,单击“操作 > 查看日志”。实时显示采集日志列表。 在详情中查看触发事件的具体信息,包括具体Schema名称、日志采集数量、日志采集状态等信息。
操作场景 审核数据库对象是否符合规范以及存在性能问题。 前提条件 有已创建的数据源信息,并且连接成功。 约束限制 审核对象仅支持:Table、View、Sequence、Index、Function、Procedure、Trigger、Package。 一次审核Schema的数量不超过10000。
操作流程 本实践的主要任务流如图1所示。一次完整的数据库对象迁移,包括数据库评估与对象迁移2个部分,各部分的流程如图2和图3所示。 图1 主要操作流程 图2 评估流程 图3 迁移流程 父主题: Oracle结构迁移到GaussDB
从DBA视图:从整个数据库实例中的对象进行数据采集。 从所有视图:当前用户可以访问的所有对象(包含用户拥有的对象)进行数据库采集。 标签(可选) 可使用TMS的预定义标签功能将相同的标签添加到不同的云资源中。具体请查看标签管理服务 TMS。 输入一对一的“键”和“值”后单击“添加”。
“项目状态”为“进行中 待确认目标数据库”。 被冻结的账号,不能使用该功能。 Microsoft SQL Server为源库不支持该功能。 操作场景 将对当前评估任务进行重新评估,包括动态SQL评估、工作量评估、对象转换统计、不兼容语法的TOP、系统对象。 操作步骤 登录UGO控制台。 单击左侧导航栏“结构迁移
语法转换失败,需要进行手工修改,可参考校正转换失败对象。 校正转换失败对象 单击“下一步”,进入对象校正页面。对象校验页面显示待验证的Schema、对象名称、对象类型等信息。 图5 对象校正 可对选中的具体对象单击“跳过迁移”,忽略不想验证迁移的对象。 批量语句更新:批量语句更新支持类似问题的批量搜索和修改。如何批量语句更新,可参考批量语句更新。
SQL语句”较大建议不勾选此选项。 导出的SQL文件中,原始的“SQL语句”较大时,则将原始的“SQL语句”以单独的文件进行保存,Excel文件中的“SQL文本”列显示保存的文件名。 允许导出到Excel的最大对象数量为5000条。 导出的依赖表结构超过30000字符时,会额外导出为sql文件。
/值后的“添加”。 标签添加完成后,单击弹框下方的“添加”。即可在当前项目中查看并管理自己的标签。 图1 添加标签 输入标签的键和值时,系统会自动联想当前所有关联的预定义标签。 标签的键不能为空且必须唯一,长度不能超过128个字符,可以包含任意语种的字母、数字、空格和_.:=+-
操作建议 DDL对象数量检查 检查该用户是否至少有一个Schema对象能访问并且存在DDL需要评估。 用户至少需要能够访问一个模式对象,否则无法创建评估任务。注意:PostgreSQL的系统对象不在对象数量的统计范围之内。 评估项目创建项目的预检查阶段不会检查源数据库的权限,只检查源数据库中至少需要一个对象需要评估。
发器函数的定义,再通过pg_get_triggerdef获取CREATE TRIGGER语句,然后拼接成完整的触发器定义语句。 由于PostgreSQL数据库中并未公开获取所有对象类型定义DDL的方法,因此部分对象的DDL将采用查询元数据拼接的方式获取。这可能导致采集的DDL信息
基于大量实际用户业务场景的迁移实践,积累了丰富的具体场景的迁移改造经验,结合代码量、转化率、不兼容特性改造难度等,综合输出迁移工作量评估。 数据库结构迁移 最大化的实现源库对象SQL到目标库的语义等价转换,并将转换后的SQL应用到目标库,对于语法不兼容无法转换的对象标记为失败,并给出失
前提条件 “项目状态”为“完成 创建迁移项目”。 被冻结的账号,不能使用差异化分析功能。 操作场景 数据库评估时,对数据采集进行差异分析。 指与上次评估或增量评估的增量差异。其中差异化分析可以展示增加或者删除的对象,但修改的对象差异化分析无法展示。 若继续进行分析而采集数据没有变化,则差异化分析报告不变。