Guia de migração: Oracle para SQL Server

Aplica-se a:SQL Server

Neste guia, você aprenderá a migrar seus bancos de dados do Oracle para o SQL Server usando o SSMA (Assistente de Migração do SQL Server) para Oracle.

Para obter outros guias de migração, confira Guias de Migração do Banco de Dados do Azure.

Importante

Experimente a nova extensão Avaliação de Migração de Banco de Dados para Oracle no Azure Data Studio da Oracle para pré-avaliação do SQL e categorização de carga de trabalho. Se você estiver na fase inicial da migração de Oracle para SQL e precisar fazer uma avaliação de carga de trabalho de alto nível, com interesse em dimensionar o tamanho do SQL do Azure para a carga de trabalho de Oracle ou entender a paridade de migração de recursos, experimente a nova extensão. Para avaliação e conversão de código detalhadas, continue com o SSMA para Oracle.

Pré-requisitos

Antes de começar a migrar seu banco de dados do Oracle para SQL Server, realize as seguintes etapas:

Pré-migração

Ao se preparar para migrar para a nuvem, verifique se há suporte ao ambiente de origem e se você atende a todos os outros pré-requisitos. Isso ajuda a garantir uma migração eficiente e bem-sucedida.

Essa parte do processo envolve a realização de um inventário dos bancos de dados que você precisa migrar, avaliando-os quanto a possíveis problemas de migração ou bloqueadores e resolvendo quaisquer itens que você possa ter descoberto.

Descobrir

Para entender e planejar melhor a migração, use o MAP (Microsoft Assessment and Planning) Toolkit para identificar as fontes de dados existentes e os detalhes sobre os recursos que sua organização está usando. Esse processo envolve a verificação da rede para identificar todas as instâncias, versões e recursos do Oracle de sua organização.

Para usar o MAP Toolkit a fim de executar uma verificação de inventário, execute as seguintes etapas:

  1. Abra o MAP Toolkit.

  2. No painel Visão geral, selecione Criar/Selecionar banco de dados.

    Screenshot of the 'Create/Select database' link on the MAP Toolkit Overview pane.

  3. Em Criar ou selecionar um banco de dados, selecione Criar um banco de dados de inventário, nomeie o banco de dados de inventário que você está criando, forneça uma breve descrição e selecione OK.

    Screenshot of the 'Create an inventory database' option in the MAPS Toolkit.

  4. Selecione Coletar dados de inventário para abrir o Assistente de Inventário e Avaliação.

    Screenshot of the 'Collect inventory data' link in the Inventory and Assessment Wizard.

  5. No assistente, selecione Oracle e escolha Avançar.

    Screenshot of the Oracle option and Next button in the Inventory and Assessment Wizard.

  6. Escolha a opção de pesquisa de computador mais adequada às necessidades e ao ambiente de sua organização e selecione Avançar.

    Screenshot of the list of computer-discovery methods that best suit your organization's needs.

  7. Insira as credenciais atuais ou crie outras para os sistemas que deseja explorar e selecione Avançar.

    Screenshot of the wizard pane for entering your computer credentials.

  8. Defina a ordem das credenciais e, em seguida, selecione Avançar.

    Screenshot of the wizard pane for setting the order of credentials.

  9. Especifique as credenciais para cada computador que você deseja descobrir. Você pode usar credenciais exclusivas para cada computador ou selecioná-las na lista de Computadores.

    Screenshot of the 'Use all computers credential list' option for specifying the credentials for each computer you want to discover.

  10. Verifique seu resumo de seleção e, em seguida, selecione Concluir.

    Screenshot of the wizard summary page for reviewing your selections.

  11. Depois que a verificação for concluída, observe o relatório resumido da Coleta de Dados. A verificação pode levar alguns minutos, dependendo do número de bancos de dados. Ao terminar, selecione Fechar.

    Screenshot of the Data Collection summary report page.

  12. Selecione Opções para gerar um relatório sobre os detalhes da avaliação e do banco de dados do Oracle. Selecione ambas as opções (uma de cada vez) para gerar o relatório.

Avaliar

Depois de identificar as fontes de dados, use SSMA para Oracle a fim de avaliar a instância do Oracle que você está migrando para a máquina virtual do SQL Server e compreender as lacunas entre ambas. Com o assistente de migração, você pode examinar dados e objetos do banco de dados, avaliá-los para migração e migrar os objetos do banco de dados para o SQL Server e, então, migrar os dados para o SQL Server.

