云服务器内容精选

  • 查看SQL运行信息 获取当前用户有权限查看的所有的SQL信息(若有管理员权限或预置角色权限可以显示和所有用户查询相关的信息): 1 SELECT usename,state,query FROM PG_STAT_ACTIVITY WHERE DATNAME='数据库名称'; 如果state为active,则query列表示当前执行的SQL语句,其他情况则表示为上一个查询语句;如果state字段显示为idle,则表明此连接处于空闲,等待用户输入命令。回显如下: 1 2 3 4 5 6 usename | state | query ---------+--------+--------------------------------------------------------------------------- leo | idle | select * from joe.mytable; dbadmin | active | SELECT usename,state,query FROM PG_STAT_ACTIVITY WHERE DATNAME='gaussdb'; joe | idle | GRANT SELECT ON TABLE mytable to leo; (3 rows)
  • 查看连接信息 设置参数track_activities为on: SET track_activities = on; 当此参数为on时,数据库系统才会收集当前活动查询的运行信息。 通过以下SQL就能确认当前的连接用户、连接地址、连接应用、状态、是否等待锁、排队状态以及线程id。 1 SELECT usename,client_addr,application_name,state,waiting,enqueue,pid FROM PG_STAT_ACTIVITY WHERE DATNAME='数据库名称'; 回显如下: 1 2 3 4 5 6 usename | client_addr | application_name | state | waiting | enqueue | pid ---------+---------------+------------------+--------+---------+---------+----------------- leo | 192.168.0.133 | gsql | idle | f | | 139666091022080 dbadmin | 192.168.0.133 | gsql | active | f | | 139666212681472 joe | 192.168.0.133 | | idle | f | | 139665671489280 (3 rows) 中止某个会话连接(仅系统管理员有权限): 1 SELECT PG_TERMINATE_BACKEND(pid);
  • 操作步骤 当迁移验证进度为100%后,可查看到PROCEDURE的迁移情况。 返回“对象校正”页签,选择PROCEDURE,查看各具体Schema的迁移情况。这里以PROC_REQ197为例。 单击迁移成功对象后的“查看详情”,可查看具体信息与SQL代码。 通过DAS连接 GaussDB 的Auto-ugo-gaussdbv5-tar-1实例中的“ugo ”目标库。 DAS连接实例的方法请参考新增数据库登录。 可查看到名为“ugo_ete”的Schema。 单击进入“对象列表”,可查看到名为“fe0725_v5r2_670”的存储过程。
  • 权限准备 创建评估项目,需要对源库进行预检查,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评估项目的对应权限。具体权限,可参见权限管理进行设置。
  • 金融/互联网行业迁移 适合银行核心交易类业务、互联网类交易业务实现从传统商业数据库到云数据库的迁移。 优势: 高语法转换率: 支持主流商业数据库到通用云数据库的自动化语法转换,通过海量业务场景下亿级别代码样本的训练,使得语法转化率达到业界优秀水准,帮助用户降本提效。 异常定位与改造建议: 对于转换出现错误的对象提供自动定位与异常根因分析,并且通过DBA知识库,对异构数据库无法适配的语法提供手工改造建议。
  • 功能简介 表1 功能简介 功能 功能介绍 文档内容 数据库评估 创建数据库评估是对源数据库进行基本信息、性能数据采集,以及特定对象类型的对象SQL采集,综合兼容性、性能、对象复杂度、使用场景等进行分析,给出源数据库分析报告,从而帮您将源数据库的schema迁移到合适的目标数据库。 数据库评估 数据库对象迁移 根据数据评估的报告内容,推荐目标数据库,创建迁移项目后,帮您转换数据库对象的语法,并通过DDL、DML和PL/SQL等语句将数据库对象从源数据库迁移到目标数据库。 数据库结构迁移 SQL审核 SQL审核功能能够帮助用户在开发阶段发现隐藏在代码中的SQL规范性、设计合理性和性能等问题,内置200+审核规则,涵盖对DML、DDL、PL/SQL等各类对象进行深度审核,且可根据业务需求对规则进行自由组合形成模板,支持GaussDB、MySQL两种数据库,可实现单语句、批量代码文件上传(自动提取SQL)、直连数据库3种审核方式,深度看护代码,避免烂SQL流入生产环境。 SQL审核
  • 统一身份认证 服务 统一身份认证服务(Identity and Access Management,简称 IAM )为UGO提供了权限管理功能。 需要拥有UGO的Administrator权限后,您才能使用UGO。如需开通该权限,请联系拥有Security Administrator权限的用户,或者申请具有UGO Administrator权限的新用户。 统一身份认证服务的更多信息,请参见《统一身份认证服务用户指南》。
  • VPC终端节点 服务 UGO依赖VPC终端节点服务(VPC Endpoint)作为目标库连接代理,用来安全地访问您的目标数据库。 当您使用UGO创建迁移项目时,您除了需要拥有UGO FullAccess权限外,也需要拥有VPC Endpoint Administrator权限或Tenant Administrator权限。UGO会为您的目标库创建VPC终端节点服务,并在您结束迁移删除项目时为您删除对应的VPC终端节点服务。 创建VPC终端节点服务不收取任何费用。UGO会为创建的VPC终端节点服务添加白名单权限控制,确保您目标库的连接安全,您也可以在VPC终端节点服务页面看到目标库相应的终端节点服务。为了保证UGO功能使用正常,请不要在迁移项目未结束时删除目标库对应的VPC终端节点服务。
  • 数据复制服务 数据库和应用迁移 UGO着重于异构数据库结构,如表结构、视图和存储过程等对象的迁移上云,解决数据库语法转换不兼容的问题。 数据复制服务(Data Replication Service)则着重于数据库毫秒级数据同步,支持同构异构数据库之间的数据传输/搬迁,降低数据库之间数据流通的复杂性,减少数据传输成本。 对于迁移方案来说,将存储过程、函数较复杂的异构数据库上云,UGO+DRS会是一个完整的闭环方案,建议同时使用。
  • 支持评估的源数据库类型和版本 表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,目前仅支持白名单用户使用。
  • 支持迁移的链路及目标库版本 表2说明了UGO支持的迁移链路,以及目标数据库的类型和版本。 表2 支持迁移的链路及目标库类型和版本 源数据库引擎 目标数据库类型和版本 Oracle RDS for MySQL 5.7版本 RDS for PostgreSQL 11、12、13、14 GaussDB(for MySQL) 8.0版本 GaussDB主备版 2.7 企业版、3.1 企业版、3.2 企业版 、3.3 企业版、8.0 企业版、8.100 企业版 GaussDB分布式版 2.7 企业版、3.2 企业版 、3.3企业版、8.0 企业版、8.100 企业版 MySQL GaussDB主备版 2.7 企业版、3.1 企业版、3.2 企业版 、8.0 企业版、 8.100 企业版 GaussDB主备版(M兼容) 8.100 企业版 GaussDB分布式版 2.7 企业版、3.2 企业版 、8.0 企业版、 8.100 企业版 PostgreSQL GaussDB主备版 3.1 企业版、3.2 企业版、 8.0 企业版、8.100 企业版 GaussDB分布式版 3.2 企业版、 8.0 企业版、8.100 企业版 GoldenDB GaussDB主备版 8.0 企业版、8.100 企业版 GaussDB分布式版 8.0 企业版、8.100 企业版 Microsoft SQL Server GaussDB主备版 3.1 企业版、3.2 企业版、 8.0 企业版、8.100 企业版 GaussDB分布式版 3.2 企业版、 8.0 企业版、8.100 企业版 GaussDB(for MySQL) 8.0版本 GaussDB 主备版-2.7 企业版包括:GaussDB 主备版-2.1 企业版/2.2 企业版/2.7 企业版。 GaussDB 分布式版-2.7 企业版包括:GaussDB 分布式版-2.1 企业版/2.2 企业版/2.7 企业版。 目标库GaussDB 8.0 企业版、8.100 企业版,目前仅支持白名单用户使用。
  • 数据合规处理说明 UGO在完成其功能的过程中需要接触您的数据,包括数据库连接相关信息和源数据库结构信息,具体包括: 数据库连接相关信息:数据库IP、端口、数据库用户名、密码、SSL认证证书及证书密码等。 源数据库结构信息:UGO仅会访问和获取您的源库结构信息,不会获取源库表数据,这些结构信息会如实地反映到操作界面中。 这些信息是完成业务功能所必须的信息,UGO会对上述信息采取认证鉴权、加密存储、内部数据隔离等安全措施,保障数据安全。另外,请依据您所在组织的数据安全策略,完成迁移后及时删除相关项目,UGO会在您触发项目删除后删除和该项目相关的数据。
  • 约束与限制 UGO在使用上有一些功能约束与限制,具体见表1。 表1 功能约束与限制 功能 使用限制 对象采集范围 只采集用户业务相关的数据库对象,系统对象不采集,具体参见《 使用指导书》的常见问题:源数据库忽略迁移的schema有哪些? 对源库的影响 UGO会占用一些数据库会话连接,在进行对象采集时会占用源库资源,为避免UGO运行时对源库的正常业务产生影响,建议将源库的对象导出到测试库,UGO连接测试库进行采集、评估和转换,如果条件不允许需要在生产库的业务低峰期进行采集。 不支持增量迁移 UGO的转换依赖采集到的数据,采集完成后源库发生的结构变化不会被迁移过去,迁移之后的数据库修改应在源库和目标库两边同步进行,否则会影响变化的业务功能。 迁移后验证 UGO介入的是研发过程,核心目的是降本提效,对象迁移完成后,必须要在迁移后的数据库上做严格的测试,保证迁移后的对象功能和性能满足业务需求,才能做正式的生产割接,否则业务割接会存在很大风险。
  • UGO权限 默认情况下,管理员创建的IAM用户没有任何权限,需要将其加入用户组,并给用户组授予策略或角色,才能使得用户组中的用户获得对应的权限,这一过程称为授权。授权后,用户就可以基于被授予的权限对云服务进行操作。 UGO部署时通过物理区域划分,为项目级服务。授权时,“作用范围”需要选择“区域级项目”,然后在指定区域(如华南-广州)对应的项目(cn-south-1)中设置相关权限,并且该权限仅对此项目生效;如果在“所有项目”中设置权限,则该权限在所有区域项目中都生效。访问UGO时,需要先切换至授权区域。 根据授权精确程度分为角色和策略。 角色:IAM最初提供的一种根据用户的工作职能定义权限的粗粒度授权机制。该机制以服务为粒度,提供有限的服务相关角色用于授权。由于华为云各服务之间存在业务依赖关系,因此给用户授予角色时,可能需要一并授予依赖的其他角色,才能正确完成业务。角色并不能满足用户对精细化授权的要求,无法完全达到企业对权限最小化的安全管控要求。 策略:IAM最新提供的一种细粒度授权的能力,可以精确到具体服务的操作、资源以及请求条件等。基于策略的授权是一种更加灵活的授权方式,能够满足企业对权限最小化的安全管控要求。 如表1和表2所示,包括了UGO的所有系统内置角色和策略。 表1 UGO系统内置角色支持 系统角色 描述 是否支持 Tenant Administrator 租户admin权限,可访问和操作除IAM以外所有云服务下的租户范围可访问资源。 是 Tenant Guest 租户只读权限,拥有除IAM以外租户范围内所有对象的查询类权限。 是 表2 UGO服务系统策略 策略名称 描述 是否支持 UGO FullAccess 数据库和应用迁移服务所有权限 必须支持 UGO ReadOnlyAccess 数据库和应用迁移服务只读权限 必须支持 UGO CommonOperations 数据库和应用迁移服务SQL语句转换权限 可选支持 表3列出来UGO服务常用操作与系统权限的授权关系,您可以参照该表选择合适的系统权限。 表3 常用操作与系统策略的关系 操作 UGO FullAccess UGO ReadOnlyAccess UGO CommonOperations 创建项目 √ x x 查询标签 √ √ x 查询配额 √ √ x 获取项目列表 √ √ x 删除项目 √ x x 启动迁移项目 √ x x 查询项目详情 √ √ x SQL语句转换 √ x √ 表4列出了UGO常用操作以及对应的授权项,您可以参照该表自定义配置权限策略。 表4 常用操作与对应的授权项 权限 授权项 归类 评估项目-获取评估项目列表 ugo:evaluationJob:list ReadOnly 迁移项目-获取迁移项目列表 ugo:migrationJob:list ReadOnly 查询标签 ugo:tag:getTags ReadOnly 添加、修改和删除标签 ugo:tag:operateTags ReadWrite 查询配额 ugo:jobs:getQuotas ReadOnly 公共-查询项目详情 ugo:jobs:getDetails ReadOnly 评估项目-测试源库连通性 ugo:evaluationJob:testConnection ReadWrite 评估项目-测试源库网络稳定性 ugo:evaluationJob:testNetworkConnection ReadWrite 评估项目-预检查 ugo:evaluationJob:preCheck ReadWrite 评估项目-创建评估项目 ugo:evaluationJob:create ReadWrite 评估项目-停止评估 ugo:evaluationJob:stopEvalProject ReadWrite 评估项目-恢复评估 ugo:evaluationJob:resumeEvalProject ReadWrite 评估项目-重新评估 ugo:evaluationJob:reanalyze ReadWrite 评估项目-差异化分析 ugo:evaluationJob:collectDiffAnalysis ReadWrite 评估项目-增量评估 ugo:evaluationJob:startDeltaEvaluation ReadWrite 评估项目-确认目标库类型 ugo:evaluationJob:updateEvalProject ReadWrite 评估项目-重新选择评估对象并评估 ugo:evaluationJob:analyzeType ReadWrite 评估项目-编辑SQL ugo:evaluationJob:saveSQL ReadWrite 评估项目-删除评估项目 ugo:evaluationJob:delete ReadWrite 迁移项目-测试目标库连通性 ugo:migrationJob:testConnection ReadWrite 迁移项目-创建迁移项目 ugo:migrationJob:create ReadWrite 迁移项目-转换计划-跳过转换/撤销跳过 ugo:migrationJob:skipObjects ReadWrite 迁移项目-转换计划-转换配置 ugo:migrationJob:updateConfig ReadWrite 迁移项目-转换计划-应用配置 ugo:migrationJob:updateCategory ReadWrite 迁移项目-转换计划-设置用户密码 ugo:migrationJob:setPassword ReadWrite 迁移项目-转换计划-表空间映射 ugo:migrationJob:updateTableSpaceMapping ReadWrite 迁移项目-语法转换-启动/恢复 ugo:migrationJob:startConvert ReadWrite 迁移项目-语法转换-暂停 ugo:migrationJob:stopConvert ReadWrite 迁移项目-对象校正-更新状态 ugo:migrationJob:updateFailedStatus ReadWrite 迁移项目-对象校正-跳过迁移/撤销跳过 ugo:migrationJob:skipVerification ReadWrite 迁移项目-对象校正-重新转换 ugo:migrationJob:reconvert ReadWrite 迁移项目-对象校正-批量更新-替换 ugo:migrationJob:updateBulk ReadWrite 迁移项目-对象校正-比较/忽略/保存对SQL的修改 ugo:migrationJob:updateSQL ReadWrite 迁移项目-迁移验证-启动 ugo:migrationJob:startVerify ReadWrite 迁移项目-迁移验证-停止 ugo:migrationJob:stopVerify ReadWrite 迁移项目-删除迁移项目 ugo:migrationJob:delete ReadWrite SQL转换 ugo:sqlStatement:convert ReadWrite
  • 前提条件 用户需拥有创建UGO迁移项目的对应权限。具体权限,可参见权限管理进行设置。 创建迁移项目至少需要一个状态显示为“完成 创建迁移项目”的数据库评估项目。 待使用的目标数据库类型及版本信息要与评估项目确认的目标库类型及版本一致。 待连接的目标库正常,无欠费、停机等情况。 确保提供的目标数据库可正常访问,且连接用户需要具有对于Schema、表、程序、索引、用户、函数、视图等迁移对象的创建、删除和更改的权限。具体可查看权限检查报告。