云服务器内容精选

  • 使用示例 新建脚本文件。 新建一个test_jaydebeapi.py文件,写入代码如下: #!/usr/bin/env python3.x # -*- coding: UTF-8 -*- encoding = "utf8" import jaydebeapi def test_jaydebeapi(): #需要配置的参数 url = 'jdbc:opengauss://***.***.***.***:20000/test' user = '***' password = '******' driver = 'com.huawei.opengauss.jdbc.Driver' jarFile = './opengaussjdbc.jar' conn = jaydebeapi.connect(driver, url, [user, password], jarFile) cur = conn.cursor() #创建表students sql = 'create table students (id int, name varchar(20))' cur.execute(sql) #往students表中插入三组数据 sql = "insert into students values(1,'xiaoming'),(2,'xiaohong'),(3,'xiaolan')" cur.execute(sql) #查询students表中的所有数据 sql = 'select * from students' cur.execute(sql) ans = cur.fetchall() print(ans) #更新students表中的数据 sql = 'update students set name = \'xiaolv\' where id = 1' cur.execute(sql) #再次查询students表中的所有数据 sql = 'select * from students' cur.execute(sql) ans = cur.fetchall() print(ans) #删除表students sql = 'drop table students' cur.execute(sql) cur.close() conn.close() test_jaydebeapi() 配置代码中的参数: #连接url,设置数据库服务器IP、端口、数据库名 url = 'jdbc:opengauss://***.***.***.***:20000/test' #设置用户名 user = '***' #设置密码 password = '******' #JDBC驱动类路径 driver = 'com.huawei.opengauss.jdbc.Driver' #JDBC驱动jar包路径(默认放在与test_jaydebeapi.py文件同目录下) jarFile = './opengaussjdbc.jar' 执行程序。 使用以下命令执行test_jaydebeapi.py文件: python ./test_jaydebeapi.py 预期结果。 成功连接 GaussDB数据库 ,并返回两次查询结果,如下所示: 图1 返回两次查询结果
  • 环境配置 配置 GaussDB 开发环境。 准备好基本的 GaussDB 开发环境,获取数据库连接参数,例如: gsql -h ***.***.***.*** -p 20000 -U *** -W ****** -d test 参数说明: -h:GaussDB服务器IP。 -p:GaussDB连接端口。 -U:连接用户名。 -W:用户密码。 -d:连接的DATABASE名。 安装JayDeBeApi驱动。 在计算机上安装Java JDK 8版本以及Python3版本,可以通过如下命令确认版本: java -version python --version pip --version 如果服务器能连接到Python源(Python的软件包索引PyPI),可以通过pip命令安装JayDeBeApi: pip install jaydebeapi 如果不能,可以通过下载离线安装包然后进行本地安装的方式安装JayDeBeApi。 获取GaussDB驱动程序安装包。 根据不同版本的实例,下载不同版本的发布包,如表1所示。 表1 驱动包下载列表 版本 下载地址 3.x 驱动包 驱动包校验包 2.x 驱动包 驱动包校验包 为了防止软件包在传递过程或存储期间被恶意篡改,下载软件包时需下载对应的校验包对软件包进行校验,校验方法如下: 上传软件包和软件包校验包到虚拟机(Linux操作系统)的同一目录下。 执行如下命令,校验软件包完整性。 cat GaussDB_driver.zip.sha256 | sha256sum --check 如果回显OK,则校验通过。 GaussDB_driver.zip: OK
  • 数据库对象 表16 schema对象 序号 Oracle数据库 GaussDB数据库 差异 1 分析视图 不支持 - 2 属性维度 不支持 - 3 集群 支持 - 4 约束 支持 - 5 数据库链接 支持 - 6 数据库触发器 支持 - 7 尺寸 支持 - 8 外部过程库 不支持 - 9 分层结构 不支持 - 10 索引组织表 不支持 - 11 索引 支持 - 12 索引类型 不支持 - 13 java类 不支持 - 14 java资源 不支持 - 15 java源码 不支持 - 16 join groups 不支持 - 17 物化视图 支持 - 18 物化视图日志 不支持 - 19 挖掘模型 不支持 - 20 对象表 不支持 - 21 对象类型 不支持 - 22 对象视图 不支持 - 23 operators 支持 - 24 包 支持 - 25 序列 支持 - 26 存储函数 支持 - 27 存储过程 支持 - 28 同义词 支持,有差异 Oracle数据库的数据库对象在同一namespace内不能重名;GaussDB内同一namespace内同义词可与表、视图、函数、package重名,重名时,优先访问本名对象,未寻找到本名对象时才会寻找同义词指向的对象。 29 表 支持 - 30 视图 支持 - 31 zone map 不支持 - 表17 nonschema对象 序号 Oracle数据库 GaussDB数据库 1 上下文 不支持 2 目录 支持 3 版本 不支持 4 闪回存档 不支持 5 锁定配置文件 不支持 6 配置文件 不支持 7 还原点 支持 8 角色 支持 9 回滚段 不支持 10 表空间 支持 11 表空间集 不支持 12 统一审计策略 支持 13 用户 支持
  • 数据类型 表1 数值类型 序号 Oracle数据类型 GaussDB数据库是否支持 差异 1 NUMBER [ ( p [ , s ] ) ] 支持,有差异 精度和实现存在差异。 2 FLOAT [ ( p ) ] 支持 - 3 LONG 不支持 - 4 BINARY_FLOAT 不支持 - 5 BINARY_DOUBLE 支持 - 表2 日期时间类型 序号 Oracle数据类型 GaussDB数据库是否支持 差异 1 DATE 支持,有差异 精度有差异。 2 TIMESTAMP [ ( fractional_seconds_precision ) ] 支持 - 3 TIMESTAMP [ ( fractional_seconds_precision ) ] WITH TIME ZONE 支持,有差异 GaussDB的timestamptz等价于Oracle的timestampwithloacltimezone,缺少Oracle对应的timestamptz类型。 时区更新:部分国家或地区因为政治、经济、战争等因素经常会更新时区信息, 数据库系统也因此常常需要同步修改时区文件以确保时间内容的正确性。 GaussDB时区类型目前只涉及 timestamp with timezone, 当新的时区文件生效时,不会对已有的老数据进行变更,新数据会随时区文件信息进行同步调整。在这点上和O的同类型数据能力有差异。 4 TIMESTAMP [ ( fractional_seconds_precision ) ] WITH LOCAL TIME ZONE 不支持 - 5 INTERVAL YEAR [ ( year_precision ) ] TO MONTH 支持 - 6 INTERVAL DAY [ ( day_precision ) ] TO SECOND [ ( fractional_seconds_precision ) ] 支持 - 表3 字符类型 序号 Oracle数据类型 GaussDB数据库是否支持 差异 1 VARCHAR2 ( size [ BYTE | CHAR ] ) 支持,有差异 size单位为字节,最大10MB。 2 NVARCHAR2 ( size ) 支持,有差异 VARCHAR2(n)类型的别名。 3 CHAR [ ( size [ BYTE | CHAR ] ) ] 支持,有差异 size单位为字节,最大10MB。 4 NCHAR [ ( size ) ] 支持,有差异 size单位为字节,最大10MB。 5 CLOB 支持,有差异 不支持定位器概念。 6 NCLOB 不支持 - 表4 二进制类型 序号 Oracle数据类型 GaussDB数据库是否支持 差异 1 RAW ( size ) 支持,有差异 size是指字节长度建议值,不会用于校验输入raw类型的字节长度。 2 LONG RAW 不支持 - 3 BLOB 支持,有差异 - 4 BFILE 不支持 - 表5 ROWID类型 序号 Oracle数据类型 GaussDB数据库是否支持 差异 1 ROWID 不支持 - 2 UROWID 不支持 - 表6 用户自定义类型 序号 Oracle数据类型 GaussDB数据库是否支持 差异 1 对象类型 不支持 - 2 REF数据类型 不支持 - 3 可变数组 支持 - 4 嵌套表 支持 - 表7 伪类型 序号 Oracle数据类型 GaussDB数据库是否支持 差异 1 anytype 不支持 - 2 anydata 不支持 - 3 anydataset 不支持 - 表8 xml类型 序号 Oracle数据类型 GaussDB数据库是否支持 差异 1 XMLType 支持,有差异 不支持部分操作。 2 URIType 不支持 - 表9 空间类型 序号 Oracle数据类型 GaussDB数据库是否支持 差异 1 SDO_GEOMETRY 不支持 - 2 SDO_TOPO_GEOMETRY 不支持 - 3 SDO_GEORASTER 不支持 - 表10 锁模式 级别 Oracle锁模式 GaussDB锁模式 备注锁模式 - - NULL GaussDB的NULL表示未被赋予锁,与Oracle的0级锁对应。 0 none INVALID GaussDB的INVALID表示被赋予了非法锁。仅在运行过程中出现了GaussDB无法识别的锁时会被赋予INVALID锁。 1 null AccessShare - 2 RS RowShare - 3 RX RowExclusive - 4 S ShareUpdateExclusive - 5 SRX Share - 6 \ ShareRowExclusive - 7 X Exclusive - 8 \ AccessExclusive -
  • 示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 //以下代码将获取数据库连接操作封装为一个接口,可通过给定用户名和密码来连接数据库。 public static Connection getConnect(String username, String passwd) { //驱动类。 String driver = "org.postgresql.Driver"; //数据库连接描述符。 String sourceURL = "jdbc:postgresql://$ip:$port/postgres"; Connection conn = null; try { //加载驱动。 Class.forName(driver); } catch( Exception e ) { e.printStackTrace(); return null; } try { //创建连接。 conn = DriverManager.getConnection(sourceURL, username, passwd); System.out.println("Connection succeed!"); } catch(Exception e) { e.printStackTrace(); return null; } return conn; }
  • trigger 表34 trigger类型 序号 Oracle数据库 GaussDB数据库 差异 1 DML TRIGGER 支持,有差异 不支持Compound DML Triggers。 2 SYSTEM TRIGGER 不支持 - 表35 create trigger 语法类型 Oracle数据库 GaussDB数据库 差异 create语法 CREATE [ OR REPLACE ] [ EDITIONABLE | NONEDITIONABLE ] TRIGGER plsql_trigger_source 支持,有差异 不支持OR REPLACE 、EDITIONABLE | NONEDITIONABLE、plsql_trigger_source部分支持。 plsql_trigger_source ::= [schema.] trigger_name [ sharing_clause ] [ default_collation_clause ] { simple_dml_trigger | instead_of_dml_trigger | compound_dml_trigger | system_trigger } 支持,有差异 不支持schema、 sharing_clause、default_collation_clause。 simple_dml_trigger ::= { BEFORE | AFTER } dml_event_clause [ referencing_clause ] [ FOR EACH ROW ] [ trigger_edition_clause ] [ trigger_ordering_clause ] [ ENABLE | DISABLE ] [ WHEN ( condition ) ] trigger_body 支持,有差异 不支持referencing_clause、referencing_clause(用from referencing_table代替)、trigger_edition_clause、trigger_ordering_clause、 ENABLE | DISABLE;部分支持trigger_body。 dml_event_clause ::= { DELETE | INSERT | UPDATE [ OF column [, column ]... ] } [ OR { DELETE | INSERT | UPDATE [ OF column [, column]... ] }... ON [ schema.] { table | view } 不支持 - trigger_body ::= { plsql_block | CALL routine_clause } 支持,有差异 不支持plsql_block,仅支持EXECUTE PROCEDURE function_name ( arguments );方式执行func,并且func需要用户定义,必须声明为不带参数并返回类型为触发器,在触发器触发时执行。 instead_of_dml_trigger ::= INSTEAD OF { DELETE | INSERT | UPDATE } [ OR { DELETE | INSERT | UPDATE } ]... ON [ NESTED TABLE nested_table_column OF ] [ schema. ] noneditioning_view [ referencing_clause ] [ FOR EACH ROW ] [ trigger_edition_clause ] [ trigger_ordering_clause ] [ ENABLE | DISABLE ] trigger_body 支持,有差异 不支持NESTED TABLE nested_table_column OF、referencing_clause、trigger_edition_clause、trigger_ordering_clause、ENABLE | DISABLE。 compound_dml_trigger ::= CREATE trigger FOR dml_event_clause ON view COMPOUND TRIGGER INSTEAD OF EACH ROW IS BEGIN statement; END INSTEAD OF EACH ROW; 不支持 - system_trigger ::= { BEFORE | AFTER | INSTEAD OF } { ddl_event [OR ddl_event]... | database_event [OR database_event ]... } ON { [schema.] SCHEMA | [ PLUGGABLE ] DATABASE } [ trigger_ordering_clause ] [ ENABLE | DISABLE ] trigger_body 不支持 - 表36 alter trigger 序号 Oracle数据库 GaussDB数据库 差异 1 ALTER TRIGGER [ schema. ] trigger_name { trigger_compile_clause | { ENABLE | DISABLE } | RENAME TO new_name | { EDITIONABLE | NONEDITIONABLE } } ; 支持,有差异 不支持schema、trigger_compile_clause、{ ENABLE | DISABLE }、{ EDITIONABLE | NONEDITIONABLE }。 表37 drop trigger 序号 Oracle数据库 GaussDB数据库 差异 1 DROP TRIGGER [ schema. ] trigger ; 支持,有差异 不支持schema。 Oracle数据库名为*_TRIGGERS的视图统计了trigger的相关信息,视图具体差异参考系统视图章节。 表38 Nested, Package, and Standalone Subprograms 兼容性 序号 Oracle数据库 GaussDB数据库 差异 1 nested subprogram(子块) 支持,有差异 不支持重载,不支持定义为自治事务,不支持SETOF的使用,仅限一个限定符引用嵌套子程序或嵌套子程序的变量。 2 package subprogram 支持 - 3 standalone subprogram(包含Function & Procedure) 支持 - 4 匿名块 支持 - 表39 RETURN语句支持情况 序号 Oracle数据库 GaussDB数据库 差异 1 Function 支持 - 2 Procedure 支持 - 3 匿名块 支持 - 表40 Function相关参数 序号 Oracle数据库 GaussDB数据库 差异 1 DETERMINISTIC 支持,有差异 GaussDB中为IMMUTABLE 2 PARALLEL_ENABLE 不支持 - 3 PIPELINED 不支持 - 4 RESULT_CACHE 不支持 - 表41 参数形式支持 序号 Oracle数据库 GaussDB数据库 差异 1 IN 支持 - 2 OUT 支持 - 3 IN OUT 支持 - 表42 CREATE语句 序号 Oracle数据库 GaussDB数据库 差异 1 CREATE FUNCTION 支持 - 2 CREATE LIBRARY 不支持 - 3 CREATE PACKAGE 支持 - 4 CREATE PACKAGE BODY 支持 - 5 CREATE PROCEDURE 支持 - 6 CREATE TRIGGER 支持 - 7 CREATE TYPE 支持,有差异 支持类型不同。 8 CREATE TYPE BODY 不支持 - 表43 ALTER语句 序号 Oracle数据库 GaussDB数据库 差异 1 ALTER FUNCTION 支持 - 2 ALTER LIBRARY 不支持 - 3 ALTER PACKAGE 支持 - 4 ALTER PROCEDURE 支持 - 5 ALTER TRIGGER 支持 - 6 ALTER TYPE 支持 - 表44 DROP语句 序号 Oracle数据库 GaussDB数据库 差异 1 DROP FUNCTION 支持 - 2 DROP LIBRARY 不支持 - 3 DROP PACKAGE 支持 - 4 DROP PROCEDURE 支持 - 5 DROP TRIGGER 支持 - 6 DROP TYPE 支持 - 7 DROP TYPE BODY 不支持 - 表45 Function、Procedure、匿名块相关关键字 序号 Oracle数据库 GaussDB数据库 差异 1 AC CES SIBLE BY 不支持 - 2 AGGREGATE 支持 - 3 DETERMINISTIC 支持,有差异 - 4 PIPE ROW 不支持 - 5 PIPELINED 不支持 - 6 SQL_MACRO 不支持 - 7 RESTRICT_REFERENCES 不支持 - 8 INLINE 支持,有差异 - 表46 异常处理相关关键字 序号 Oracle数据库 GaussDB数据库 差异 1 EXCEPTION_INIT 支持,有差异 GaussDB不支持与系统错误码进行绑定 2 Exception 支持 - 3 Exception Handler 支持 - 4 SQLCODE 支持 - 5 SQLERRM 支持 - 表47 其他PL/SQL关键字 序号 Oracle数据库 GaussDB数据库 差异 1 COVERAGE 不支持 - 2 COLLATION 支持 - 3 DEPRECATE 不支持 - 4 FORALL 支持 - 5 NOCOPY 不支持 - 6 RETURNING INTO 支持,有差异 列存表不支持 7 SERIALLY_REUSABLE 不支持 - 8 SHARING 不支持 - 9 UDF 支持,有差异 java UDF只支持分布式 10 BULK COLLECT 支持 -
  • 静态SQL 表24 静态查询 SQL语句 序号 Oracle数据库 GaussDB数据库 差异 1 SELECT 支持,有差异 不同事务中的共享锁在如下场景中不会互相阻塞: SELECT FOR SHARE - SELECT FOR SHARE; SELECT FOR SHARE - SELECT FOR KEY SHARE; SELECT FOR KEY SHARE - SELECT FOR KEY SHARE; SELECT FOR KEY SHARE - SELECT FOR NO KEY UPDATE; 上述场景中,由于锁与锁之间未阻塞,对在其他事务中存在非阻塞锁的数据指定SKIP LOCKED时,锁不会被跳过。 表25 静态DML SQL语句 序号 Oracle数据库 GaussDB数据库 差异 1 INSERT 支持 - 2 UPDATE 支持 - 3 DELETE 支持 - 4 MERGE 支持 - 5 LOCK TABLE 支持 - 表26 静态TCL SQL语句 序号 Oracle数据库 GaussDB数据库 差异 1 COMMIT 支持 - 2 ROLLBACK 支持 - 3 SAVEPOINT 支持 - 4 SET TRANSACTION 支持,有差异 - 表27 伪列 序号 Oracle数据库 GaussDB数据库 差异 1 CURRVAL and NEXTVAL 支持 - 2 LEVEL 支持 - 3 OBJECT_VALUE 不支持 - 4 ROWID 不支持 - 5 ROWNUM 支持,有差异 不推荐ROWNUM条件用于JOIN ON子句,GaussDB中ROWNUM条件用于JOIN ON子句时在LEFT JOIN、RIGHT JOIN、FULL JOIN场景下和MERGE INTO场景下与其他数据库行为不一致,直接进行业务迁移存在风险。 表28 隐式游标属性 序号 Oracle数据库 GaussDB数据库 差异 1 SQL%FOUND 支持 - 2 SQL%NOTFOUND 支持 - 3 SQL%ROWCOUNT 支持 - 4 SQL%ISOPEN 支持 - 5 SQL%BULK_ROWCOUNT 不支持 - 6 SQL%BULK_EXCEPTIONS 不支持 - 表29 显式游标语法及关键字 序号 Oracle数据库 GaussDB数据库 差异 1 CURSOR cursor_name [ parameter_list ] RETURN return_type; 支持 - 2 CURSOR cursor_name [ parameter_list ] [ RETURN return_type ] IS select_statement; 支持 - 3 OPEN 支持 - 4 CLOSE 支持 - 5 FETCH 支持 - 6 CURRENT OF CURSOR 支持 - 表30 显式游标属性 序号 Oracle数据库 GaussDB数据库 差异 1 SQL%FOUND 支持 - 2 SQL%NOTFOUND 支持 - 3 SQL%ROWCOUNT 支持 - 4 SQL%ISOPEN 支持 - 表31 游标循环 序号 Oracle数据库 GaussDB数据库 差异 1 FOR LOOP 支持 - 表32 自治事务支持场景 序号 Oracle数据库 GaussDB数据库 差异 1 存储过程 支持 - 2 匿名块 支持 - 3 函数 支持 - 4 Package 支持 -
  • 控制语句 表8 条件语句 序号 Oracle数据库 GaussDB数据库 差异 1 IF THEN 支持 - 2 IF THEN ELSE 支持 - 3 IF THEN ELSIF 支持 - 4 simple CASE: CASE selector WHEN selector_value_1 THEN statements_1 WHEN selector_value_2 THEN statements_2 ... WHEN selector_value_n THEN statements_n [ ELSE else_statements END CASE;] 支持 - 5 searched CASE: CASE WHEN condition_1 THEN statements_1 WHEN condition_2 THEN statements_2 ... WHEN condition_n THEN statements_n [ ELSE else_statements END CASE;] 支持 - 表9 LOOP循环语句 序号 Oracle数据库 GaussDB数据库 差异 1 [ label ] LOOP statements END LOOP [ label ]; 支持 - 2 EXIT; 支持 - 3 EXIT WHEN; 支持 - 4 CONTINUE; 支持 - 5 CONTINUE WHEN; 支持 - 表10 FOR循环语句 序号 Oracle数据库 GaussDB数据库 差异 1 [ label ] FOR index IN [ REVERSE ] lower_bound..upper_bound LOOP statements END LOOP [ label ]; 支持 - 2 EXIT WHEN; 支持 - 3 CONTINUE WHEN; 支持 - 表11 WHILE LOOP循环语句 序号 Oracle数据库 GaussDB数据库 差异 1 [ label ] WHILE condition LOOP statements END LOOP [ label ]; 支持 - 表12 GOTO语句 序号 Oracle数据库 GaussDB数据库 差异 1 GOTO 支持 - 表13 NULL语句 序号 Oracle数据库 GaussDB数据库 差异 1 NULL 支持 -
  • 资源规划 表1 资源规划 类别 子类 规划 备注 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 - 数据库用户 test_info 可以自定义用户,但是迁移时最小权限为:CREATE SESSION,SELECT ANY TRANSACTION, SELECT ANY TABLE, SELECT ANY DICTIONARY, EXECUTE_CATA LOG _ROLE GaussDB 实例名 gauss-b193-cent 自定义,易理解可识别。 数据库版本 GaussDB 2.7企业版 - 实例类型 主备版 本示例中为主备版实例。 部署形态 独立部署 - 事务一致性 强一致性 - 存储类型 超高IO - 可用区 可用区2 本示例中选择了单可用区,实际建议选择多可用区,以提高实例的高可用性。 性能规格 通用增强Ⅱ型 8 vCPUs | 64GB 本示例中为测试实例,选择较小的测试规格,实际选择规格以业务诉求为准。 存储空间 480G 本示例中为测试实例,选择较小的存储空间,实际选择存储空间大小以业务诉求为准。 加密磁盘 不加密 本示例中选择磁盘不加密,选择加密后会提高数据安全性,但对数据库读写性能有少量影响,实际请按照业务使用策略进行选择。 DAS登录数据库 数据库引擎 GaussDB - 数据库来源 GaussDB 勾选本示例中创建的GaussDB实例 数据库名称 postgres - 登录用户名 root - 密码 - 本示例中创建的GaussDB实例root用户密码 UGO迁移任务 数据库评估任务名 Oracle-Centralized 自定义。 对象迁移任务名 Oracle-GaussDB-Centralized 自定义。 源数据库引擎 Oracle 11g - 目标数据库引擎 GaussDB 2.8主备版 - 网络类型 公网网络 本示例中采用公网网络。 DRS迁移任务 迁移任务名 DRS-test-info 自定义。 目标库名称 test_database_info 自定义,易理解可识别,但是需要确保兼容模式为Oracle模式。 源数据库引擎 Oracle - 目标数据库引擎 GaussDB主备版 - 网络类型 公网网络 本示例中采用公网网络。 父主题: 本地Oracle同步到GaussDB主备版
  • UGO权限准备 创建UGO评估项目,需要对源库进行预检查,Oracle为源库时预检查项如表1所示: 表1 预检查项 预检查权限 检查含义 是否必须通过 DBMS_METADATA权限 检查用户是否具有从Oracle数据库字典中检索元数据的权限,该权限用来获取Schema对象的DDL。 必须 动态视图权限 检查用户对各种动态性能视图的访问权限,该权限用来获取数据库基础信息。 必须 schema对象数量检查 检查该用户是否有Schema对象需要评估。至少需要一个对象需要评估。 必须 DBA权限 检查用户是否有DBA(数据库管理员)的权限,才能进行后续操作。 非必须 若为“警告”,评估项目仍能创建成功,但可能由于权限不足导致部分对象无法采集。 目标数据库连接用户需要具有创建/删除/更改schema、表、程序、索引、用户、函数、视图等其他迁移对象的权限,具体可参考权限检查报告。 用户需拥有创建UGO评估项目的对应权限,可参见权限管理进行设置。