华为云用户手册

  • 解决办法 登录到源数据库中,执行以下SQL语句查询,当前用户是否为默认角色。 select * from dba_role_privs where grantee='user_name'; 若查询结果的dba的default_role是no, 就是非默认DBA角色。 user_name为连接源端数据库的用户。 执行以下SQL语句,使其变为默认角色。 ALTER USER user_name DEFAULT ROLE dba; 修改完成后在预评估界面重新开始预检查。
  • VPCEP资源配额 在创建“对象迁移”任务中,使用数据库实例连接的方式进行测试连接和创建迁移任务的时候,UGO会使用 VPC终端节点 (VPC Endpoint)服务进行网络打通。 对于VPC终端节点(VPC Endpoint)服务,一个用户在单个区域中创建终端节点服务的数量默认限制为20个,一个用户在单个区域中购买终端节点的数量默认限制为50个。如果受当前资源配额限制,无法满足业务使用需求,您可以申请扩大配额。
  • Oracle为源库 Oracle源库对象的DDL信息如无特殊说明,都是通过DBMS_METADATA.get_ddl系统包函数获取的。 对象的基本信息从系统视图中获取,有DBA视图与ALL视图两种采集模式,以下以ALL视图采集模式进行说明: INDEX:采集索引的时候,先从ALL_INDEXES视图里面查出所有的约束信息,然后把由主键或者唯一键约束自动创建的索引过滤掉(如果先创建了索引,然后创建约束,并且约束名和索引名相同,这种情况下索引也会被认为是由约束创建的,不会被采集)。
  • PostgreSQL为源库 以下是UGO对各个对象使用的采集方法: SCHEMA:使用 "CREATE SCHEMA " + schema名; 的拼接方式。 TABLE:通过查询pg_catalog.pg_attribute、pg_catalog.pg_class、pg_catalog.pg_namespace、pg_inherits系统视图,获取表名、字段名、字段类型、以及表分区信息,拼接成CREATE TABLE语句。生成列、表约束、外键约束等信息未考虑。 INDEX:通过查询pg_indexes视图的indexdef字段获取CREATE INDEX语句。 VIEW:通过查询pg_views视图的definition字段获取视图的子查询,然后拼接成 CREATE VIEW语句。 FUNCTION/PROCEDURE:通过pg_get_functiondef方法来获取CREATE FUNCTION 和 CREATE PROCEDURE语句。 请注意pg_get_functiondef方法无法处理聚合函数,因此自定义聚合函数当前无法采集。 TRIGGER:通过pg_get_functiondef方法获取触发器函数的定义,再通过pg_get_triggerdef获取CREATE TRIGGER语句,然后拼接成完整的触发器定义语句。 由于PostgreSQL数据库中并未公开获取所有对象类型定义DDL的方法,因此部分对象的DDL将采用查询元数据拼接的方式获取。这可能导致采集的DDL信息和原始DDL不一致,甚至缺少信息的情况。 如果采集的DDL无法满足您的使用要求,您可以使用pg_dump或者第三方数据库客户端工具获取对象DDL,然后通过SQL语句转换进行SQL转换。
  • 解决方法 方法一:对指定数据库生效 以root用户连接数据库。 执行以下命令,切换enable_set_variables参数。 alter database databasename set b_format_behavior_compat_options = 'enable_set_variables'; 方法二:对指定的实例生效 以root用户连接数据库实例。 切换到数据库实例用户。 su - omm "omm" 为安装数据库实例用户,请以实际数据库实例用户为准。 执行以下命令,设置数据库参数。 gs_guc reload -Z datanode -N all -I all -c "b_format_behavior_compat_options='enable_set_variables'";
  • 解决方法 使用oracle用户登录源库。 执行以下命令,查看目前数据库的最大连接数。 show parameter processes; 执行以下命令,创建spfile。 create spfile from pfile; 执行以下命令,重启oracle。 shutdown immediate; startup 执行以下命令,修改源库连接数大小。 alter system set processes = 2000 scope = spfile; 执行以下命令,重启oracle并查看当前数据库最大连接数是否修改成功。 shutdown immediate; startup show parameter processes; 登录UGO控制台,“恢复”项目。
  • 自建 GaussDB 内核版本号与UGO界面显示GaussDB版本号对应关系 登录自建 GaussDB数据库 ,执行以下命令,查询版本号。 select version (); 查询出的版本号,与UGO界面上显示的GaussDB版本号对应关系如表1所示。 表1 版本号对应关系 GaussDB内核版本号 UGO显示GaussDB版本号 V500R002C10 GaussDB 2.7 企业版 503.0.x GaussDB 3.1 企业版 503.1.x GaussDB 3.2 企业版 503.2.x GaussDB 3.3企业版 505.0 GaussDB 8.0 企业版 505.1 GaussDB 8.100 企业版 505.2 GaussDB 8.200 企业版 父主题: 产品咨询
  • Oracle为源 以具有创建数据库权限的用户登录GaussDB数据库。 执行以下命令,创建兼容Oracle模式GaussDB数据库。 主备版: create database databasename dbcompatibility = 'A'; 分布式: create database databasename dbcompatibility = 'ORA'; 执行以下命令,查看是否创建成功。 select * from pg_database where datname = 'databasename'; 主备版:若datcompatibility兼容性一列为A,则Oracle兼容数据库创建成功。 分布式:若datcompatibility兼容性一列为ORA,则Oracle兼容数据库创建成功。
  • MySQL为源 以具有创建数据库权限的用户登录GaussDB数据库。 执行以下命令,创建兼容MySQL模式GaussDB数据库。 主备版B兼容: create database databasename dbcompatibility = 'B'; 主备版M兼容: create database databasename dbcompatibility = 'M'; 分布式: create database databasename dbcompatibility = 'MySQL'; 执行以下命令,查看是否创建成功。 select * from pg_database where datname = 'databasename'; 主备版B兼容:若datcompatibility兼容性一列为B,则MySQL兼容数据库创建成功。 主备版M兼容:若datcompatibility兼容性一列为M,则M兼容数据库创建成功。 分布式:若datcompatibility兼容性一列为MySQL,则MySQL兼容数据库创建成功。
  • PostgreSQL为源 以具有创建数据库权限的用户登录GaussDB数据库。 执行以下命令,创建兼容PostgreSQL模式GaussDB数据库。 主备版: create database databasename dbcompatibility = 'A'; 分布式: create database databasename dbcompatibility = 'ORA'; 执行以下命令,查看是否创建成功。 select * from pg_database where datname = 'databasename'; 主备版:若datcompatibility兼容性一列为A,则数据库创建成功。 分布式:若datcompatibility兼容性一列为ORA,则数据库创建成功。
  • SQL Server为源 以具有创建数据库权限的用户登录GaussDB数据库。 执行以下命令,创建兼容SQL Server模式GaussDB数据库。 主备版: create database databasename dbcompatibility = 'A' ; 分布式: create database databasename dbcompatibility = 'ORA'; 执行以下命令,查看是否创建成功。 select * from pg_database where datname = 'databasename'; 主备版:若datcompatibility兼容性一列为A,则数据库创建成功。 分布式:若datcompatibility兼容性一列为ORA,则数据库创建成功。
  • 对象验证失败的原因有哪些? 可能的原因如下: 目标库验证失败 —建表语句如果指定tablespace,请检查目标库是否存在该tablespace,如果不存在请在目标库创建该tablespace。 —创建视图、函数等失败请检查是否依赖目标库table,如果依赖table请先确保table创建成功。 —是否选择了正确的转换配置进行转换,部分转换会将源库语法进行保留,目标库不兼容语法则会迁移失败,应根据需求选择合理的转换配置。 父主题: 迁移项目
  • 原生兼容、转换兼容、部分兼容和不兼容分别是什么意思? 原生兼容、转换兼容、部分兼容和不兼容分别是什么意思? 原生兼容:指与目标数据库语法完全兼容,无需转换。 转换兼容:指经UGO转换,语法的特性/功能与源数据库一致。 部分兼容:指经UGO转换,语法的部分特性/功能与源数据库仍有差异,存在风险,可在启动语法转换前通过“转换配置”来选择适合客户业务情况的转换方案。 不兼容:指UGO不支持转换,目标库不兼容该语法。 其中原生兼容、转换兼容和部分兼容统称为UGO支持转换项。 父主题: 评估项目
  • GaussDB中没有Schema名称的对象语句验证失败,该如何设置搜索路径? 在GaussDB目标库中执行以下示例后,显示表“aa”不存在。 create schema sch1; create table sch1.aa(col int); select * from aa; 实际显示的错误消息为:-ERROR:表“aa”不存在。 LINE 1: select * from aa; ^ SQL state: 42P01 Character: 15 这是由于搜索路径中不存在sch1。 您可以通过执行以下语句在搜索路径中添加sch1。 set search_path = "$user",public,sch1; 然后重新执行select语句。 select * from aa; 此时执行没有任何错误。 要知道当前的search_path,请执行语句。 show search_path; 父主题: 评估项目
  • 对象采集失败的原因有哪些? 可能的原因如下: 网络到源数据库已关闭 —此时需要恢复UGO与源数据库之间的网络连接,并重新创建评估工程。 目标库验证失败 —建表语句如果指定namespace,请检查目标库是否存在该namespace,如果不存在请在目标库创建该namespace。 —创建视图、函数等失败请检查是否依赖目标库table,如果依赖table请先确保table创建成功。 父主题: 评估项目
  • 如何解决收集失败并提示“SNAPSHOT TOO OLD”的问题? 如果收集失败或提示错误“ORA-01555: snapshot too old”,需要检查源Oracle数据库的UNDO参数。执行以下命令: show parameter undo; 样本输出: NAME TYPE VALUE undo_management string AUTO undo_retention integer 28800 联系数据库管理员,提高UNDO_RETENTION参数的配置。 ALTER SYSTEM SET UNDO_RETENTION =N; 将N替换为一个合适的值。 父主题: 产品咨询
  • 如何解决Oracle系统参数配置太低导致采集失败或速度慢的问题? 如果Oracle SGA系统参数配置低导致收集失败或缓慢,执行以下命令: show parameter SGA; 样本输出 : NAME TYPE VALUE ---------------------------- ----------- ------- sga_max_size big integer 796M sga_target big integer 0 联系数据库管理员,提高SGA参数的配置。 ALTER SYSTEM SET sga_max_size=5G scope=spfile; ALTER SYSTEM SET sga_target=5G scope=spfile; 上述参数值仅为参考,若SGA的值配置过大,会导致源库资源使用过高,请咨询数据库管理员后,将其替换为合适的值 。 参数详细说明,可参见Oracle官网文档。 父主题: 产品咨询
  • 迁移到目标库后,生成的dsc_ora_ext这个Schema的作用是什么? dsc_ora_ext是UGO为了让目标库实现Oracle源库中某些特定的功能而编写的自定义Schema。 若源库为MySQL,则自定义Schema名称为dsc_mys_ext。 例如:针对Oracle的某些系统函数,UGO自定义实现相同功能的目标库函数,并在迁移时将Oracle的系统函数调用转换成UGO自定义的函数调用。 父主题: 产品咨询
  • Oracle为源 不采集的Schema列表: 'APEX_050000'、'AUDSYS'、'ADAMS'、'ANONYMOUS'、 'AURORA$ORB$UNAUTHENTICATED'、 'AWR_STAGE'、 'APEX_030200'、'APEX_040200'、 'APEX_PUBLIC_USER'、'APPQOSSYS'、'BLAKE'、'CLARK'、' CS MIG'、 'CTXSYS'、'DBSNMP'、'DIP'、'DMSYS'、 'DSSYS'、'DEMO'、'DVSYS'、'DVF'、 'DBSFWUSER'、'EXFSYS'、'FLOWS_FILES'、 'GGSYS'、'GSMADMIN_INTERNAL'、'GSMCATUSER'、'GSMUSER'、 'JONES'、'LBACSYS'、'MDDATA'、'MDSYS'、'MGMT_VIEW'、 'OLAPSYS'、'ORACLE_OCM'、'ORDDATA'、'ORDPLUGINS'、 'ORDSYS'、'OUTLN'、'OWBSYS'、'OWBSYS_AUDIT'、'OJVMSYS'、 'PE RFS TAT'、'REMOTE_SCHEDULER_AGENT'、 'SI_INFORMTN_SCHEMA'、'SPATIAL_CSW_ADMIN_USR'、 'SPATIAL_WFS_ADMIN_USR'、'SYS'、'SYSMAN'、'SPATIAL_CSW_ADMIN_USR'、'SYSBACKUP'、 'SYSKM'、'SYSDG'、'SYSRAC'、'SYS$UMF'、'SYSTEM'、 'TRA CES VR'、'T SMS YS'、'WMSYS'、'XDB'、'XS$NULL'、'GSMROOTUSER'。
  • Microsoft SQL Server为源 'GUEST'、'INFORMATION_SCHEMA'、'SYS'、'DB_OWNER'、'DB_ACCESSADMIN'、'DB_SECURITYADMIN'、'DB_DDLADMIN'、'DB_BACKUPOPERATOR'、'DB_DATAREADER'、'DB_DATAWRITER'、'DB_DENYDATAREADER'、'DB_DENYDATAWRITER'。
  • 迁移风险(10大SQL风险语句)和风险SQL摘要有什么关系? 迁移风险和风险SQL摘要之间没有任何关系。 迁移风险(10大SQL风险语句):指过去7天内占用源数据库CPU和内存较高,且执行时间较长的前10条SQL语句。 风险SQL摘要:从目标数据库的角度,概述迁移风险。对于目标数据库不直接支持的某些功能,应用程序需要特别关注该风险。 风险分为不同的类别,如功能风险,性能风险等。 功能风险:例如,目标数据库不直接支持的数据类型(如取值范围)。具体可以从data_type_mismatch,table_def_mismatch,sequence_limitation方面概述。 性能风险:影响库性能的风险。例如,GaussDB不支持分区间隔,具体可以从分布和分区方面概述。 父主题: 评估项目
  • 引擎类型说明 DRS各引擎类型对应取值可参考引擎类型说明。 表1 引擎类型说明 引擎类型(engine_type) 说明 对应源数据库取值(db_type) 对应目标数据库取值(db_type) mysql MySQL到MySQL迁移、MySQL到MySQL同步场景使用。 mysql mysql mongodb MongoDB到DDS迁移场景使用。 mongodb mongodb redis-to-gaussredis Redis迁移到GeminiDB Redis,实时迁移场景使用。 redis gaussredis rediscluster-to-gaussredis Redis集群迁移到GeminiDB Redis,实时迁移场景使用。 rediscluster gaussredis cloudDataGuard-mysql MySQL到MySQL灾备场景使用。 mysql mysql gaussdbv5 GaussDB分布式到GaussDB分布式版同步场景使用。 gaussdbv5 gaussdbv5 mysql-to-kafka MySQL到Kafka同步场景使用。 mysql kafka taurus-to-kafka GaussDB(for MySQL)到Kafka同步场景使用。 taurus kafka gaussdbv5ha-to-kafka GaussDB主备版到Kafka同步场景使用。 gaussdbv5ha kafka postgresql PostgreSQL到PostgreSQL同步场景使用。 postgresql postgresql oracle-to-gaussdbv5 Oracle到GaussDB分布式版同步场景使用。 oracle gaussdbv5 父主题: 附录
  • 请求示例 查询任务详情请求示例: https://{endpoint}/v3/054ba152d480d55b2f5dc0069e7ddef0/jobs/batch-detail { "jobs" : [ "24834eb6-be30-464e-a299-f7aa730jb101", "140b5236-88ad-43c8-811c-1268453jb101" ], "page_req" : { "cur_page" : 1, "per_page" : 10 } }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 指定类型为application/json。 缺省值:application/json X-Auth-Token 是 String 从 IAM 服务获取的用户Token。 X-Language 否 String 请求语言类型。 缺省值:en-us 取值: en-us zh-cn 表3 请求Body参数 参数 是否必选 参数类型 描述 jobs 是 Array of strings 批量查询任务详情。 page_req 否 Object 分页信息。 详情请参见表4。 表4 page_req字段数据结构说明 参数 是否必选 参数类型 描述 cur_page 否 Integer 当前页, 不能超过传入jobID数量除每页任务数量的最大页。 最小值:1 缺省值:1 per_page 否 Integer 每页item数量,填0获取全部item。 最小值:0 最大值:100 缺省值:5
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 results Array of objects 任务状态信息。 详情请参见表6。 count Integer 返回任务数量。 表6 results字段数据结构说明 参数 参数类型 描述 id String 任务ID。 status String 任务状态。 CREATING:创建中 CREATE_FAILED:创建失败 CONFIGURATION:配置中 STARTJOBING:启动中 WAITING_FOR_START:等待启动中 START_JOB_FAILED:启动失败 PAUSING:已暂停 FULL_TRANSFER_STARTED:全量开始,灾备场景下为初始化 FULL_TRANSFER_FAILED:全量失败,灾备场景下为初始化失败 FULL_TRANSFER_COMPLETE:全量完成,灾备场景下为初始化完成 INCRE_TRANSFER_STARTED:增量开始,灾备场景下为灾备中 INCRE_TRANSFER_FAILED:增量失败,灾备场景下为灾备异常 RELEASE_RESOURCE_STARTED:结束任务中 RELEASE_RESOURCE_FAILED:结束任务失败 RELEASE_RESOURCE_COMPLETE:已结束 REBUILD_NODE_STARTED:故障恢复中 REBUILD_NODE_FAILED:故障恢复失败 CHANGE_JOB_STARTED:任务变更中 CHANGE_JOB_FAILED:任务变更失败 DELETED:已删除 CHILD_TRANSFER_STARTING:再编辑子任务启动中 CHILD_TRANSFER_STARTED:再编辑子任务迁移中 CHILD_TRANSFER_COMPLETE:再编辑子任务迁移完成 CHILD_TRANSFER_FAILED:再编辑子任务迁移失败 RELEASE_CHILD_TRANSFER_STARTED:再编辑子任务结束中 RELEASE_CHILD_TRANSFER_COMPLETE:再编辑子任务已结束 NODE_UPGRADE_START:升级开始 NODE_UPGRADE_COMPLETE:升级完成 NODE_UPGRADE_FAILED:升级失败 枚举值: CREATING CREATE_FAILED CONFIGURATION STARTJOBING WAITING_FOR_START START_JOB_FAILED PAUSING FULL_TRANSFER_STARTED FULL_TRANSFER_FAILED FULL_TRANSFER_COMPLETE INCRE_TRANSFER_STARTED INCRE_TRANSFER_FAILED RELEASE_RESOURCE_STARTED RELEASE_RESOURCE_FAILED RELEASE_RESOURCE_COMPLETE REBUILD_NODE_STARTED REBUILD_NODE_FAILED CHANGE_JOB_STARTED CHANGE_JOB_FAILED DELETED CHILD_TRANSFER_STARTING CHILD_TRANSFER_STARTED CHILD_TRANSFER_COMPLETE CHILD_TRANSFER_FAILED RELEASE_CHILD_TRANSFER_STARTED RELEASE_CHILD_TRANSFER_COMPLETE NODE_UPGRADE_START NODE_UPGRADE_COMPLETE NODE_UPGRADE_FAILED error_code String 错误码。 error_message String 错误信息。
  • 请求示例 批量查询任务状态示例: https://{endpoint}/v3/054ba152d480d55b2f5dc0069e7ddef0/jobs/batch-status { "jobs" : [ "9a470239-2308-4bb5-a6bc-1040402fjb21", "dc67695a-ee3e-49b8-a022-a099bd81jb21" ], "page_req" : { "cur_page" : 1, "per_page" : 10 } }
  • 响应示例 状态码: 200 OK { "results" : [ { "id" : "9a470239-2308-4bb5-a6bc-1040402fjb21", "status" : "INCRE_TRANSFER_STARTED" }, { "id" : "dc67695a-ee3e-49b8-a022-a099bd81jb21", "status" : "INCRE_TRANSFER_FAILED" } ], "count" : 2 }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 指定类型为application/json。 缺省值:application/json X-Auth-Token 是 String 从IAM服务获取的用户Token。 X-Language 否 String 请求语言类型。 缺省值:en-us 取值: en-us zh-cn 表3 请求Body参数 参数 是否必选 参数类型 描述 jobs 是 Array of strings 批量查询任务详情。 page_req 否 Object 分页信息。 详情请参见表4。 表4 page_req字段数据结构说明 参数 是否必选 参数类型 描述 cur_page 否 Integer 当前页, 不能超过传入jobID数量除每页任务数量的最大页。 最小值:1 缺省值:1 per_page 否 Integer 每页item数量,填0获取全部item。 最小值:0 最大值:100 缺省值:5
  • 通过API获取任务ID 任务ID还可通过调用批量创建任务API创建任务后获取。 创建任务成功后,响应示例如下,其中的“id”即为任务ID。 { "results" : [ { "id" : "e11eaf8f-71ef-4fad-8890-aed7572ajb11", "name" : "DRS-9228", "status" : "CREATING", "create_time" : "1599188556112" } ], "count" : 1 }
  • 终端节点 终端节点(Endpoint)即调用API的请求地址,不同服务不同区域的终端节点不同,您可以从地区和终端节点中查询服务的终端节点。 数据复制服务 API当前支持的Region如表1和表2所示,请您根据业务需要选择对应区域的终端节点。 表1 数据复制服务v5 API当前支持的Region 区 域名 称 区域 终端节点(Endpoint) 协议类型 华南-深圳 cn-south-2 drs.cn-south-2.myhuaweicloud.com HTTPS 华南-广州-友好用户环境 cn-south-4 drs.cn-south-4.myhuaweicloud.com HTTPS 表2 数据复制服务v3 API当前支持的Region 区域名称 区域 终端节点(Endpoint) 协议类型 华北-北京一 cn-north-1 drs.cn-north-1.myhuaweicloud.com HTTPS 华北-北京二 cn-north-2 drs.cn-north-2.myhuaweicloud.com HTTPS 华北-北京四 cn-north-4 drs.cn-north-4.myhuaweicloud.com HTTPS 华北-乌兰察布一 cn-north-9 drs.cn-north-9.myhuaweicloud.com HTTPS 华东-上海一 cn-east-3 drs.cn-east-3.myhuaweicloud.com HTTPS 华东-上海二 cn-east-2 drs.cn-east-2.myhuaweicloud.com HTTPS 华南-广州 cn-south-1 drs.cn-south-1.myhuaweicloud.com HTTPS 华南-深圳 cn-south-2 drs.cn-south-2.myhuaweicloud.com HTTPS 西南-贵阳一 cn-southwest-2 drs.cn-southwest-2.myhuaweicloud.com HTTPS 拉美-圣地亚哥 la-south-2 drs.la-south-2.myhuaweicloud.com HTTPS 拉美-圣保罗一 sa-brazil-1 drs.sa-brazil-1.myhuaweicloud.com HTTPS 非洲-约翰内斯堡 af-south-1 drs.af-south-1.myhuaweicloud.com HTTPS 中国-香港 ap-southeast-1 drs.ap-southeast-1.myhuaweicloud.com HTTPS 亚太-新加坡 ap-southeast-3 drs.ap-southeast-3.myhuaweicloud.com HTTPS 亚太-曼谷 ap-southeast-2 drs.ap-southeast-2.myhuaweicloud.com HTTPS 亚太-雅加达 ap-southeast-4 drs.ap-southeast-4.myhuaweicloud.com HTTPS 土耳其-伊斯坦布尔 tr-west-1 drs.tr-west-1.myhuaweicloud.com HTTPS 父主题: 使用前必读
共100000条