locked
Integração Oracle para SQL? RRS feed

  • Pergunta

  • Temos um oracle instalado em uma plataforma Windows 2003 com 32 bits e um SQL server 2005 em uma plataforma windows 2003 de 64 bits instalado.

    Uma aplicação desenvolvida em .Net gerando informações do Oracle e gravando no SQL. Esse processo de gravação no SQL está muito lento o que sugestão teriamos para terntar ter um desempenho melhor. Parametros dos bancos: 
     Oracle tem + ou - 32 milhoes de registros
     SQL com o banco zerado.

    Obrigada!!!
    quarta-feira, 30 de setembro de 2009 13:04

Respostas

  • Como funciona essa geração de dados? é uma migração de dados? pode tentar fazer isso via SSIS (integration).


    Att. Leandro Hexsel Bugalho
    quarta-feira, 30 de setembro de 2009 14:08
  • Fabia,

    Também vejo como uma ótima possibilidade utilizar o SSIS!!!!

    Mas o que você deseja importar do Oracle e exportar para o SQL?
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    quarta-feira, 30 de setembro de 2009 19:38
    Moderador
  • Bom Dia,

    Como sua aplicação está fazendo a inserção (linha a linha) eu presumo, cada INSERT envolverá uma recuperação no ORACLE e uma gravação no SQL Server. É natural que o processo seja lento, pois, haverá uma troca de contexto 32 milhões de vezes e se cada uma dessas trocas levar 1ms por exemplo, já foram gastos 32mil segundos o que representa quase nove horas. Se adicionarmos o tempo de leitura e gravação não é de se esperar que realmente "demore".

    Eu sugiro utilizar o SSIS que não irá realizar tantas trocas de contexto, ou optar por gerar arquivos texto a partir do ORACLE e importá-los para o SQL Server com o uso do BCP ou do comando Bulk Insert. Eu optaria pelo Integration Services.

    [ ]s,
     
    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.spaces.live.com

    O princípio de Pareto, a curva ABC e consultas SQL
    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!740.entry
    Classifique as respostas. O seu feedback é imprescindível
    sexta-feira, 2 de outubro de 2009 12:46

Todas as Respostas

  • Como funciona essa geração de dados? é uma migração de dados? pode tentar fazer isso via SSIS (integration).


    Att. Leandro Hexsel Bugalho
    quarta-feira, 30 de setembro de 2009 14:08
  • Fabia,

    Também vejo como uma ótima possibilidade utilizar o SSIS!!!!

    Mas o que você deseja importar do Oracle e exportar para o SQL?
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    quarta-feira, 30 de setembro de 2009 19:38
    Moderador
  • Bom Dia,

    Como sua aplicação está fazendo a inserção (linha a linha) eu presumo, cada INSERT envolverá uma recuperação no ORACLE e uma gravação no SQL Server. É natural que o processo seja lento, pois, haverá uma troca de contexto 32 milhões de vezes e se cada uma dessas trocas levar 1ms por exemplo, já foram gastos 32mil segundos o que representa quase nove horas. Se adicionarmos o tempo de leitura e gravação não é de se esperar que realmente "demore".

    Eu sugiro utilizar o SSIS que não irá realizar tantas trocas de contexto, ou optar por gerar arquivos texto a partir do ORACLE e importá-los para o SQL Server com o uso do BCP ou do comando Bulk Insert. Eu optaria pelo Integration Services.

    [ ]s,
     
    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.spaces.live.com

    O princípio de Pareto, a curva ABC e consultas SQL
    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!740.entry
    Classifique as respostas. O seu feedback é imprescindível
    sexta-feira, 2 de outubro de 2009 12:46