Docs 菜单
Docs 主页
/ /

配置 Oracle 迁移先决条件

当您从Oracle源数据库迁移数据时, Relational Migrator会自动检查数据库是否存在所需的配置更改,并生成SQL脚本来实现这些更改。让数据库管理员 (数据库管理员 (DBA))查看脚本并在数据库服务器上运行命令。本页提供有关所需配置步骤的更多详细信息。

有关支持的Oracle版本的详细信息,请参阅支持的数据库和版本。

  • 如果您要从 Oracle 12c 实例迁移,则必须以 SYSDBA 角色运行命令。

  • Oracle 12c 引入了可插入数据库(PDB) 的概念。某些命令可以在 PDB 上运行,而启用 ARCHIVELOG 等命令必须在容器/主数据库(CDB) 上运行。有关每种架构的详细信息,请参阅 容器数据库和可插入数据库概述。

  • 某些命令会根据数据库是单租户还是多租户而有所不同。在多租户数据库中,权限必须包含后缀 CONTAINER=ALL。要检查数据库是否为多租户数据库,运行以下SQL查询:

    SELECT cdb AS is_multitenant FROM v$database;

要为快照作业配置Oracle实例,请执行以下操作:

1

以下代码为 Relational Migrator 创建一个新的 Oracle 服务帐户,以连接到 Oracle 实例。 或者,您可以使用现有的 Oracle 服务帐户,通过适当的权限连接到 Relational Migrator。

提示

要从多租户容器数据库迁移数据,请创建表空间和普通用户。

  1. 创建服务帐户:

    CREATE USER <user> IDENTIFIED BY "<password>";
  2. 确认该服务帐户拥有迁移作业中的表。

    所需的权限取决于服务帐户是否拥有迁移作业中使用的表。 要检查表所有权,运行以下查询:

    SELECT TABLE_NAME, OWNER
    FROM ALL_TABLES
    WHERE TABLE_NAME ='<table_name>'
    ORDER BY OWNER, TABLE_NAME;
  3. 向服务帐户授予权限。

    重要

    如果您以普通用户身份迁移多租户容器数据库,请在授予权限时附加 CONTAINER=ALL。 示例:

    GRANT CREATE SESSION TO <user> CONTAINER=ALL;

    如果服务帐户表所有者:

    GRANT CREATE SESSION TO <user>;
    GRANT SELECT ON V_$DATABASE TO <user>;

    如果服务帐户不是表所有者:

    GRANT CREATE SESSION TO <user>;
    GRANT SELECT_CATALOG_ROLE TO <user>;
    GRANT SELECT ANY TABLE TO <user>;
    GRANT SELECT ON V_$DATABASE TO <user>;
    GRANT FLASHBACK ANY TABLE TO <user>;

后退

Oracle

在此页面上