云服务器内容精选

  • 权限准备 创建评估项目,需要对源库进行预检查,Oracle为源库时预检查项如表1所示。 表1 预检查项 预检查权限 检查含义 是否必须通过 DBMS_METADATA权限 检查用户是否具有从Oracle数据库字典中检索元数据的权限,该权限用来获取Schema对象的DDL。 赋予DBA权限即可,赋权语句如下: 创建用户。 CREATE USER user IDENTIFIED BY password; 授予用户登录权限。 GRANT CONNECT TO user; 授予用户DBA权限。 GRANT DBA TO user; 必须 动态视图权限 检查用户对各种动态性能视图的访问权限,该权限用来获取数据库基础信息。 赋予DBA权限即可。 必须 schema对象数量检查 检查该用户是否有Schema对象需要评估。至少需要一个对象需要评估。 必须 DBA权限 检查用户是否有DBA(数据库管理员)的权限,才能进行后续操作。 非必须 若为“警告”,评估项目仍能创建成功,但可能由于权限不足导致部分对象无法采集。 目标数据库连接用户需要具有创建/删除/更改schema、表、程序、索引、用户、函数、视图等其他迁移对象的权限。 具体可查看权限检查报告。 用户需拥有创建UGO评估项目的对应权限。具体权限,可参见权限管理进行设置。
  • 日期时间函数转换说明 在使用UGO进行语法转换时,如果所选目标库为 GaussDB 3.2或3.2以下的版本,GaussDB部分时间函数与事务相关详情可参见表1。这些函数返回的都是事务的开始时间,而在源库中获取的为系统当前时间,在长事务的场景下,源库和目标库GaussDB得到的时间不一致。因此在UGO转换后,如果转换后的语句中存在上述函数,则用户需要自行分析上述函数是否存在长事务中并确认影响,如有影响需手工修改保证最终的准确性。 表1 与事务相关的时间函数说明 序号 函数名称 1 CURRENT_DATE 2 CURRENT_TIME 3 CURRENT_TIME(precision) 4 CURRENT_TIMESTAMP(precision) 5 LOCALTIME 6 LOCALTIMESTAMP 7 LOCALTIME(precision) 8 LOCALTIMESTAMP(precision)
  • PostgreSQL迁移到GaussDB 模式兼容性: PostgreSQL 支持迁移到 GaussDB(O模式); GaussDB(O模式)中将空字符串存储为 NULL,执行SQL语句“ select '' is null;”结果为True,与 Oracle 数据库行为一致; 影响范围: 如果源库是 PostgreSQL,目标库是 GaussDB(O模式),则需要适配改造涉及空字符串或 NULL 语法的 SQL。 影响范围包括 DML、DDL、系统函数,例如 SQL语句“ select '' is null;”,“select regexp_matches('test1', 'test1', '');”。 UGO 评估功能支持评估PostgreSQL到GaussDB 链路中 “IS NULL ”空字符串语法。
  • 操作场景 迁移验证完成,在对象校正页签批量语句更新可对迁移失败的脚本或SQL语法问题快速修改,批量搜索对象支持文本搜索和正则表达式搜索两种方式。 语法转换完成,在对象校正页签批量语句更新可对转换失败的脚本或SQL语法问题快速修改,批量搜索对象支持文本搜索和正则表达式搜索两种方式。 您可以使用批量语句更新功能更改转换失败的脚本或SQL语法,同时可以通过历史记录来查看更改结果或回滚更改到原来内容。 您也可以选择逐个改动,请参考对象校正。 修改后的语句将直接在目标数据库上运行,您需避免使用:导致其他表和其他对象类型丢失的语句,以及影响目标数据库性能的语句,如消耗过多CPU或内存的语句。