云服务器内容精选

  • 场景描述 数据库和应用迁移 UGO(Database and Application Migration UGO,以下简称为UGO)支持将本地Oracle数据库的结构迁移至华为云云数据库 GaussDB 实例。通过UGO评估任务与迁移任务,帮助用户提前识别迁移适配点,提升迁移效率,最大化降低用户的数据库迁移成本。 本实践案例主要介绍了通过UGO将本地Oracle-11g数据库结构迁移至华为云云数据库 GaussDB 分布式版 V2.0-2.7 企业版的流程。当前仅支持使用公网网络进行连接。 图1 公网网络+SSL安全连接
  • 资源规划 类别 子类 规划 备注 VPC VPC名称 vpc-src-172 自定义,易理解可识别。 所属Region 测试Region 现网实际选择时建议选择和自己业务区最近的Region,减少网络时延。 可用区 可用区3 - 子网网段 172.16.0.0/16 子网选择时建议预留足够的网络资源。 子网名称 subnet-src-172 自定义,易理解可识别。 本地Oracle数据库 名称 orcl 自定义,易理解可识别。 规格 16vCPUs | 32GB - 数据库版本 11.2.0.1 - 数据库用户 ugo 可以自定义用户,但是迁移时最小权限为:CONNECT、SELECT_CATA LOG _ROLE、ANY DICTIONARY GaussDB 实例名 Auto-ugo-gaussdbv5-tar-1 自定义,易理解可识别。 数据库版本 GaussDB 分布式版 V2.0-2.7企业版 - 实例类型 分布式版,1CN,3DN,3副本 本示例中为分布式实例。 存储类型 超高IO - 可用区 可用区3 本示例中选择了单可用区,实际建议选择多可用区,以提高实例的高可用性。 规格 通用型 2 vCPUs | 16GB 本示例中为测试实例,选择较小的测试规格,实际选择规格以业务诉求为准。 目标库名称 ugo 自定义,易理解可识别,但是需要确保兼容模式为Oracle模式。 UGO迁移任务 数据库评估任务名 Oracle-GaussDB 自定义。 对象迁移 Oracle-GaussDB 自定义。 源数据库引擎 Oracle - 目标数据库引擎 GaussDB 分布式版 V2.0-2.7 企业版 - 网络类型 公网 本示例中采用公网网络。 父主题: Oracle结构迁移到GaussDB
  • 权限准备 创建评估项目,需要对源库进行预检查,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评估项目的对应权限。具体权限,可参见权限管理进行设置。
  • 自建GaussDB内核版本号与UGO界面显示GaussDB版本号对应关系 登录自建 GaussDB数据库 ,执行以下命令,查询版本号。 select version (); 查询出的版本号,与UGO界面上显示的GaussDB版本号对应关系如表1所示。 表1 版本号对应关系 GaussDB内核版本号 UGO显示GaussDB版本号 V500R002C10 GaussDB V2.0-2.7 企业版 503.0.x GaussDB V2.0-3.1 企业版 503.1.x GaussDB V2.0-3.2 企业版 503.2.x GaussDB V2.0-3.3 企业版 505.0 GaussDB V2.0-8.0 企业版 505.1 GaussDB V2.0-8.100 企业版 505.2 GaussDB V2.0-8.200 企业版 506.0 GaussDB V2.0-9.0 企业版 父主题: 产品咨询
  • GaussDB(Oracle兼容模式)下GUC参数设置 当使用Oracle兼容模式,可以设置GUC参数提高GaussDB的兼容性,迁移涉及的GUC参数和影响范围可参见表1。 GaussDB数据库提供了许多运行参数,配置这些参数可以影响数据库系统的行为。在修改这些参数时请确保用户理解了这些参数对数据库的影响,否则可能会导致无法预料的结果。可参考云数据库GaussDB GUC参数使用说明。 表1 GaussDB(Oracle兼容模式)的GUC参数 兼容Oracle行为配置项 兼容性配置项 兼容性配置项名字 支持的数据库 是否建议打开 参数详情参考 behavior_compat_options display_leading_zero 浮点数显示配置项-小数点前0显示 集中式版/分布式版 是 集中式版:参数详情 分布式版:参数详情 end_month_calculate add_months函数计算逻辑配置项 集中式版/分布式版 是 bind_procedure_searchpath 未指定模式名的存储过程中的数据库对象的搜索路径配置项。 集中式版/分布式版 是 correct_to_number 控制to_number()结果兼容性的配置项 集中式版/分布式版 是 unbind_divide_bound 控制对整数除法的结果进行范围校验 集中式版/分布式版 是 convert_string_digit_to_numeric 字符串转换为numeric配置项 集中式版/分布式版 是 return_null_string 控制函数lpad()和rpad()结果为空字符串''的显示配置项。 集中式版/分布式版 是 merge_update_multi 控制在使用MERGE INTO ... WHEN MATCHED THEN UPDATE和INSERT ... ON DUPLICATE KEY UPDATE,当目标表中一条目标数据与多条源数据冲突时UPDATE行为。 集中式版/分布式版 是 plstmt_implicit_savepoint 控制存储过程中更新语句的执行是否拥有独立的子事务。 集中式版/分布式版 是 hide_tailing_zero numeric显示配置项。 集中式版/分布式版 是 rownum_type_compat 控制ROWNUM的类型。 集中式版 是 aformat_null_test 控制rowtype类型判空逻辑。 集中式版/分布式版 是 aformat_regexp_match 控制正则表达式函数的匹配行为。 集中式版/分布式版 是 compat_cursor 控制隐式游标状态兼容行为。 集中式版 是 proc_outparam_override 控制存储过程出参的重载行为。 集中式版/分布式版 是 proc_implicit_for_loop_variable 控制存储过程中FOR_LOOP查询语句行为。 集中式版 是 allow_procedure_compile_check 控制制存储过程中select语句和open cursor语句的编译检查。 集中式版 是 plsql_security_definer 创建存储过程时默认为定义者权限。 集中式版/分布式版 是 plpgsql_dependency 创建函数,存储过程,包支持未定义的对象,可以新建成功。 集中式版 是 plsql_compile_check_options plsql_expression_check 开启plsql_expression_check参数,需要同时开启plpgsql_dependency参数。 503.1集中式版 是 a_format_version 10c 数据库平台兼容性行为配置项 集中式版/分布式版 是 a_format_dev_version s1 数据库平台迭代小版本兼容性行为配置项。 503.0 集中式版/分布式版 是 s2 数据库平台迭代小版本兼容性行为配置项。 503.1 集中式版/分布式版 是 s3 数据库平台迭代小版本兼容性行为配置项。 503.2 集中式版/分布式版 是 s4 数据库平台迭代小版本兼容性行为配置项 505.0 集中式版/分布式版 是 s5 数据库平台迭代小版本兼容性行为配置项。 505.1 集中式版/分布式版 是 s6 数据库平台迭代小版本兼容性行为配置项。 505.2 集中式版/分布式版 是 sql_beta_feature a_style_coerce 影响decode函数 集中式版/分布式版 是 a_format_dev_version参数设置: GaussDB V2.0-3.1 企业版,设置为 s1。 GaussDB V2.0-3.2 企业版,设置为 s2。 GaussDB V2.0-3.3 企业版,设置为 s3。 GaussDB V2.0-8.0 企业版,设置为 s4。 GaussDB V2.0-8.100 企业版,设置为 s5。 GaussDB V2.0-8.200 企业版和 GaussDB V2.0-9.0 企业版,设置为 s6。 版本号对应参考自建GaussDB内核版本号与UGO界面显示GaussDB版本号对应关系。 父主题: GaussDB数据库设置GUC参数对迁移的影响
  • GUC参数检查 GaussDB 提供了许多运行参数,统称为 GUC 参数,配置这些参数可以影响数据库系统的行为。UGO 对于 SQL 语法的转换,是基于与源库兼容性最好的一组 GUC 参数配置进行的,请根据对象迁移预检查中的提示进行 GUC 参数设置,否则可能影响最终对象迁移的成功率和可用性。 目标库为GaussDB V2.0-3.1及以上版本,源库为 Oracle、Microsoft SQL Server、MySQL时,展示此检查项。检查用户是否设置了GUC参数配置,详细检查项参考表1。 针对 GUC 的校验是基于评估选定的目标数据库版本,而不是当前实际连接的目标数据库版本。 GaussDB 集中式版(M兼容)作为目标库时,暂不支持 GUC 参数检查。 GaussDB GUC 参数的设置方法请参考预检查页面中检查项的提示,或参考如何设置GaussDB GUC参数进行操作。 表1 目标库GUC参数检查项 源数据库类型 目标库版本 检查项 MySQL GaussDB集中式版 V2.0-3.1 企业版 - GaussDB集中式版 V2.0-3.2 企业版 b_format_behavior_compat_options GaussDB分布式版 V2.0-3.2 企业版 - GaussDB集中式版 V2.0-8.0 企业版 b_format_version, b_format_dev_version GaussDB分布式版 V2.0-8.0 企业版 b_format_version, b_format_dev_version GaussDB集中式版 V2.0-8.100 企业版 b_format_version, b_format_dev_version GaussDB分布式版 V2.0-8.100 企业版 b_format_version, b_format_dev_version GaussDB集中式版(M兼容) V2.0-8.100 企业版 m_format_behavior_compat_options, m_format_dev_version GaussDB集中式版(M兼容) V2.0-8.200 企业版 m_format_behavior_compat_options, m_format_dev_version GaussDB集中式版(M兼容) V2.0-9.0 企业版 m_format_behavior_compat_options, m_format_dev_version Oracle GaussDB集中式版 V2.0-3.1 企业版 behavior_compat_options, sql_beta_feature, a_format_version, a_format_dev_version GaussDB集中式版 V2.0-3.2 企业版 behavior_compat_options, plsql_compile_check_options, sql_beta_feature, a_format_version, a_format_dev_version GaussDB分布式版 V2.0-3.2 企业版 behavior_compat_options, sql_beta_feature, a_format_version, a_format_dev_version GaussDB集中式版 V2.0-3.3 企业版 behavior_compat_options, plsql_compile_check_options, sql_beta_feature, IntervalStyle, a_format_version, a_format_dev_version GaussDB分布式版 V2.0-3.3 企业版 behavior_compat_options, sql_beta_feature, IntervalStyle, a_format_version, a_format_dev_version GaussDB集中式版 V2.0-8.0 企业版 behavior_compat_options, plsql_compile_check_options, sql_beta_feature, IntervalStyle, a_format_version, a_format_dev_version GaussDB分布式版 V2.0-8.0 企业版 behavior_compat_options, sql_beta_feature, IntervalStyle, a_format_version, a_format_dev_version GaussDB集中式版 V2.0-8.100 企业版 behavior_compat_options, plsql_compile_check_options, sql_beta_feature, IntervalStyle, a_format_version, a_format_dev_version GaussDB分布式版 V2.0-8.100 企业版 behavior_compat_options, sql_beta_feature, IntervalStyle, a_format_version, a_format_dev_version GaussDB集中式版 V2.0-8.200 企业版 behavior_compat_options, plsql_compile_check_options, sql_beta_feature, IntervalStyle, a_format_version, a_format_dev_version, a_format_date_timestamp GaussDB分布式版 V2.0-8.200 企业版 behavior_compat_options, sql_beta_feature, IntervalStyle, a_format_version, a_format_dev_version, a_format_date_timestamp GaussDB集中式版 V2.0-9.0 企业版 behavior_compat_options, plsql_compile_check_options, sql_beta_feature, IntervalStyle, mapping_date_to_datea, a_format_version, a_format_dev_version, a_format_date_timestamp GaussDB分布式版 V2.0-9.0 企业版 behavior_compat_options, sql_beta_feature, IntervalStyle, mapping_date_to_datea, a_format_version, a_format_dev_version, a_format_date_timestamp Microsoft SQL Server GaussDB集中式版 V2.0-3.1 企业版 behavior_compat_options, sql_beta_feature, a_format_version, a_format_dev_version GaussDB集中式版 V2.0-3.2 企业版 behavior_compat_options, plsql_compile_check_options, sql_beta_feature, a_format_version, a_format_dev_version GaussDB分布式版 V2.0-3.2 企业版 behavior_compat_options, sql_beta_feature, a_format_version, a_format_dev_version GaussDB集中式版 V2.0-8.0 企业版 behavior_compat_options, plsql_compile_check_options, sql_beta_feature, a_format_version, a_format_dev_version GaussDB分布式版 V2.0-8.0 企业版 behavior_compat_options, sql_beta_feature, a_format_version, a_format_dev_version GaussDB集中式版 V2.0-8.100 企业版 behavior_compat_options, plsql_compile_check_options, sql_beta_feature, a_format_version, a_format_dev_version GaussDB分布式版 V2.0-8.100 企业版 behavior_compat_options, sql_beta_feature, a_format_version, a_format_dev_version GaussDB集中式版 V2.0-8.200 企业版 behavior_compat_options, plsql_compile_check_options, sql_beta_feature, a_format_version, a_format_dev_version GaussDB分布式版 V2.0-8.200 企业版 behavior_compat_options, sql_beta_feature, a_format_version, a_format_dev_version GaussDB集中式版 V2.0-9.0 企业版 behavior_compat_options, plsql_compile_check_options, sql_beta_feature, a_format_version, a_format_dev_version GaussDB分布式版 V2.0-9.0 企业版 behavior_compat_options, sql_beta_feature, a_format_version, a_format_dev_version GaussDB 集中式版的参数 plsql_compile_check_options,用于校验 FUNCTION、PROCEDURE 和 PACKAGE 中的全量语句。当语句中存在未定义对象时,将打印告警信息进行提示。由于该参数存在误报,因此仅推荐在测试环境使用以提高问题定位效率,在生产中建议关闭此参数。 父主题: 迁移预检查说明
  • 支持迁移的链路及目标库版本 表2说明了UGO支持的迁移链路,以及目标数据库的类型和版本。 表2 支持迁移的链路及目标库类型和版本 源数据库引擎 目标数据库类型和版本 Oracle RDS for MySQL 5.7版本 RDS for PostgreSQL 11、12、13、14 TaurusDB GaussDB集中式版 V2.0(A兼容) 2.7 企业版、3.1 企业版、3.2 企业版 、3.3 企业版、8.0 企业版、8.100 企业版、8.200 企业版、9.0 企业版 GaussDB分布式版 V2.0(ORA兼容) 2.7 企业版、3.2 企业版 、3.3企业版、8.0 企业版、8.100 企业版、8.200 企业版、9.0 企业版 MySQL GaussDB集中式版 V2.0(B兼容) 2.7 企业版、3.1 企业版、3.2 企业版 、8.0 企业版、 8.100 企业版 GaussDB集中式版 V2.0(M兼容) 8.100 企业版、8.200 企业版、9.0 企业版 GaussDB分布式版 V2.0(MYSQL兼容) 2.7 企业版、3.2 企业版 、8.0 企业版、 8.100 企业版 PostgreSQL GaussDB集中式版 V2.0(A兼容) 3.1 企业版、3.2 企业版、 8.0 企业版、8.100 企业版、8.200 企业版、9.0 企业版 GaussDB分布式版 V2.0(ORA兼容) 3.2 企业版、 8.0 企业版、8.100 企业版、8.200 企业版、9.0 企业版 GoldenDB GaussDB集中式版 V2.0(B兼容) 8.0 企业版、8.100 企业版 GaussDB集中式版 V2.0(M兼容) 8.200 企业版、9.0 企业版 GaussDB分布式版 V2.0(MYSQL兼容) 8.0 企业版、8.100 企业版 Microsoft SQL Server GaussDB集中式版 V2.0(A兼容) 3.1 企业版、3.2 企业版、 8.0 企业版、8.100 企业版、8.200 企业版、9.0 企业版 GaussDB分布式版 V2.0(ORA兼容) 3.2 企业版、 8.0 企业版、8.100 企业版、8.200 企业版、9.0 企业版 TaurusDB RDS for PostgreSQL 11、12、13、14、15 目标库 GaussDB V2.0-8.0 企业版、V2.0-8.100 企业版、V2.0-8.200 企业版和 V2.0-9.0 企业版,目前仅支持白名单用户使用。 在 UGO 中选择 GaussDB 作为目标库时,V2.0-2.7 以下的版本界面中不展示,所以无法选择。如果仍在使用 V2.0-2.1 企业版或 V2.0-2.2 企业版的实例,请在界面上选择 V2.0-2.7 企业版进行迁移。如果 GaussDB 实例为 V2.0-2.1 以前的版本,UGO 不支持迁移,请升级实例。
  • 支持评估的源数据库类型和版本 表1说明了UGO支持的源数据库类型及版本。 表1 源数据库类型及版本 源数据库引擎 源数据库版本 Oracle 10g、11g、12c、18c、19c、21c MySQL 5.5、5.6、5.7、8.0 PostgreSQL 10、11、12、13、14、15 GoldenDB - Microsoft SQL Server 2012、2014、2016、2017、2019、2022 源数据库PostgreSQL、GoldenDB、Microsoft SQL Server,目前仅支持白名单用户使用。
  • 规则约束 所有涉及update、delete的规则项,均不支持多表操作审核。 update、delete多表操作仅支持规则项:“不应用单条update、delete语句对多个表实现更新、删除操作”。 对于“在PL/pgSQL中,关键字建议大写,非关键字小写”、“sql语句中,关键字建议大写,非关键字小写”规则项,不要在以对象名作为非保留关键字的语句中使用,存在审核不准确情况,比如:SELECT ID FROM name,name是非保留关键字。 对于规则“对分区表执行交换分区、合并分区、分隔分区、清空分区、删除分区时,必须同步更新全局索引”,在用户修改数据库系统参数enable_gpi_auto_update后,该规则可能失效,请在数据库侧清理session,可登录到数据库中执行: CLEAN CONNECTION TO ALL FORCE FOR DATABASE db_name; “查询系统视图时,如果使用对象名作为筛选条件,对象名应使用小写”支持的系统视图参见表2。 “谨慎删除数据库对象及清理数据”,其中阈值中支持审核SQL语法见表表3 表2 视图审核 视图名 所属schema 表示对象名的列 adm_arguments pg_catalog、sys owner、object_name、package_name、argument_name adm_audit_object pg_catalog、sys username、owner、obj_name、action_name adm_audit_session pg_catalog、sys username、action_name adm_audit_statement pg_catalog、sys username、obj_name、action_name adm_col_comments pg_catalog、sys owner、table_name、column_name、schema adm_col_privs pg_catalog、sys grantor、owner、grantee、table_schema、table_name、column_name、privilege adm_coll_types pg_catalog、sys owner、type_name、elem_type_mod、elem_type_owner、elem_type_name adm_constraints pg_catalog、sys owner、constraint_name、table_name、index_owner、index_name adm_indexes pg_catalog、sys owner、index_name、table_name、table_owner、tablespace_name adm_ind_columns pg_catalog、sys index_owner、index_name、table_name、table_owner、column_name adm_objects pg_catalog、sys owner、object_name、subobject_name adm_procedures pg_catalog、sys owner、object_name、procedure_name、impltypeowner、impltypename adm_role_privs pg_catalog、sys grantee、granted_role adm_tab_col_statistics pg_catalog、sys owner、table_name、column_name、schema adm_roles pg_catalog、sys role adm_source pg_catalog、sys owner、name adm_sys_privs pg_catalog、sys grantee、privilege adm_tab_cols pg_catalog、sys owner、table_name、column_name、data_type_owner、schema、qualified_col_name adm_tab_privs pg_catalog、sys grantee、owner、table_name、grantor、privilege adm_tables pg_catalog、sys owner、table_name、tablespace_name adm_tab_columns pg_catalog、sys owner、table_name、column_name、data_type_owner、schema adm_tab_comments pg_catalog、sys owner、table_name、column_name、schema adm_tab_statistics pg_catalog、sys owner、table_name adm_triggers pg_catalog、sys owner、trigger_name、table_owner、table_name adm_type_attrs pg_catalog、sys type_name、attr_name、attr_type_name、character_set_name adm_types pg_catalog、sys owner、type_name adm_users pg_catalog、sys username、default_tablespace、temporary_tablespace、default_collation adm_views pg_catalog、sys owner、view_name db_all_tables pg_catalog、sys owner、table_name、tablespace_name db_arguments pg_catalog、sys owner、object_name、package_name、argument_name db_col_comments pg_catalog、sys owner、table_name、column_name、schema db_col_privs pg_catalog、sys grantor、owner、grantee、table_schema、table_name、column_name、privilege db_coll_types pg_catalog、sys owner、type_name、elem_type_mod、elem_type_owner、elem_type_name db_constraints pg_catalog、sys owner、constraint_name、table_name、index_owner、index_name db_indexes pg_catalog、sys owner、index_name、table_name、table_owner、tablespace_name db_ind_columns pg_catalog、sys index_owner、index_name、table_name、table_owner、column_name db_objects pg_catalog、sys owner、object_name、subobject_name db_procedures pg_catalog、sys owner、object_name db_tab_col_statistics pg_catalog、sys owner、table_name、column_name、schema db_source pg_catalog、sys owner、name db_tab_columns pg_catalog、sys owner、table_name、column_name、data_type_owner、schema db_tab_comments pg_catalog、sys owner、table_name、schema db_tables pg_catalog、sys owner、table_name、tablespace_name db_triggers pg_catalog、sys trigger_name、table_owner、table_name db_types pg_catalog、sys owner、type_name db_users pg_catalog、sys username db_views pg_catalog、sys owner、view_name dict pg_catalog、sys table_name dictionary pg_catalog、sys table_name my_col_comments pg_catalog、sys owner、table_name、column_name、schema my_col_privs pg_catalog、sys grantor、owner、grantee、table_schema、table_name、column_name、privilege my_coll_types pg_catalog、sys owner、type_name、elem_type_mod、elem_type_owner、elem_type_name my_constraints pg_catalog、sys owner、constraint_name、table_name、index_owner、index_name my_indexes pg_catalog、sys owner、index_name、table_name、table_owner、tablespace_name my_ind_columns pg_catalog、sys index_owner、index_name、table_name、table_owner、column_name my_objects pg_catalog、sys object_name、subobject_name my_procedures pg_catalog、sys owner、object_name、procedure_name、impltypeowner、impltypename my_role_privs pg_catalog、sys grantee、granted_role my_tab_col_statistics pg_catalog、sys table_name、column_name、schema my_source pg_catalog、sys owner、name my_tab_columns pg_catalog、sys owner、table_name、column_name、data_type_owner、schema my_tab_comments pg_catalog、sys owner、table_name、column_name、schema my_tab_statistics pg_catalog、sys table_name my_tables pg_catalog、sys owner、table_name、tablespace_name my_triggers pg_catalog、sys owner、trigger_name、table_owner、table_name my_type_attrs pg_catalog、sys type_name、attr_name、attr_type_name、character_set_name my_types pg_catalog、sys type_name my_views pg_catalog、sys owner、view_name pg_indexes pg_catalog、sys schemaname、tablename、indexname、tablespace pg_roles pg_catalog、sys rolename pg_tables pg_catalog、sys schemaname、tablename、tableowner、tablespace、tablecreator pg_user pg_catalog、sys username、nodegroup pg_views pg_catalog、sys schemaname、viewname、viewowner column_privileges information_schema、sys grantor、grantee、table_catalog、table_schema、table_name、column_name columns information_schema、sys table_catalog、table_schema、table_name、column_name constraint_column_usage information_schema、sys table_catalog、table_schema、table_name、column_name、constraint_catalog、constraint_schema、constraint_name constraint_table_usage information_schema、sys table_catalog、table_schema、table_name、constraint_catalog、constraint_schema、constraint_name enabled_roles information_schema、sys role_name schemata information_schema、sys catalog_name、schema_name、schema_owner、default_character_set_catalog、default_character_set_schema、default_character_set_name table_constraints information_schema、sys constraint_catalog、constraint_schema、constraint_name、table_catalog、table_schema、table_name table_privileges information_schema、sys grantor、grantee、table_catalog、table_schema、table_name tables information_schema、sys table_catalog、table_schema、table_name、self_referencing_column_name、user_defined_type_catalog、user_defined_type_schema、user_defined_type_name triggers information_schema、sys trigger_catalog、trigger_schema、trigger_name、event_object_catalog、event_object_schema、event_object_table、action_reference_old_table、action_reference_new_table usage_privileges information_schema、sys grantor、grantee、object_catalog、object_schema、object_name views information_schema、sys table_catalog、table_schema、table_name 表3 支持审核的SQL语法 DDL类型 SQL语法 DROP DROP TABLE, DROP TABLESPACE, DROP AGGREGATE, DROP AUDIT POLICY, DROP CAST, DROP DATABASE, DROP DATA SOURCE, DROP DIRECTORY, DROP EVENT, DROP FOREIGN TABLE, DROP GLOBAL CONFIGURATION, DROP GROUP, DROP MASKING POLICY, DROP MATERIALIZED VIEW, DROP MODEL, DROP OPERATOR, DROP OWNED, DROP PACKAGE, DROP PACKAGE BODY, DROP PROCEDURE, DROP RESOURCE LABEL, DROP RESOURCE POOL, DROP ROLE, DROP ROW LEVEL SECURITY POLICY, DROP RULE, DROP PUBLICATION, DROP SCHEMA, DROP SEQUENCE, DROP FUNCTION, DROP SERVER, DROP SUBSCRIPTION, DROP SYNONYM, DROP TEXT SEARCH CONFIGURATION, DROP TEXT SEARCH DICTIONARY, DROP TRIGGER, DROP TYPE, DROP USER, DROP USER MAPPING, DROP VIEW, DROP WEAK PASSWORD DICTIONARY ALTER ALTER DROP PARTITION, ALTER TRUNCATE PARTITION, ALTER DROP COLUMN, ALTER DROP CONSTRAINT, ALTER DROP FOREIGN TABLE, ALTER DROP AUDIT POLICY, ALTER DROP MASKING POLICY, ALTER DROP SERVER, ALTER DROP TEXT SEARCH CONFIGURATION, ALTER DROP USER MAPPING, ALTER DROP DATA SOURCE TRUNCATE TRUNCATE
  • 约束限制 规则的嵌套审核仅支持四种语法,详情可参见表1。 推荐索引功能仅支持GaussDB。 With as只支持SELECT语句。 别名不能和实体表重名,且别名之间不能重名。 不支持审核视图中的表审核。 不支持审核数据库系统表及系统视图审核。 不支持审核含有“#”的MySQL语句。 表1 支持的嵌套审核语句 序号 SQL语句 1 select id, (select 子查询) as name from table; 2 select id from table where id in (select 子查询); 3 select * from table1,(select 子查询); 4 with e as (select 子查询) select * from e;
  • 前提条件 用户需拥有创建UGO迁移项目的对应权限。具体权限,可参见权限管理进行设置。 创建迁移项目至少需要一个状态显示为“完成 创建迁移项目”的数据库评估项目。 待使用的目标数据库类型及版本信息要与评估项目确认的目标库类型及版本一致。 待连接的目标库正常,无欠费、停机等情况。 确保提供的目标数据库可正常访问,且连接用户需要具有对于Schema、表、程序、索引、用户、函数、视图等迁移对象的创建、删除和更改的权限。
  • 操作步骤 登录UGO控制台。 单击左侧导航栏的“数据源管理”。 在数据源管理页面,单击右上角的“创建数据源”按钮。 进入创建数据源页面,完成基本信息的填写。 基本信息填写完成后,“开始测试”高亮显示。 图1 创建数据源 表1 创建数据源参数说明 参数名称 示例 说明 名称 app_db_01 在数据源管理列表中显示的名称。 由字母、数字、_、-组成,长度是5-50个字符,不区分大小写且必须以字母开头、数字或字母结束的唯一的项目名称。 数据库类型 GaussDB 下拉选择待创建的数据库类型。当前仅支持GaussDB、MySQL和PostgreSQL。 网络类型 公司网络 公网网络:通过弹性公网IP(Elastic IP,EIP)进行数据库连接。 如果数据库网络有IP白名单限制,请将弹性公网IP添加至数据库网络白名单,确保UGO可以连接。 连接方法 服务名称 仅支持通过服务名称进行连接。 数据库名称 demo_db_01 待进行管理的数据库名称。 请输入由字母、数字、.、_、-、$、#组成,长度是2-128个字符,必须以字母、数字、.、_、-开头且允许使用"包裹的名称。 主机类型 主机 IP 地址 当前仅支持主机IP地址。 主机IP地址 192.168.1.2 填写具体主机IP地址,IP地址格式支持IPv4和IPv6。 说明: 支持IPv6数据库如下:MySQL。 主机端口 4000 待进行管理的数据库端口。 用户名 demo_user_01 待进行管理的数据库用户名。 由字母、数字、“_”、“-”、“$”、“#”组成,长度为2-128个字符,必须以字母、数字、“.”、“_”、“-”开头且允许使用双引号包裹的用户名。 密码 Pass@worD&^ 待进行管理的数据库密码。 密码最多支持50个字符。 单击“开始测试”,测试通过显示“已连接”,右下角“创建”高亮显示。 当前仅测试连通性,若断连或权限不足,会导致“连接数据库失败”,无法创建数据源。 单击创建。显示“项目创建成功”。 单击“确定”,返回数据源管理页面,用户可以看到最新创建的数据源已在列表中。 可通过数据源ID、名称、数据库名称、数据库类型、IP地址及端口信息进行搜索。 图2 数据源管理
  • 约束限制 审核对象仅支持:Table、View、Sequence、Index、Function、Procedure、Trigger、Package。 一次审核Schema的数量不超过10000。 审核数据库过程中,避免对正在审核的数据库对象进行删除等操作,影响审核结果。 如果使用系统模板进行审核时,新版本升级结束后,再次重试或者同数据源审核,会导致审核结果不一致。为避免此现象发生,建议使用自定义模板。
  • 约束限制 规则的嵌套审核仅支持四种语法,详情可参见表1。 别名不能和实体表重名,且别名之间不能重名。 不支持审核视图中的表。 不支持审核数据库系统表及系统视图。 不支持审核含有“#”的MySQL语句。 文件审核中和审核完成后,将无法“重试”该任务。 如果使用系统模板进行审核时,新版本升级结束后,再次重试或者同文件审核,会导致审核结果不一致。为避免此现象发生,建议使用自定义模板。 SQL审核最大可以创建110个审核任务,最多支持10个审核任务并发执行。
  • 操作场景 创建迁移项目创建完成后,启动迁移项目,选择需要迁移对象,根据迁移风险项配置转换方案,启动语法转后,UGO服务会将源库的SQL语法一键转换成目标库语法,转换失败的语法支持手工进行校正,修改完成后,迁移验证阶段,在目标数据库执行,完成源库对象到目标库的迁移,查看迁移进度和详情来确认迁移结果。 数据库迁移验证为五个步骤: 步骤一:选择对象迁移。 步骤二:配置转换方案。 步骤三:启动语法转换。 步骤四:校正转换失败对象。 步骤五:对象迁移验证。