Quando você migra dados de um banco de dados de origem Oracle, o Relational Migrator verifica automaticamente seu banco de dados em busca das alterações de configuração necessárias e gera um script SQL para implementá-las. Tenha um administrador do banco de dados (DBA) para revisar o roteiro e executar os comandos no servidor do banco de dados . Esta página fornece mais detalhes sobre as etapas de configuração necessárias.
Para obter detalhes sobre as versões compatíveis do Oracle, consulte Bancos de dados e versões compatíveis.
Sobre esta tarefa
Se você estiver migrando de uma instância do Oracle 12c, deverá executar comandos como a role SYSDBA.
O Oracle 12c introduziu o conceito de um banco de dados conectável (PDB). Alguns comandos podem ser executados em um PDB, enquanto comandos como habilitar o
ARCHIVELOGdevem ser executados no contêiner/ banco de dados mestre (CDB). Para obter detalhes sobre cada arquitetura, consulte Visão geral de bancos de dados de contêineres e bancos de dados conectáveis.Alguns comandos diferem com base no fato de o banco de dados ser único ou multilocatário. Em um banco de dados multilocatário, as permissões devem incluir o sufixo
CONTAINER=ALL. Para verificar se o banco de dados é multilocatário ou não, execute a seguinte query SQL:SELECT cdb AS is_multitenant FROM v$database;
Passos
Para configurar sua instância do Oracle para tarefas de snapshot:
Configurar permissões de usuário
O código a seguir cria uma nova conta de serviço do Oracle para o Relational Migrator se conectar à instância do Oracle. Como alternativa, você pode usar uma conta de serviço Oracle existente para se conectar ao Relational Migrator com as permissões apropriadas.
Dica
Para migrar dados de um banco de dados de contêiner multilocatário, crie espaços de tabela e um Usuário Comum.
Criar uma conta de serviço:
CREATE USER <user> IDENTIFIED BY "<password>"; Confirme que a conta de serviço possui as tabelas no tarefa de migração.
As permissões necessárias dependem se a conta de serviço possui as tabelas usadas no tarefa de migração. Para verificar a propriedade da tabela, execute a seguinte query:
SELECT TABLE_NAME, OWNER FROM ALL_TABLES WHERE TABLE_NAME ='<table_name>' ORDER BY OWNER, TABLE_NAME; Conceda permissões à conta de serviço.
Importante
Se você estiver migrando um banco de dados de container multilocatário como um usuário comum, acrescente
CONTAINER=ALLao conceder permissões. Por exemplo:GRANT CREATE SESSION TO <user> CONTAINER=ALL; Se a conta de serviço for o proprietário da tabela:
GRANT CREATE SESSION TO <user>; GRANT SELECT ON V_$DATABASE TO <user>; Se a conta de serviço não for a proprietário da tabela:
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>;
Saiba mais
O Relational Migrator depende do conector Debezium de código aberto para capturar alterações no nível da linha. Para obter mais detalhes, consulte Oráculo Debezium
Para obter detalhes sobre como ativar o registro de arquivo, consulte Gerenciamento de registros de Redo arquivados.
Para obter informações adicionais sobre solução de problemas e depuração, consulte o blog post de ajuda do Debezium Oracle.