Para criar uma avaliação, realize as seguintes etapas:

  1. Abra o SSMA para Oracle.

  2. Selecione Arquivo e escolha Novo Projeto.

  3. Forneça um nome e local para o projeto e, na lista suspensa, selecione um destino de migração do SQL Server. Selecione OK.

    Screenshot of the New Project pane in SSMA for Oracle.

  4. Selecione Conectar ao Oracle, insira os detalhes da conexão Oracle e escolha Conectar.

    Screenshot of the Connect to Oracle pane.

  5. No painel Filtrar objetos, escolha os esquemas do Oracle que você deseja migrar e selecione OK.

    Screenshot of the 'Filter objects' pane for selecting the schemas to load.

  6. No painel Gerenciador de Metadados do Oracle, selecione os esquemas do Oracle com os quais você está trabalhando e escolha Criar Relatório para gerar um relatório HTML com estatísticas de conversão e erros ou avisos, se houver. Você também pode selecionar a guia Criar Relatório no canto superior direito.

    Screenshot of the 'Create Report' links in Oracle Metadata Explorer.

  7. Examine o relatório HTML para entender as estatísticas de conversão e outros erros ou avisos. Também é possível abrir o relatório no Excel para ver um inventário de objetos da Oracle e o esforço necessário para executar as conversões de esquema. A pasta dentro de SSMAProjects é o local padrão de alocação de relatórios. Por exemplo:

    drive:\<username>\Documents\SSMAProjects\MyOracleMigration\report\report_2016_11_12T02_47_55\

    Screenshot of a conversion report in SSMA.

Validar tipos de dados

Valide os mapeamentos de tipo de dados padrão e altere-os com base nos requisitos, se necessário. Para fazer isso:

  1. Selecione Ferramentas e escolha Configurações do Projeto.

  2. Selecione a guia Mapeamento de Tipos.

    Screenshot of the 'Type Mapping' pane in SSMA for Oracle.

  3. Para alterar o mapeamento de tipo de cada tabela, selecione o nome da tabela no painel Gerenciador de Metadados do Oracle.

Converter esquema

Para converter o esquema, realize as seguintes etapas:

  1. (Opcional) Para converter consultas dinâmicas ou especializadas, clique com o botão direito do mouse sobre o nó e selecione Adicionar instrução.

  2. Selecione a guia Conectar ao SQL Server e insira os detalhes de conexão da instância do SQL Server.

    1. Na lista suspensa Banco de dados, selecione o banco de dados de destino ou forneça um novo nome para criar um banco de dados no servidor de destino.

    2. Insira as informações de autenticação.

    3. Selecione Conectar.

      Screenshot of the Connect to SQL Server pane in SSMA for Oracle.

  3. No painel do Gerenciador de Metadados do Oracle, clique com o botão direito do mouse sobre o esquema com o qual você está trabalhando e selecione Converter Esquema. Você também pode selecionar a guia Converter Esquema no canto superior direito.

    Screenshot of the 'Convert Schema' command on the 'Oracle Metadata Explorer' pane.

  4. Após a conclusão da conversão, compare os objetos convertidos em relação aos originais para identificar possíveis problemas e solucioná-los com base nas recomendações.

    Screenshot showing a comparison of the converted objects to the original objects.

    Compare o texto Transact-SQL convertido com o código original e examine as recomendações.

    Screenshot showing a comparison of the converted text to the original code.

  5. No painel de saída, selecione o ícone Examinar resultados e analise todos os erros no painel Lista de erros.

  6. Para conferir um exercício de correção de esquema offline, salve o projeto localmente selecionando Arquivo>Salvar Projeto. Isso dará a você a oportunidade de avaliar os esquemas de origem e destino offline e corrigi-los antes de publicá-los na instância do SQL Server.

Migrar banco de dados

Depois de atender aos pré-requisitos e concluir as tarefas associadas ao estágio pré-migração, você estará pronto para executar o esquema e a migração do banco de dados. A migração envolve duas etapas: publicação do esquema e migração do banco de dados.

Para publicar o esquema e migrar o banco de dados, realize as seguintes etapas:

  1. Publique o esquema. No painel Gerenciador de Metadados do SQL Server, clique com o botão direito do mouse sobre o banco de dados e selecione Sincronizar com o Banco de Dados. O esquema do Oracle será publicado na instância do SQL Server.

    Screenshot of the 'Synchronize with Database' command on the SQL Server Metadata Explorer pane.

  2. Examine o mapeamento entre o projeto de origem e destino, conforme mostrado aqui:

    Screenshot of the 'Synchronize with the Database' pane for reviewing database mapping.

  3. Migre os dados. No painel do Gerenciador de Metadados do Oracle, clique com o botão direito do mouse sobre o esquema ou objeto que você deseja migrar e selecione Migrar Dados. Você também pode selecionar a guia Migrar Dados no canto superior direito.

    Para migrar dados para um banco de dado inteiro, marque a caixa de seleção ao lado do nome do banco de dados. Para migrar dados de tabelas individuais, expanda o banco de dados e Tabelas e marque a caixa de seleção ao lado da tabela. Para omitir dados de tabelas individuais, desmarque a caixa de seleção.

    Screenshot of the Migrate Data links.

  4. No painel Migrar Dados, insira os detalhes de conexão para o Oracle e o SQL Server.

  5. Depois de concluída a migração, exiba o Relatório de Migração de Dados.

    Screenshot of the Data Migration Report.

  6. Conecte-se à instância do SQL Server usando o SQL Server Management Studio (SSMS) e valide a migração examinando os dados e o esquema.

    Screenshot of SQL Server Management Server.Além de usar o SSMA, você também pode usar o SSIS (SQL Server Integration Services) para migrar os dados. Para obter mais informações, consulte:

