Esta página descreve como configurar a base de dados de origem do Oracle para uma migração única com o serviço de migração de bases de dados. Antes de poder usar o Database Migration Service para extrair dados da sua base de dados Oracle de origem, tem de conceder os privilégios adequados à conta de utilizador que vai ser usada para se ligar à sua base de dados e aceder ao esquema e aos objetos de código.
Por predefinição, o serviço de migração de bases de dados tenta aceder a todas as definições de objetos através do
DBA_VIEWS.
O acesso ao DBA_VIEWS é concedido com o privilégio SELECT ANY DICTIONARY.
Se as vistas da DBA não estiverem acessíveis à conta de utilizador da migração, o serviço de migração de base de dados recorre a
ALL_VIEWS.
Esta abordagem oferece-lhe o maior grau de flexibilidade no que diz respeito à definição de um modelo de segurança que melhor se adequa aos seus requisitos.
Para ver os passos de configuração exatos, consulte a secção da sua base de dados de origem:
- Configure uma base de dados do Amazon RDS para Oracle
- Configure uma base de dados Oracle autogerida
- Configure uma base de dados conectável do Oracle autogerida
Configure uma base de dados Amazon RDS for Oracle
Para configurar as bases de dados de origem do Amazon RDS para uma migração única, conceda à conta de utilizador que o Database Migration Service vai usar os privilégios adequados
Para cada comando, substitua USER_NAME pelo nome da conta de utilizador que usa para a migração. A execução destes comandos concede privilégios para ler a partir de V$DATABASE, o que é necessário para a validação.
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');
Configure uma base de dados Oracle
Para configurar as bases de dados de origem do Oracle para uma migração única, conceda à conta de utilizador que o serviço de migração de bases de dados vai usar os privilégios adequados
Para cada comando, substitua USER_NAME pelo nome
da conta de utilizador que usa para a migração. A execução destes comandos concede privilégios para ler a partir de V$DATABASE, o que é necessário para a validação.
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;
Configure uma base de dados conectável (PDB) do Oracle
O Serviço de migração de bases de dados suporta a arquitetura multi-inquilino da Oracle, em que uma única base de dados de contentores (CDB) contém uma ou mais bases de dados conectáveis (PDBs). Cada base de dados conectável é uma base de dados autónoma com um ID e um nome exclusivos, e pode ser gerida de forma independente.
Para configurar uma base de dados conectável da Oracle de modo a poder usá-la com o serviço de migração de bases de dados, siga estes passos:
- Crie um
utilizador comum.
Um utilizador comum tem a mesma identidade no contentor
CDB$ROOTe nas bases de dados conectáveis. Um utilizador comum pode estabelecer ligação e realizar operações na raiz e em qualquer base de dados conectável na qual tenha privilégios. O nome de utilizador comum tem de começar comC##ouc##. - Conceda os privilégios adequados ao utilizador comum que vai ser usado para
estabelecer ligação à sua base de dados. São necessárias autorizações diferentes ao nível do contentor
CDB$ROOTe da base de dados conectável.Para cada comando, substitua
USER_NAMEpelo nome da conta de utilizador que usa para a migração. A execução destes comandos concede privilégios para ler a partir deV$DATABASE, o que é necessário para a validação.- Ligue-se ao contentor do
CDB$ROOTe execute os seguintes comandos: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;
- Associe à base de dados conectável e execute os seguintes comandos:
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;
- Ligue-se ao contentor do