Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Migrando um banco de dados Oracle para MySQL na AWS, parte 2


AWS Database Migration Service (DMS) é um serviço para migrar bancos de dados na AWS em que o banco de dados de origem pode ser:
  • Um banco de dados na AWS (EC2,RDS)
  • Um banco de dados local
  • Um banco de dados em alguma outra plataforma de nuvem, como Oracle Cloud Platform

O banco de dados de destino pode ser:
  • Um banco de dados na AWS (EC2, RDS, Redshift, DynamoDB)
  • Um banco de dados local
  • Um banco de dados em alguma outra plataforma de nuvem, como Oracle Cloud Platform

Pelo menos um dos dois bancos de dados, origem e destino, deve estar na AWS. Por exemplo, o DMS não pode ser usado para migrar um banco de dados local para a plataforma Google Cloud. Em dois artigos, estamos discutindo a migração de um banco de dados Oracle para um banco de dados MySQL com o Database Migration Service. Em um artigo anterior, “Migrando um banco de dados Oracle para MySQL na AWS, parte 1”, discutimos a configuração de bancos de dados de origem e destino. Neste artigo de continuação, faremos a migração. Este artigo tem as seguintes seções:
  • Criando uma migração
  • Executando a migração
  • Consultando esquema de banco de dados migrado
  • Reiniciando uma migração
  • Modificando uma migração
  • Conclusão

Criando uma migração


Nesta seção, criaremos uma migração DMS para migrar a instância de banco de dados Oracle no RDS para a instância de banco de dados MySQL no RDS. Faça login como o usuário do IAM (dvohra ou outro) criado anteriormente. Selecione o DMS service no console da AWS, conforme mostrado na Figura 1.


Figura 1: Serviço DMS no Console AWS

Clique em Criar migração , como mostrado na Figura 2.


Figura 2: Criar migração

O assistente do AWS Database Migration Service é iniciado, conforme mostrado na Figura 3. Clique em Next na página Welcome.


Figura 3: Assistente do AWS Database Migration Service

Em seguida, o Criar instância de replicação página é exibida, como mostrado na Figura 4.


Figura 4: Criar instância de replicação

Especifique um nome de instância de replicação ou mantenha a configuração padrão, conforme mostrado na Figura 5. Selecione uma classe de instância ou mantenha a configuração padrão. Selecione uma VPC porque nenhuma VPC padrão está configurada. Selecione Multi-AZ como Não para usar uma única zona de disponibilidade. Selecione o Acessível publicamente opção.


Figura 5: Configurando a instância de replicação

Em Avançado configurações, as configurações padrão para armazenamento alocado, grupo de sub-rede replicado e zona de disponibilidade são mostradas na Figura 6.


Figura 6: Configurações avançadas

Selecione a chave mestra KMS como a chave de criptografia (dms ) criado anteriormente, conforme mostrado na Figura 7. Clique em Next.


Figura 7: Selecionando a chave mestra KMS

Em seguida, configure os endpoints do banco de dados para se conectar aos endpoints do banco de dados de origem e destino, conforme mostrado na Figura 8. Os endpoints do banco de dados podem ser especificados enquanto a instância de replicação está sendo criada. Os endpoints de origem e destino são configurados em colunas separadas denominadas Detalhes da conexão do banco de dados de origem e detalhes da conexão do banco de dados de destino.


Figura 8: Pontos de extremidade do banco de dados

Selecione o mecanismo de origem na lista suspensa como oráculo , como mostrado na Figura 9.


Figura 9: Motor de origem

Selecione o mecanismo de destino da lista suspensa como mysql , como mostrado na Figura 10.


Figura 10: Selecionando o mecanismo de destino

Para o Nome do servidor s, especifique os endpoints para as instâncias de banco de dados, conforme listado no console do RDS, removendo o sufixo :port. O nome do servidor para o banco de dados Oracle é orcl.crbmlbxmp8qi.us-east-1.rds.amazonaws.com e o nome do servidor para o banco de dados MySQL é mysqldb.crbmlbxmp8qi.us-east-1.rds.amazonaws.com . A porta é especificada separadamente em Porta campo e é 1521 para banco de dados Oracle e 3306 para banco de dados MySQL. Selecione modo SSL como nenhum para bancos de dados de Origem e Destino. Especifique o nome de usuário e a senha como o nome de usuário mestre e a senha mestre configurados ao criar as instâncias do RDS. Os detalhes de conexão de Origem e Destino são mostrados na Figura 11.


Figura 11: Detalhes da conexão de origem e destino

Role para baixo para as configurações avançadas de conexão. Para Oracle Database, especifique o SID, conforme mostrado na Figura 12. Para o banco de dados MySQL, defina os Extra connection attribute para targetDbType=SPECIFIC_DATABASE . A chave mestra KMS deve ser a chave de criptografia (dms) criada como usuário do IAM (dvohra) para DMS.


