segunda-feira, 26 de maio de 2014

Migração de Dados do SQL Server para Oracle - Via SQL LOADER;

Galera, Boa tarde!

Hoje irei demonstrar a vocês um processo de Migração de dados via SQL Loader.
Em um passo a passo vocês verão como que é simples o procedimento, que por muitas vezes achamos ser algo complexo.

Bom, vamos ao trabalho!
Conectado no SQL Server, irei Migrar os dados da tabela TABLESQLSERVER

select * from BaseDeDados.Schema.Tabela
Exemplo:


Iremos utilizar o comando BCP para exportar os dados da tabela para um arquivo de texto. Para isso teremos que habilitar o xp_cmdshell.

EXEC sp_configure 'show advanced options', 1
GO
RECONFIGURE
GO
EXEC sp_configure 'xp_cmdshell', 1
GO
RECONFIGURE
GO

Ok ! Pelo comando abaixo vamos exportar os dados da tabela para um arquivo com extensão TXT, delimitado por ; (Ponto e vírgula).

DECLARE @cmd VARCHAR(1000)
set @cmd = 'bcp "select action_id, action_name from treina2.dbo.TABLESQLSERVER" QUERYOUT "C:\TABLESQLSERVER.txt" -c -a65535 -t; -CACP -T'
Exec master..xp_cmdshell @cmd

OBS: No comando não pode conter quebra de linha.
Exemplo:


O arquivo foi exportado com sucesso, vide C:\ do servidor o qual foi enviado.




























Agora iremos criar o arquivo de controle para carregar os dado, que sempre terá a extensão .CTL.

load data                        
 infile 'TABLEORACLE.txt'
 into table TABLEORACLE
 Append
 fields terminated by ";"        
 TRAILING NULLCOLS
 (
action_id,
action_name
 )


Será necessário criar uma BAT para executar o SQL Loader - Extensão .BAT.

sqlldr userid=usuario/senha@instancia control=TABLESQLSERVER.ctl log=TABLESQLSERVER.log


Os 3 arquivos deverão ficar no mesmo diretório, desta forma:












Finalizado todos os passos acima, agora é só executar a .BAT.
OBS: Para executar a .BAT será necessário estar em algum local que tenha acesso a instância ORACLE.

Agora vamos verificar os dados importados na tabela do Oracle.
Select * from TABLEORACLE


Pronto ! Os dados foram Migrados do SQL Server para o Oracle.

Valeu !
Bruno Duarte.

Nenhum comentário:

Postar um comentário