本页介绍了如何配置 Oracle 源数据库,以便使用 Database Migration Service 进行一次性迁移。您必须先向用于连接到源 Oracle 数据库并访问架构和代码对象的用户账号授予适当的权限,然后才能使用 Database Migration Service 从源 Oracle 数据库中拉取数据。
默认情况下,Database Migration Service 会尝试通过
DBA_VIEWS 访问所有对象定义。通过 SELECT ANY DICTIONARY 权限授予对 DBA_VIEWS 的访问权限。
如果迁移用户账号无法访问 DBA 视图,Database Migration Service 会回退到
ALL_VIEWS。这种方法可让您最灵活地定义最符合您要求的安全模型。
如需了解确切的配置步骤,请参阅相应源数据库的部分:
配置 Amazon RDS for Oracle 数据库
如需为一次性迁移配置 Amazon RDS 源数据库,请向 Database Migration Service 将使用的用户账号授予相应权限
对于每个命令,将 USER_NAME 替换为您用于迁移的用户账号的名称。运行这些命令将授予从 V$DATABASE 读取数据的权限(验证时需要)。
GRANT CONNECT TO USER_NAME; GRANT CREATE SESSION TO USER_NAME; GRANT SELECT ANY TABLE TO USER_NAME; GRANT SELECT ANY DICTIONARY TO USER_NAME; exec rdsadmin.rdsadmin_util.grant_sys_object('V_$DATABASE','USER_NAME','SELECT');
配置 Oracle 数据库
如需配置 Oracle 源数据库以进行一次性迁移,请向 Database Migration Service 将使用的用户账号授予适当的权限
对于每个命令,将 USER_NAME 替换为您用于迁移的用户账号的名称。运行这些命令将授予从 V$DATABASE 读取数据的权限(验证时需要)。
GRANT CONNECT TO USER_NAME; GRANT CREATE SESSION TO USER_NAME; GRANT SELECT ANY TABLE TO USER_NAME; GRANT SELECT ANY DICTIONARY TO USER_NAME; GRANT SELECT ON SYS.V_$DATABASE TO USER_NAME;
配置 Oracle 可插拔数据库 (PDB)
Database Migration Service 支持 Oracle 多租户架构,其中单个 容器数据库 (CDB) 包含一个或多个可插入数据库 (PDB)。每个可插拔数据库都是一个独立的数据库,具有唯一的 ID 和名称,并且可以单独进行管理。
如需配置 Oracle 可插拔数据库,以便将其与 Database Migration Service 搭配使用,请执行以下步骤:
- 创建
普通用户。
普通用户在
CDB$ROOT容器和可插拔数据库中具有相同的身份。普通用户可以连接到根并在其中执行操作,还可以连接到具有相应权限的任何可插拔数据库并在其中执行操作。普通用户名必须以C##或c##开头。 - 向将用于连接到数据库的普通用户授予适当的权限。在
CDB$ROOT容器和可插拔数据库级别,需要不同的权限。对于每个命令,将
USER_NAME替换为您用于迁移的用户账号的名称。运行这些命令会授予从V$DATABASE读取数据的权限,这是验证所必需的。- 连接到
CDB$ROOT容器并运行以下命令:GRANT CREATE SESSION TO USER_NAME; GRANT SET CONTAINER TO USER_NAME; GRANT SELECT ON SYS.V_$DATABASE TO USER_NAME; GRANT EXECUTE_CATALOG_ROLE TO USER_NAME;
- 连接到可插拔数据库并运行以下命令:
GRANT CREATE SESSION TO USER_NAME; GRANT SET CONTAINER TO USER_NAME; GRANT SELECT ANY TABLE TO USER_NAME; GRANT SELECT ANY DICTIONARY TO USER_NAME; GRANT SELECT ON SYS.V_$DATABASE TO USER_NAME;
- 连接到