Figura 12: Configurações avançadas de conexão

Clique em Executar teste para cada um dos bancos de dados para testar a conexão. O resultado deve ser Connection testado com sucesso, conforme mostrado na Figura 13.


Figura 13: Teste de corrida

Em seguida, uma tarefa de migração precisa ser configurada, antes da qual a instância de replicação deve ser criada, conforme mostrado na Figura 14.


Figura 14: Instância de replicação criada

Após configurar os endpoints do banco de dados, clique em Next, conforme mostrado na Figura 15.


Figura 15: Pontos de extremidade do banco de dados configurados

Em Tarefa, pelo menos uma regra de seleção deve ser configurada ou uma tarefa não é criada, conforme indicado pela mensagem de erro quando Criar tarefa é clicado (veja a Figura 16).


Figura 16: Pelo menos uma regra de seleção é necessária

Clique em adicionar regra de seleção link mostrado na Figura 16. No detalhe da regra de seleção, configure um Where regra de seleção. Selecione Esquema como DVOHRA (o esquema seria diferente para usuários diferentes) e especifique O nome da tabela é como como % . Em Ação , os objetos podem ser incluídos ou excluídos selecionando Incluir ou Excluir . As exclusões são processadas após as inclusões. Selecione Ação como Incluir. Filtros de origem para limitar o número e o tipo de registros transferidos da origem para o destino podem ser adicionados. Clique em Adicionar regra de seleção , conforme mostrado na Figura 17. Em seguida, clique em Criar tarefa .


Figura 17: Adicionando uma regra de seleção

Uma nova tarefa é adicionada, conforme mostrado na Figura 18. Inicialmente, o status da tarefa é “Criando”.


Figura 18: Nova tarefa

Quando a tarefa é criada, o Status se torna Pronto , conforme mostrado na Figura 19.


Figura 19: Status da tarefa como pronto

Executando a migração


Para executar a migração, clique em Iniciar/Retomar , como mostrado na Figura 20.


Figura 20: Iniciar/Retomar

O Status deve se tornar Iniciando (ver Figura 21).


Figura 21: Início da tarefa

Após Iniciar, o status se torna Em execução . Quando a migração for concluída, o Status se tornará Carregamento concluído , conforme mostrado na Figura 22.


Figura 22: Carregamento concluído

As Estatísticas da tabela tab deve listar as tabelas migradas, conforme mostrado na Figura 23.


Figura 23: Estatísticas da Tabela

Consultando esquema de banco de dados migrado


Na CLI do MySQL, liste os bancos de dados com o comando show databases, conforme mostrado na Figura 24. O DVOHRA banco de dados (esquema) é listado.


Figura 24: Listando bancos de dados

Selecione o DVOHRA banco de dados com o use DVOHRA comando. Liste as tabelas com o comando show tables, conforme mostrado na Figura 25. O WEBLOGICLOG e WLSLOG tabelas que foram criadas no banco de dados Oracle anteriormente foram migradas e listadas.


Figura 25: Tabelas de listagem

A tabela também é migrada. O WEBLOGICLOG table não tem nenhum dado e nenhum é retornado em uma consulta SQL (veja a Figura 26).


Figura 26: SQL Query no WEBLOGLOG não lista nenhum dado

A tabela WLSLOG migrada inclui dados, conforme mostrado por um resultado de consulta na Figura 27.


Figura 27: Os dados na tabela WLSLOG são migrados

Reiniciando uma migração


