O DTS permite migrar dados de uma instância ApsaraDB RDS for PPAS para um cluster PolarDB for Oracle. O service oferece suporte à migração de esquema, migração completa de dados e migração incremental de dados. Ao combinar esses tipos de migração, é possível realizar a transição do banco de dados de forma contínua, sem interromper suas aplicações.
Pré-requisitos
Recomendamos utilizar o novo console para realizar a migração. Para obter instruções, consulte Migrate from ApsaraDB RDS for PPAS to PolarDB for PostgreSQL (Compatible with Oracle).
É necessário ter um cluster PolarDB for PostgreSQL (Compatible with Oracle) ativo. Para mais informações, consulte Create a PolarDB for PostgreSQL (Compatible with Oracle) cluster.
Verifique se o cluster PolarDB for PostgreSQL (Compatible with Oracle) possui espaço de armazenamento superior ao volume de dados da instância source ApsaraDB RDS for PPAS.
Caso os nomes de bancos de dados, tabelas ou colunas na instância source ApsaraDB RDS for PPAS contenham letras maiúsculas, será necessário incluí-los entre aspas duplas ("") ao criá-los no cluster PolarDB for PostgreSQL (Compatible with Oracle).
Para executar a migração incremental de dados, conceda permissões de superusuário à conta de banco de dados utilizada na migração da instância source ApsaraDB RDS for PPAS.
Observações de uso
Durante uma migração completa de dados, o DTS consome recursos de leitura e gravação nos bancos de dados source e de destino, aumentando a carga sobre eles. Se seus bancos de dados apresentarem baixo desempenho, especificações reduzidas ou altas cargas de trabalho (por exemplo, se o banco de dados source tiver muitas consultas SQL lentas ou tabelas sem chaves primárias, ou se ocorrerem deadlocks no banco de dados de destino), o aumento de carga pode sobrecarregar os sistemas ou até causar interrupções no service. Execute a migração de dados em horários de baixa demanda, como quando a utilização da CPU de ambos os bancos de dados estiver abaixo de 30%.
Se uma tabela source não possuir chave primária ou restrição única e contiver dados não exclusivos, poderão ser criados dados duplicados no banco de dados de destino.
Uma tarefa de migração de dados processa apenas um banco de dados por vez. Para migrar vários bancos de dados, crie uma tarefa separada para cada um.
O DTS tenta retomar automaticamente uma tarefa de migração de dados que tenha falhado. Para evitar que essa retomada automática sobrescreva dados na instância de destino, pare ou libere a tarefa antes de realizar o switchover de negócios.
-
As sequences no banco de dados de destino não continuam a partir do valor máximo do source após o switchover. Antes de alternar, consulte o valor máximo de cada sequence no source e defina-o como valor inicial no destino. Consulte os valores das sequences:
do language plpgsql $$ declare nsp name; rel name; val int8; begin for nsp,rel in select nspname,relname from pg_class t2 , pg_namespace t3 where t2.relnamespace=t3.oid and t2.relkind='S' loop execute format($_$select last_value from %I.%I$_$, nsp, rel) into val; raise notice '%', format($_$select setval('%I.%I'::regclass, %s);$_$, nsp, rel, val+1); end loop; end; $$; -
Ao migrar dados de uma instância ApsaraDB RDS for PPAS para um cluster PolarDB for Oracle, considere os seguintes pontos:
Garanta que o cluster PolarDB for Oracle tenha especificações iguais ou superiores às da instância ApsaraDB RDS for PPAS. Isso evita consultas SQL lentas ou erros de falta de memória (OOM) causados por recursos insuficientes de CPU e memória no cluster PolarDB for Oracle após a migração. Para visualizar as especificações recomendadas para o cluster PolarDB for Oracle, consulte Mapping between ApsaraDB RDS for PPAS specifications and recommended PolarDB for Oracle specifications.
Caso seu negócio exija um número específico de conexões ou IOPS após a migração, consulte e Compute node specifications para selecionar um cluster PolarDB for Oracle adequado.
Utilize o endpoint de cluster nas conexões da sua aplicação para ativar a divisão automática de leitura e gravação. Esse recurso direciona solicitações de leitura para nós somente leitura e reduz a carga no cluster PolarDB for Oracle. Para detalhes sobre como obter um endpoint de cluster, consulte View or apply for an endpoint.
Tabela de mapeamento entre RDS PPAS e tipos de instância recomendados para clusters PolarDB for PostgreSQL (Compatible with Oracle)
Recomendamos que as especificações do cluster PolarDB for Oracle sejam maiores ou iguais às do RDS PPAS, a fim de evitar consultas SQL lentas ou erros OOM decorrentes de CPU e memória insuficientes no cluster PolarDB for Oracle após a migração.
|
Tipos de instância RDS for PPAS |
Tipos de instância PolarDB for Oracle recomendados |
||
|
Tipo de instância |
CPU e memória |
Tipo de instância |
CPU e memória |
|
rds.ppas.t1.small |
1 núcleo, 1 GB |
polar.o.x4.medium |
2 núcleos, 8 GB |
|
ppas.x4.small.2 |
1 núcleo, 4 GB |
polar.o.x4.medium |
2 núcleos, 8 GB |
|
ppas.x4.medium.2 |
2 núcleos, 8 GB |
polar.o.x4.medium |
2 núcleos, 8 GB |
|
ppas.x8.medium.2 |
2 núcleos, 16 GB |
polar.o.x4.large |
4 núcleos, 16 GB |
|
ppas.x4.large.2 |
4 núcleos, 16 GB |
polar.o.x4.large |
4 núcleos, 16 GB |
|
ppas.x8.large.2 |
4 núcleos, 32 GB |
polar.o.x4.xlarge |
8 núcleos, 32 GB |
|
ppas.x4.xlarge.2 |
8 núcleos, 32 GB |
polar.o.x4.xlarge |
8 núcleos, 32 GB |
|
ppas.x8.xlarge.2 |
8 núcleos, 64 GB |
polar.o.x8.xlarge |
8 núcleos, 64 GB |
|
ppas.x4.2xlarge.2 |
16 núcleos, 64 GB |
polar.o.x8.2xlarge |
16 núcleos, 128 GB |
|
ppas.x8.2xlarge.2 |
16 núcleos, 128 GB |
polar.o.x8.2xlarge |
16 núcleos, 128 GB |
|
ppas.x4.4xlarge.2 |
32 núcleos, 128 GB |
polar.o.x8.4xlarge |
32 núcleos, 256 GB |
|
ppas.x8.4xlarge.2 |
32 núcleos, 256 GB |
polar.o.x8.4xlarge |
32 núcleos, 256 GB |
|
rds.ppas.st.h43 |
60 núcleos, 470 GB |
polar.o.x8.8xlarge |
64 núcleos, 512 GB |
Tipos de migração
|
Tipo |
Descrição |
|
Migração de esquema |
O DTS migra as definições de esquema dos objetos de migração para o cluster PolarDB de destino. Os objetos suportados incluem tabelas, views, sinônimos, triggers (incompatíveis), stored procedures, stored functions, packages e tipos definidos pelo usuário. Importante
Como as triggers são incompatíveis, a migração de objetos que as contenham pode causar inconsistência de dados. |
|
Migração completa de dados |
O DTS migra todos os dados existentes dos objetos de migração do banco de dados source para o cluster PolarDB de destino. Importante
Não execute operações DDL nos objetos de migração até que as migrações de esquema e completa de dados sejam concluídas. Caso contrário, a migração poderá falhar. |
|
Migração incremental de dados |
Após a migração completa de dados, o DTS coleta e captura redo logs do banco de dados source e migra atualizações incrementais para o cluster PolarDB de destino em tempo real. O DTS suporta apenas operações DML (INSERT, UPDATE e DELETE), não suportando operações DDL. A migração incremental de dados permite migrar seu banco de dados sem interromper as aplicações. |
Faturamento
|
Tipo de migração |
Taxa de configuração da tarefa |
Taxa de tráfego de Internet |
|
Migração de esquema e migração completa de dados |
Gratuito. |
O DTS cobra uma taxa de tráfego de Internet quando o Access Method do banco de dados de destino está definido como Public IP Address. Billing overview. |
|
Migração incremental de dados |
Pago. Billing overview. |
Permissões de contas de banco de dados
Faça login nos bancos de dados source e de destino, crie contas para a migração de dados e conceda as permissões necessárias.
|
Banco de dados |
Migração de esquema |
Migração completa de dados |
Migração incremental de dados |
|
ApsaraDB RDS for PPAS |
Permissão de leitura |
Permissão de leitura |
Permissão de superusuário |
|
Cluster PolarDB for Oracle |
Propriedade do esquema |
Propriedade do esquema |
Propriedade do esquema |
Para criar contas e conceder permissões em um cluster PolarDB for PostgreSQL (Compatible with Oracle), consulte Criar uma conta.
Procedimento
-
Faça login no console do DTS.
NotaSe você for redirecionado automaticamente para o console do Data Management (DMS), clique em
no canto inferior direito e, em seguida, clique em
para retornar ao console clássico do DTS. No painel de navegação à esquerda, clique em Data Migration.
-
Na parte superior da página Migration Tasks, selecione a região do cluster de destino.
No canto superior direito da página, clique em Create Data Migration Task.
-
Configure as definições de conexão para os bancos de dados source e de destino.
Categoria
Parâmetro
Descrição
N/A
Nome da tarefa
O DTS gera automaticamente um nome para a tarefa. Recomendamos especificar um nome descritivo para facilitar a identificação. O nome não precisa ser exclusivo.
Banco de dados source
Tipo de instância
Como o DTS não suporta diretamente uma instância RDS for PPAS como banco de dados source, selecione self-managed database with Express Connect/VPN Gateway/Smart Access Gateway.
Região
Selecione a região onde a instância RDS for PPAS está localizada.
VPC conectada ao banco de dados source
Selecione o ID da virtual private cloud (VPC) da instância RDS for PPAS.
Tipo de banco de dados
Selecione PPAS.
Versão
Selecione a versão da sua instância RDS for PPAS.
Endereço IP
Insira o endereço IP privado da instância RDS for PPAS.
Porta
Insira a porta de service da instância RDS for PPAS. A porta padrão é 3433.
Nome do banco de dados
Insira o nome do banco de dados a ser migrado.
Conta do banco de dados
Insira a conta do banco de dados da instância RDS for PPAS. Para visualizar as permissões necessárias, consulte Database account permissions.
Senha do banco de dados
Insira a senha da conta do banco de dados.
NotaApós inserir as informações do banco de dados source, clique em Test Connectivity ao lado de Database Password para verificar se as informações estão corretas. Se estiverem corretas, a mensagem Passed será exibida. Se a mensagem Failed for exibida, clique em Diagnose ao lado da mensagem Failed e ajuste as informações do banco de dados source conforme as orientações.
Banco de dados de destino
Tipo de instância
Selecione PolarDB.
Região
Selecione a região do cluster PolarDB for Oracle de destino.
ID da instância PolarDB
Selecione o ID do cluster PolarDB for Oracle de destino.
Nome do banco de dados
Insira o nome do banco de dados de destino.
Conta do banco de dados
Insira a conta do banco de dados do cluster PolarDB for Oracle de destino. Para visualizar as permissões necessárias, consulte Database account permissions.
Senha do banco de dados
Insira a senha da conta do banco de dados.
NotaApós inserir as informações do banco de dados de destino, clique em Test Connectivity após Database Password para verificar se as informações inseridas estão corretas. Se estiverem corretas, a mensagem Passed será exibida. Se a mensagem Failed for exibida, clique em Diagnose após Failed e ajuste as informações do banco de dados de destino conforme as orientações.
-
Após concluir as configurações, clique em Set whitelist and next no canto inferior direito da página.
Se o banco de dados source ou de destino for uma instância de banco de dados da Alibaba Cloud (como ApsaraDB RDS for MySQL ou ApsaraDB for MongoDB), o DTS adiciona automaticamente os endereços IP dos servidores DTS na região correspondente à lista de permissões da instância. Se o banco de dados for autogerenciado em uma instância ECS, o DTS adiciona automaticamente os endereços IP às regras de segurança da instância ECS. Você também deve garantir que o banco de dados autogerenciado permita acesso a partir da instância ECS. Para clusters de banco de dados em várias instâncias ECS, adicione manualmente os endereços IP dos servidores DTS da região às regras de segurança de cada instância. Se o banco de dados for autogerenciado em um data center on-premises ou em outra cloud, adicione manualmente os endereços IP dos servidores DTS na região correspondente para permitir o acesso dos servidores DTS. Para obter os endereços IP dos servidores DTS, consulte IP addresses of DTS servers.
AvisoAdicionar os blocos CIDR públicos dos servidores DTS, seja automaticamente ou manualmente, pode introduzir riscos de segurança. Ao utilizar este product, você reconhece e aceita esses riscos potenciais. É sua responsabilidade implementar medidas básicas de segurança, incluindo, mas não se limitando a, usar senhas fortes, restringir portas abertas, usar autenticação para chamadas internas de API, revisar e restringir regularmente segmentos de rede desnecessários ou conectar-se por meio de redes privadas como Express Connect, VPN Gateway ou Smart Access Gateway.
-
Selecione os tipos e objetos de migração.
Selecione os tipos de migração com base nos requisitos do seu negócio e mova os objetos a serem migrados para a lista Selected Objects. O DTS mapeia nomes de banco de dados em maiúsculas para minúsculas por padrão. Para preservar nomes em maiúsculas, edite manualmente os nomes mapeados na lista Selected Objects.
Parâmetro
Descrição
Tipos de migração
-
Se precisar realizar apenas uma migração completa, selecione tanto Schema Migration quanto full data migration.
-
Se precisar realizar uma migração sem tempo de inatividade, selecione Schema Migration, full data migration e incremental data migration.
Importante-
Se não selecionar incremental data migration, não grave novos dados no banco de dados source durante a migração de esquema ou a migração completa de dados para garantir a consistência dos dados.
-
Não execute operações DDL nos objetos de migração até que a migração de esquema e a migração completa de dados sejam concluídas. Caso contrário, a tarefa de migração poderá falhar.
Objetos de migração
Na caixa Migration Objects, clique em os objetos que deseja migrar e, em seguida, clique em o ícone
para movê-los para a caixa Selected Objects.Nota-
É possível selecionar objetos no nível de banco de dados, tabela ou coluna.
-
Por padrão, os nomes dos objetos no banco de dados de destino são iguais aos do source. Para renomear um objeto, utilize o recurso de mapeamento de nomes de objetos. Para mais informações, consulte Object name mapping.
-
Se utilizar o recurso de mapeamento de nomes de objetos, a migração de objetos dependentes poderá falhar.
Editar nome mapeado
Para renomear um objeto de migração no banco de dados de destino, utilize o recurso de mapeamento de nomes de objetos. Para mais informações, consulte Object name mapping.
Duração da nova tentativa de conexão
Por padrão, o DTS tenta reconectar ao banco de dados source ou de destino por 12 horas. Também é possível especificar uma duração personalizada. Se o DTS reconectar dentro do período especificado, a tarefa de migração será retomada automaticamente. Caso contrário, a tarefa falhará.
NotaA tarefa do DTS é cobrada durante o período de nova tentativa de conexão. Recomendamos especificar uma duração personalizada com base nas necessidades do seu negócio ou liberar a instância do DTS quando as instâncias source e de destino forem liberadas.
-
-
Após concluir a configuração, clique em Precheck and Start no canto inferior direito da página.
NotaAntes de iniciar a tarefa de migração, o DTS executa uma pré-verificação. A tarefa só pode começar após passar nessa pré-verificação.
-
Se a pré-verificação falhar, clique em o ícone
ao lado do item com falha para visualizar os detalhes.Corrija os problemas conforme indicado e execute a pré-verificação novamente.
Se não for necessário corrigir os itens de aviso, selecione Ignore e clique em Ignore Warnings and Rerun Precheck para executar a pré-verificação novamente.
Depois que a tarefa passar na pré-verificação, clique em Next.
Na caixa de diálogo Confirm Settings que aparece, selecione uma Instance Class e marque a caixa de seleção Data Transmission Service (pay-as-you-go) Service Terms.
-
Clique em Buy and Start para iniciar a migração.
-
Migração de esquema + Migração completa de dados
Permita que a tarefa seja concluída automaticamente. Interrompê-la manualmente pode resultar em dados incompletos.
-
Migração de esquema + Migração completa de dados + Migração incremental de dados
A tarefa de migração não para automaticamente. Você deve interrompê-la manualmente.
ImportanteEscolha um momento apropriado para interromper a tarefa manualmente, como em horários de baixa demanda ou quando estiver pronto para alternar seu negócio para o cluster de destino.
Aguarde até que a tarefa de migração entre na fase Incremental Data Migration e o status mostre Undelayed. Em seguida, pare de gravar dados no banco de dados source por alguns minutos. Durante esse período, o status de Incremental Data Migration pode apresentar latência.
Aguarde até que o status de Incremental Data Migration mostre Undelayed novamente. Então, interrompa manualmente a tarefa de migração. Marque a caixa de seleção da tarefa de migração alvo e clique em Pause na barra de operações em lote na parte inferior da página.
-