Pós-migração

Depois de concluir com êxito a fase de migração, você precisará realizar uma série de tarefas pós-migração para garantir que tudo esteja funcionando da maneira mais estável e eficiente possível.

Corrigir aplicativos

Depois de migrar os dados para o ambiente de destino, todos os aplicativos que anteriormente consumiam a origem precisarão começar a consumir o destino. A realização dessa etapa pode exigir alterações nos aplicativos.

O Data Access Migration Toolkit é uma extensão do Visual Studio Code com a qual você pode analisar seu código-fonte Java e detectar chamadas e consultas à API de acesso a dados. O Toolkit fornece uma exibição de um único painel de itens a serem abordados para dar suporte ao novo back-end do banco de dados. Para saber mais, confira o blog Migrar nosso aplicativo Java do Oracle.

Executar testes

A abordagem de teste para a migração de banco de dados consiste nas seguintes atividades:

  1. Desenvolver testes de validação: para testar a migração do banco de dados, é necessário usar consultas SQL. Crie as consultas de validação para executar nos bancos de dados de origem e de destino. Suas consultas de validação devem abranger o escopo que você definiu.

  2. Configurar ambiente de teste: o ambiente de teste deve conter uma cópia do banco de dados de origem e de destino. Lembre-se de isolar o ambiente de teste.

  3. Executar testes de validação: execute os testes de validação na origem e no destino e analise os resultados subsequentes.

  4. Executar testes de desempenho: execute os testes de desempenho na origem e no destino, analise e compare os resultados subsequentes.

Otimizar

A fase pós-migração é crucial para reconciliar quaisquer problemas com a precisão de dados, verificar a integridade e abordar problemas de desempenho com a carga de trabalho.

Para saber mais sobre esses problemas e sobre como mitigá-los, confira o Guia de validação e otimização pós-migração.

Ativos de migração

Para obter mais assistência a fim de concluir esse cenário de migração, confira os recursos a seguir. Eles foram desenvolvidos com base em um compromisso de projeto de migração no mundo real.

Título Descrição
Modelo e ferramenta de avaliação de carga de trabalho de dados Fornece sugestões de plataformas de destino "ideais", preparação para a nuvem e níveis de correção de aplicativo/banco de dados para cargas de trabalho especificadas. Oferece cálculos simples com um clique, além de geração de relatórios, para acelerar as avaliações de grandes volumes e fornecer um processo de decisão de plataforma de destino uniforme e automatizado.
Artefatos de script de inventário do Oracle Inclui uma consulta PL/SQL que afeta as tabelas do sistema Oracle e fornece uma contagem de objetos por tipo de esquema, tipo de objeto e status. Também fornece uma estimativa aproximada de "Dados Brutos" e o dimensionamento de tabelas em cada esquema, com resultados armazenados em um formato CSV.
Automatizar a coleta e consolidação de avaliações SSMA do Oracle Um conjunto de recursos que usa um arquivo .csv como entrada (sources.csv nas pastas do projeto) para produzir os arquivos xml necessários a fim de executar a avaliação do SSMA no modo de console. O arquivo source.csv é fornecido pelo cliente com base em um inventário de instâncias do Oracle existentes. Os arquivos de saída são AssessmentReportGeneration_source_1.xml, ServersConnectionFile.xml e VariableValueFile.xml.
Problemas com o SSMA e possíveis soluções ao migrar bancos de dados do Oracle Aborda como o Oracle permite que você atribua uma condição não escalar na cláusula WHERE. No entanto, o SQL Server não dá suporte a esse tipo de condição. Como resultado, o SSMA para Oracle não converte consultas com uma condição não escalar na cláusula WHERE; em vez disso, ele gera o erro O2SS0001. Este white paper fornece mais detalhes sobre o problema e as maneiras de resolvê-lo.
Manual de migração do Oracle para SQL Server Concentra-se nas tarefas associadas à migração de um esquema do Oracle para a versão mais recente da base do SQL Server. Se a migração exigir mudanças nos recursos e na funcionalidade, o possível efeito de cada mudança nos aplicativos que usam o banco de dados deverá ser considerado com cuidado.
Oracle para SQL Server – Utilitário de Comparação de Banco de Dados O Testador do SSMA para Oracle é a ferramenta recomendada para validar automaticamente a conversão de objetos de banco de dados e a migração de bancos e é um superconjunto de funcionalidades de Comparação de Banco de Dados.

Se você estiver procurando uma opção de validação de dados alternativa, use o utilitário Comparação de Banco de Dados para comparar dados no nível de linha ou coluna em todas as tabelas, linhas e colunas selecionadas.

A equipe de engenharia de dados do SQL desenvolveu esses recursos. A principal responsabilidade dessa equipe é desbloquear e acelerar a modernização complexa para projetos de migração da plataforma de dados para a plataforma de dados do Microsoft Azure.