Por padrão, a migração não pesquisa ativamente no banco de dados de origem para migrar as alterações, se houver. Se alguma modificação for feita no banco de dados de origem, como dados adicionados a uma tabela ou uma nova tabela criada, a migração deverá ser executada novamente. Como exemplo, adicione dados ao weblogiclog tabela no banco de dados Oracle.
INSERT INTO weblogiclog(time_stamp,category,type,servername,
   code,msg) VALUES('Apr-8-2014-7:06:16-PM-PDT','Notice',
   'WebLogicServer','AdminServer','BEA-000365','Server state
   changed to STANDBY');
INSERT INTO weblogiclog(time_stamp,category,type,servername,
   code,msg) VALUES('Apr-8-2014-7:06:17-PM-PDT','Notice',
   'WebLogicServer','AdminServer','BEA-000365','Server state
   changed to STARTING');
INSERT INTO weblogiclog(time_stamp,category,type,servername,
   code,msg) VALUES('Apr-8-2014-7:06:18-PM-PDT','Notice',
   'WebLogicServer','AdminServer','BEA-000365','Server state
   changed to ADMIN');
INSERT INTO weblogiclog(time_stamp,category,type,servername,
   code,msg) VALUES('Apr-8-2014-7:06:19-PM-PDT','Notice',
   'WebLogicServer','AdminServer','BEA-000365','Server state
   changed to RESUMING');
INSERT INTO weblogiclog(time_stamp,category,type,servername,
   code,msg) VALUES('Apr-8-2014-7:06:20-PM-PDT','Notice',
   'WebLogicServer','AdminServer','BEA-000361','Started WebLogic
   AdminServer');
INSERT INTO weblogiclog(time_stamp,category,type,servername,
   code,msg) VALUES('Apr-8-2014-7:06:21-PM-PDT','Notice',
   'WebLogicServer','AdminServer','BEA-000365','Server state
   changed to RUNNING');
INSERT INTO weblogiclog(time_stamp,category,type,servername,
   code,msg) VALUES('Apr-8-2014-7:06:22-PM-PDT','Notice',
   'WebLogicServer','AdminServer','BEA-000360','Server started
   in RUNNING mode');

Para migrar os dados adicionados ao MySQL, clique em Iniciar/Retomar , conforme mostrado na Figura 28.


Figura 28: Reiniciando uma migração

Em Iniciar tarefa diálogo, duas opções são fornecidas:Iniciar e Reiniciar , conforme mostrado na Figura 29. O Início A opção carrega apenas novas tabelas (carregamento completo) e tabelas que estavam incompletas (carregamentos parciais) em uma execução anterior da tarefa.


Figura 29: Iniciar tarefa

Porque o WEBLOGICLOG a tabela já foi migrada (o carregamento completo foi concluído) e novos dados precisam ser migrados, o Reiniciar opção precisa ser selecionada, conforme mostrado na Figura 30.


Figura 30: Reiniciando uma migração

O status da tarefa torna-se novamente Iniciando seguido por Executando (ver Figura 31).


Figura 31: Status da tarefa em execução

Quando a execução da tarefa for concluída, o Status se tornará Carregamento concluído , conforme mostrado na Figura 32.


Figura 32: Carregamento concluído

Consulte o WEBLOGICLOG dados na CLI do MySQL e os dados migrados são listados, conforme mostrado na Figura 33.


Figura 33: Dados migrados na tarefa de reinicialização

Modificando uma migração


Uma tarefa de migração pode precisar ser modificada, como adicionar/remover uma regra de seleção ou modificar uma das outras configurações de tarefa. Uma tarefa pode ser modificada quando não está em execução e o status é Carregamento concluído. Clique em Modificar para modificar uma tarefa, conforme mostrado na Figura 34.


Figura 34: Modificar

A Tarefa Modificar diálogo é iniciado. Embora diferente Tipo de migração s estão listados, conforme mostrado na Figura 35, o tipo de migração não pode ser modificado neste momento. A configuração padrão é "Migrar dados existentes".


Figura 35: Modificar tarefa

As Configurações de tarefas mostrado na Figura 36 pode ser modificado. Clique em Configurações avançadas para modificar as configurações avançadas.


Figura 36: Configurações da tarefa

Em Configurações avançadas, a Tabela de controle as configurações podem ser modificadas, conforme mostrado na Figura 37.


Figura 37: Configurações da Tabela de Controle

As Configurações de ajuste pode ser modificado, como mostrado na Figura 38.


Figura 38: Configurações de ajuste

Para adicionar uma regra de transformação, clique em adicionar regra de transformação , conforme mostrado na Figura 39.


Figura 39: Adicionar regra de transformação

Em Regras de transformação , selecione o Destino para a transformação como Tabela , conforme mostrado na Figura 40. Selecione Schema name is como DVOHRA. Especifique O nome da tabela é semelhante como % . Selecione Ação como Adicionar prefixo , como um exemplo.


Figura 40: Adicionando regras de transformação

Especifique o prefixo da tabela a ser adicionado a cada tabela migrada (consulte a Figura 41). Clique em Adicionar regra de transformação .


Figura 41: Adicionar regra de transformação

Clique em Modificar , conforme mostrado na Figura 42.


Figura 42: Modificar

Em Iniciar tarefa , selecione Reiniciar e clique em Iniciar tarefa , conforme mostrado na Figura 43.


Figura 43: Iniciar tarefa

O status da tarefa se torna Modificando , conforme mostrado na Figura 44.


Figura 44: Modificando

O status da tarefa pode ser atualizado com o botão atualizar. O status se torna Em execução , conforme mostrado na Figura 45.


Figura 45: Tarefa em execução

Quando a execução da tarefa for concluída, o status se tornará Carregamento concluído (veja a Figura 46).


Figura 46: Carregamento concluído

Posteriormente, liste as tabelas no MySQL. Novas tabelas com um prefixo são listadas, conforme mostrado na Figura 47.


Figura 47: Tabelas com prefixo

Conclusão


Em dois artigos, discutimos a migração de um banco de dados Oracle no RDS para um banco de dados MySQL no RDS usando o serviço AWS Database Migration.