Migração Oracle para SQL Server

Sem título

Fala Galera,

O primeiro post de 2016 também vai coincidir com o meu primeiro job de 2016; Uma migração de um Oracle 11g (rodando em um Solaris) para um SQL Server 2008 R2.

A primeira coisa que se precisa saber é que a Microsoft disponibiliza uma ferramenta bem simples e efetiva para ajudar a completar essa tarefa. Com o SSMA (SQL Server Migration Assistant)  você consegue conectar com um Oracle database e com um SQL Server e fazer a migração sem muitos problemas.

Claro, existem limitações :

  • Procedimentos escritos em C ou Java dentro do Oracle não serão convertidos para C#.
  • Connected by prior
  • Cursores
  • SQL Dinamico
  • Sequences
  • etc.

É importante definir um escopo de migração, onde os tipos de objetos que devem ser migrados seja especificado.

 

Requisitos

Como estamos, em geral, falando de bases de grande volume, o ideal é que alguns pré requisitos sejam atendidos afim de que não se tornem um limitador para a execução da tarefa.

  • Maquina de origem e destino na mesma rede (datacenter) conectados via switch.
  • Tomar cuidado com maquinas virtuais, já que elas estão sendo executadas de dentro de LUN’s (normalmente) o que pode levar a queda no throughput.
  • Não haver concorrência no DB Oracle a ser exportado.
  • Fazer uma POC (proof of concept) para estimar o tempo que será despendido durante toda a operação e assim estimar o tempo de janela adequado.
  • A maquina do SQL Server terá de ter o ODAC (Oracle Data Access) instalado.

 

Hands-on

A primeira coisa a ser feita é a instalação do ODAC e depois do SSMA.

Uma vez dentro do SSMA vamos criar um novo projeto de migração.

1

 

Faça a conexão com o Oracle e  se o ODAC (Oracle Data Access Components) estiver instalado, uma caixa de dialogo será apresentada e você informará os detalhes da conexão ao Oracle, que pode ser realizado via string de conexão, TNSNAMES.ORA ou com o standard mode (oque usaremos nesse tutorial)

2

caso contrário você s seguinte mensagem será apresentada:

0

Feito isso uma lista com todos os schemas (Databases para nós rs) disponíveis naquele Oracle será listada. Selecione o quais objetos você deseja exportar e conecte-se ao SQL Server destino.

3

Selecione o meu Schema do Oracle e clique em “Export Schema“.  Você observará que um novo DB será listado como no box inferior, que lista os objetos do SQL Server.

xxx

Selecione o novo DB, clique em “Syncronize with database” e acompanhe o processo de criação da mesma estrutura de objetos do Oracle no SQL Server.

4

Confirme se os objetos foram criados na outra ponta (SQL Server)

 

5

Agora vamos migrar os dados:

6

Acompanhe os logs. Uma lista contendo as tabelas exportadas, a quantidade de linhas e o tempo será exibida.

7

A partir daqui, podemos ter uma ideia qual o throughput de exportação.

Confira se dos dados foram sincronizados no SQL Server:

5

Done!

Eu tive um pequeno problema enquanto motava essa POC:

  1. Erros relacionados a versão do SQL Server (express) que eu estava usando a princípio.
    Errors: 'FILEGROUP ... CONTAINS MEMORY_OPTIMIZED_DATA' failed because it is not supported in the edition of this SQL Server instance 'LP0822\SQLEXPRESS'. See books online for more details on feature support in different SQL Server editions.
    
    Errors: 'MEMORY_OPTIMIZED=ON' failed because it is not supported in the edition of this SQL Server instance 'LP0822\SQLEXPRESS'. See books online for more details on feature support in different SQL Server editions. 

    solução: Usar uma versão developer, standard ou enterprise

 

Mais detalhes sobre o SSMA? https://msdn.microsoft.com/en-us/library/hh313179(v=sql.110).aspx 

 

Grande Abraço a Todos

Anúncios

Sobre dhiegopiroto
Graduando em Sistemas de Informação, apaixonado por tecnologia, literatura e musica. Possui experiencia com desenvolvimento em T-SQL, XML, XSD e administração de bancos de dados SQL Server; Detém os titulos de MCP e MCTS SQL Server 2008.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

Alex Souza

Banco de dados, Business Intelligence, Big Data, Governança de TI ... /* Um eterno aprendiz... */

Blog - Thiago Carlos de Alencar

Aprendendo SQL Server !

SQL Authority with Pinal Dave

SQL Server Performance Tuning Expert

Vitor Fava

SELECT (CrazyIdeas*2), (InsaneIdeas*100), MyExperience FROM MyBigHead WHERE InsaneLevel > 1000

Think Think SQL

DBCC DumpMemory 'TECH','ALL'

Gustavo Maia Aguiar

Artigos, dicas e algumas reflexões sobre o SQL Server

Kimberly L. Tripp

DBCC DumpMemory 'TECH','ALL'

Thiago Zavaschi R2

www.zavaschi.com

Blog do Luti

DBCC DumpMemory 'TECH','ALL'

Luan.Moreno a.k.a [SQL.Soul]

Lead Database Consultant at Pythian

Blog do Leka

let's make things better

%d blogueiros gostam disto: