检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
兼容模式检查 目标库为GaussDB时,会进行GaussDB兼容模式的检查。不同源数据库适配程度最高的兼容模式有所不同,如果目标数据库使用的兼容模式与推荐使用的不一致,则将提示风险。GaussDB兼容模式设置,请参考表1。 表1 兼容模式对应情况说明 源数据库 GaussDB兼容模式
提供了许多运行参数,统称为 GUC 参数,配置这些参数可以影响数据库系统的行为。UGO 对于 SQL 语法的转换,是基于与源库兼容性最好的一组 GUC 参数配置进行的,请根据对象迁移预检查中的提示进行 GUC 参数设置,否则可能影响最终对象迁移的成功率和可用性。 目标库为GaussDB V2.0-3
字符集检查 对源库和目标库的字符集进行检查,将检查结果展示给用户,该检查仅为字符集兼容结果提示性信息,与后续操作无关,字符集兼容情况如表1到表3所示。 字符集兼容性结果说明: 告警:源库和目标库字符集不完全兼容。 成功:源库和目标库字符集兼容。 表1 Oracle到GaussDB字符集兼容情况
连接上源数据库,执行以下SQL语句查询源库Schema的字符集类型。 Oracle SELECT value FROM nls_database_parameters WHERE parameter = 'NLS_CHARACTERSET'; MySQL #databaseName为要查询的Schema名称 SELECT
对象校正时SQL修改保存失败 用户在迁移的对象校验页面进行SQL修改后保存,出现如图所示报错: 图1 报错显示 查询长度已超过1MB的最大限制。 调整查询长度后正常。 父主题: 迁移项目
对象验证失败的原因有哪些? 可能的原因如下: 目标库验证失败 —建表语句如果指定tablespace,请检查目标库是否存在该tablespace,如果不存在请在目标库创建该tablespace。 —创建视图、函数等失败请检查是否依赖目标库table,如果依赖table请先确保table创建成功。
评估项目出现对象收集错误并显示“Closed Connection” 问题描述 执行数据库评估项目,“项目状态”中的“对象收集错误”显示错误“Closed Connection”。 图1 错误显示 问题原因 UGO数据库采集源库DDL信息时设定采集时间60s,如果数据库对象过大或因数
功能约束与限制 功能 使用限制 对象采集范围 只采集用户业务相关的数据库对象,系统对象不采集,具体参见《 使用指导书》的常见问题:源数据库忽略迁移的schema有哪些? 对源库的影响 UGO会占用一些数据库会话连接,在进行对象采集时会占用源库资源,为避免UGO运行时对源库的正常业务产生影响,建
GaussDB中没有Schema名称的对象语句验证失败,该如何设置搜索路径? 在GaussDB目标库中执行以下示例后,显示表“aa”不存在。 create schema sch1; create table sch1.aa(col int); select * from aa; 实际显示的错误消息为:-ERROR:表“aa”不存在。
操作场景 数据采集日志,记录该项目发生的事件及其发生时间。 操作步骤 登录UGO控制台。 单击左侧导航栏“结构迁移 > 数据库评估”。 在评估项目任务列表中,选择待分析的项目,单击“操作 > 查看日志”。实时显示采集日志列表。 在详情中查看触发事件的具体信息,包括具体Schema名称、日志采集数量、日志采集状态等信息。
程序只会采集用户选择范围内的数据库对象,即勾选的Schema下的对象。 所有采集的数据存储在租户区的源数据库中,数据库密码会加密存储,相关数据只有用户在UGO界面可见。 当用户删除评估任务时,用户数据将被删除。 仅当Oracle为源数据库时,支持动态SQL相关评估,以及对象级权限采集。 选
依据所选的数据库类型,下拉选择对应的模板。 具体模板信息可在新增规则模板中设置。 描述 针对业务数据库对象的审核任务 可添加对审核任务的描述,最多100个字符。非必填。 单击“确定”。数据库审核任务列表生成对应记录。 图2 审核任务列表 其中“状态”显示当前数据库的审核状态,审核状态有以下几种:
操作流程 本实践的主要任务流如图1所示。一次完整的数据库对象迁移,包括数据库评估与对象迁移2个部分,各部分的流程如图2和图3所示。 图1 主要操作流程 图2 评估流程 图3 迁移流程 父主题: Oracle结构迁移到GaussDB
推荐索引”。显示该任务基本信息与推荐索引详情。 图1 索引推荐详情 单击对象名称前的选中对象,右侧列表展示对应的推荐索引信息,包含:“推荐索引列”、“创建语句”、“存在类型”。 单击对象名称后的“查看SQL语句”,展示涉及此对象的SQL语句列表。 图2 相关SQL语句列表 父主题: 语句审核
“项目状态”为“进行中 待确认目标数据库”。 被冻结的账号,不能使用该功能。 Microsoft SQL Server为源库不支持该功能。 操作场景 将对当前评估任务进行重新评估,包括动态SQL评估、工作量评估、对象转换统计、不兼容语法的TOP、系统对象。 操作步骤 登录UGO控制台。 单击左侧导航栏“结构迁移
语法转换失败,需要进行手工修改,可参考校正转换失败对象。 校正转换失败对象 单击“下一步”,进入对象校正页面。对象校验页面显示待验证的Schema、对象名称、对象类型等信息。 图5 对象校正 可对选中的具体对象单击“跳过迁移”,忽略不想验证迁移的对象。 批量语句更新:批量语句更新支持类似问题的批量搜索和修改。如何批量语句更新,可参考批量语句更新。
UGO不采集以下表名称: 系统生成的表,比如:SYS_EXPORT_SCHEMA_%,不采集。 SYS_PLSQL 开头的系统对象不采集。 以 BIN$ 开头被删除对象不采集。 嵌套表不采集。 DBA_DATAPUMP_JOBS 视图或 USER_DATAPUMP_JOBS 视图中记录的由数据泵作业自动生成的表不采集。
操作建议 DDL对象数量检查 检查该用户是否至少有一个Schema对象能访问并且存在DDL需要评估。 用户至少需要能够访问一个模式对象,否则无法创建评估任务。注意:PostgreSQL的系统对象不在对象数量的统计范围之内。 评估项目创建项目的预检查阶段不会检查源数据库的权限,只检查源数据库中至少需要一个对象需要评估。
发器函数的定义,再通过pg_get_triggerdef获取CREATE TRIGGER语句,然后拼接成完整的触发器定义语句。 由于PostgreSQL数据库中并未公开获取所有对象类型定义DDL的方法,因此部分对象的DDL将采用查询元数据拼接的方式获取。这可能导致采集的DDL信息
基于大量实际用户业务场景的迁移实践,积累了丰富的具体场景的迁移改造经验,结合代码量、转化率、不兼容特性改造难度等,综合输出迁移工作量评估。 数据库结构迁移 最大化的实现源库对象SQL到目标库的语义等价转换,并将转换后的SQL应用到目标库,对于语法不兼容无法转换的对象标记为失败,并给出失