更新时间:2024-01-02 GMT+08:00

同步前准备

UGO权限准备

  • 创建UGO评估项目,需要对源库进行预检查,Oracle为源库时预检查项如表1所示:
    表1 预检查项

    预检查权限

    检查含义

    是否必须通过

    DBMS_METADATA权限

    检查用户是否具有从Oracle数据库字典中检索元数据的权限,该权限用来获取Schema对象的DDL。

    必须

    动态视图权限

    检查用户对各种动态性能视图的访问权限,该权限用来获取数据库基础信息。

    必须

    schema对象数量检查

    检查该用户是否有Schema对象需要评估。至少需要一个对象需要评估。

    必须

    DBA权限

    检查用户是否有DBA(数据库管理员)的权限,才能进行后续操作。

    非必须

    若为“警告”,评估项目仍能创建成功,但可能由于权限不足导致部分对象无法采集。

  • 目标数据库连接用户需要具有创建/删除/更改schema、表、程序、索引、用户、函数、视图等其他迁移对象的权限,具体可参考权限检查报告
  • 用户需拥有创建UGO评估项目的对应权限,可参见权限管理进行设置。

更多UGO权限准备说明,可参考这里

DRS权限准备

  • Oracle提供给DRS的用户(用于DRS连接Oracle)的权限,必须满足如下要求才能保证数据同步顺利开展:
    • 全量同步:需要具有CREATE SESSION,SELECT ANY DICTIONARY,针对单表的SELECT权限(GRANT SELECT ON <userName.tbName> to drsUser;)。
    • 全量+增量和增量同步:
      • 12c及以上版本租户模式:

        12c及以上版本CDB数据库同步时,需要具有CREATE SESSION,SELECT ANY DICTIONARY,EXECUTE_CATALOG_ROLE,SELECT ANY TRANSACTION,LOGMINING权限,以及针对单表的SELECT权限(GRANT SELECT ON <userName.tbName> to drsUser;)。

        12c及以上版本PDB数据库同步时,除了需要具有CREATE SESSION,SELECT ANY DICTIONARY,EXECUTE_CATALOG_ROLE,SELECT ANY TRANSACTION,LOGMINING权限,以及针对单表的SELECT权限(GRANT SELECT ON <userName.tbName> to drsUser;),还需要具有CDB的CREATE SESSION,SELECT ANY DICTIONARY,EXECUTE_CATALOG_ROLE,SELECT ANY TRANSACTION,LOGMINING,SET CONTAINER(GRANT SET CONTAINER TO <userName> CONTAINER=ALL;)权限。

      • 12c及以上版本非租户模式:

        需要具有CREATE SESSION,SELECT ANY DICTIONARY,EXECUTE_CATALOG_ROLE,SELECT ANY TRANSACTION,LOGMINING权限,以及针对单表的SELECT权限(GRANT SELECT ON <userName.tbName> to drsUser;)。

      • 11g及以下版本数据库同步时,需要具有CREATE SESSION,SELECT ANY DICTIONARY,EXECUTE_CATALOG_ROLE,SELECT ANY TRANSACTION权限,以及针对单表的SELECT权限(GRANT SELECT ON <userName.tbName> to drsUser;)。
    • 增量同步时,源库Oracle需要开启日志归档模式和最小补充日志,所需同步表必须开启PK/UI或以ALL级别的补充日志,不限制库级或表级补充日志方式,若只开启表级补充日志,重建或者RENAME表后需要重新设置;请确保以上配置在同步过程中始终保持开启状态。
    • 12c及以上版本不支持使用ORACLE_MAINTAINED=Y的用户账号进行增量同步(system/sys除外),因为该属性的账号无日志解析权限。
  • GaussDB提供给DRS的用户(用于DRS连接GaussDB)的权限,必须满足如下要求才能保证数据同步顺利开展:
    • 库级权限:需要使用root或其他有Sysadmin角色的DATABASE用户登录postgres基库,赋予用户DATABASE的CREATE、CONNECT权限。

      授权语句:GRANT CREATE, CONNECT ON DATABASE <database> TO <user>;

    • SCHEMA级权限:需要使用 root、或其他有Sysadmin角色的DATABASE用户、或使用数据库的OWNER用户登录数据库,赋予用户SCHEMA的CREATE、USAGE权限。

      授权语句:GRANT CREATE, USAGE ON SCHEMA <schema> TO <user>;

    • 表级权限:需要使用 root、或其他有Sysadmin角色的DATABASE用户、或使用数据库的OWNER用户登录数据库 ,赋予用户SCHEMA下表的DML相关权限(SELECT权限在处理无主键表时需要)。

      授予SCHEMA下所有表的DML权限:GRANT SELECT, UPDATE, INSERT, DELETE, INDEX, ALTER ON ALL TABLES IN SCHEMA <schema> TO <user>;

      授予SCHEMA下指定表的DML权限:GRANT SELECT, UPDATE, INSERT, DELETE, INDEX, ALTER ON TABLE <schema.table> TO <user>;

更多DRS权限准备说明,可参考这里

网络准备

提前做好网络规划,确保源库Orcale允许UGO、DRS访问。