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

Migrar do Oracle para o MySQL


A Oracle não fornece um utilitário de descarregamento pronto para uso.

Lembre-se, sem informações abrangentes sobre o seu ambiente (versão do Oracle? plataforma do servidor? quantos dados? quais tipos de dados?) tudo aqui é YMMV e você gostaria de testar seu sistema para desempenho e tempo.

Meus pontos 1-3 são apenas ideias genéricas de movimentação de dados. O ponto 4 é um método que reduzirá o tempo de inatividade ou interrupção para minutos ou segundos.

1) Existem utilitários de terceiros disponíveis. Eu usei alguns deles, mas é melhor você verificá-los para o propósito pretendido. Alguns produtos de terceiros estão listados aqui:OraFaq . Infelizmente, muitos deles são executados no Windows, o que retardaria o processo de descarregamento de dados, a menos que seu servidor de banco de dados estivesse no Windows e você pudesse executar o utilitário de carregamento diretamente no servidor.

2) Se você não tiver nenhum tipo de dados complexo como LOBs, poderá criar seus próprios com SQLPLUS. Se você fez uma tabela de cada vez, pode paralelizá-la facilmente. O tópico foi visitado neste site provavelmente mais de uma vez, aqui está um exemplo:Link

3) Se você tem mais de 10 anos, as Tabelas Externas podem ser uma maneira eficiente de realizar essa tarefa. Se você criar algumas tabelas externas em branco com a mesma estrutura de suas tabelas atuais e copiar os dados para elas, os dados serão convertidos para o formato de tabela externa (um arquivo de texto). Mais uma vez, OraFAQ para o resgate .

4) Se você precisar manter os sistemas em paralelo por dias/semanas/meses, use uma ferramenta de captura/aplicação de dados alterados para tempo de inatividade quase zero. Esteja preparado para pagar $$$. Eu usei a ferramenta da Golden Gate Software que pode minerar os logs de redo do Oracle e fornecer instruções de inserção/atualização para um banco de dados MySQL. Você pode migrar a maior parte dos dados sem tempo de inatividade na semana anterior à ativação. Então, durante o período de ativação, desligue o banco de dados de origem, faça o Golden Gate recuperar as últimas transações restantes e, em seguida, abra o acesso ao seu novo banco de dados de destino. Eu usei isso para atualizações e o período de recuperação foi de apenas alguns minutos. Nós já tínhamos licenças de site para Golden Gate, então não foi nada fora do nosso bolso.

E eu vou desempenhar o papel de Cranky DBA aqui e dizer que se você não conseguir que o Oracle tenha um bom desempenho, eu adoraria ver uma descrição de como o MySQL corrigiu seus problemas específicos. Se você tem um aplicativo em que não pode tocar no SQL, ainda há muitas maneiras possíveis de ajustar o Oracle. /caixa de sabão