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.