Nossa! Q confusão!<br><br>Deixa eu ver se entendi: <br><br>1) Você quer sincronizar uma base Oracle com uma Sybase(vice-versa???);<br>2) Se vc já vai carregar coisas com o sqlldr numa tabela temporária, já na base de produção, pra que vc precisa de hashes??? Não entendi. Se os dados já estão lá, compara com a tabela em produção diretamente com SQL, procedures etc...(se eu estiver falando besteira, pode me xingar);<br>
3)Você já pensou em utilizar alguma ferramenta de migração de dados ? Se isso é crítico no seu trabalho, talvez(só uma sugestão) uma solução pronta possa resolver de maneira mais efetiva( não sei se resolve, mas vi essa aqui: <a href="http://www.swissql.com/products/oracle-to-sybase/oracle-to-sybase.html">http://www.swissql.com/products/oracle-to-sybase/oracle-to-sybase.html</a> );<br>
<br><br>Cheers!<br><br><br><br><div class="gmail_quote">2010/5/20 Guarnieri, Carlos [ICG-IT] <span dir="ltr"><<a href="mailto:carlos.guarnieri@citi.com">carlos.guarnieri@citi.com</a>></span><br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2">o problema eh q teria de lidar com o sqldr (oracle) e o
bcpin (sybase). Nao posso usar base de teste; apenas prod 2 prod. Os arquivos
vem de mainframe. Preciso comparar conteudo de campos para garantir que estejam
em sincronia (nao.. nao tem um lastUpdateDate....) Sao dados sensiveis de
companhias que tem permissao do FED para transferir certas
quantias...</font></span></div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2"></font></span> </div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2">Aqui esta uma ideia:</font></span></div>
<div dir="ltr" align="left"><span></span> </div>
<div dir="ltr" align="left"><span> <font face="Arial"><font color="#0000ff" size="2">1) pego o arquivo e usando a PK dele (um
codigo unico e obrigatorio, global da empresa no FED) gero um hash pros campos
que quero comparar</font></font></span></div>
<div dir="ltr" align="left"><span> <font color="#0000ff" face="Arial" size="2">carrego esse arquivo no dbms que
quero fazer comparacao (usando sqldr / bcpin) - talvez de 300 em 300 mil
</font></span></div>
<div dir="ltr" align="left"><span></span><span><font color="#0000ff" face="Arial" size="2"> (hj o cadastro eh mais de 1
milhao mas continua crescendo. nao posso correr o risco de enche a temp do
banco)</font></span></div>
<div dir="ltr" align="left"><span> <font face="Arial"><font color="#0000ff" size="2">1.1) pros IDS carregados gero em outra
tabela temporaria os hashes dos registros que ja estavam no dbms e comparo os
hashes. </font></font></span></div>
<div dir="ltr" align="left"><span> <font face="Arial"><font color="#0000ff" size="2">1.2) Os IDS que tem hashes separados vao
pra minha tabela dedo duro dos registros fora de
sync.</font></font></span></div>
<div dir="ltr" align="left"><span> <font color="#0000ff" face="Arial" size="2">1.3) limpa a tabela dos hashes e repete 1.1 e
1.2 ateh o final do arquivo</font></span></div>
<div dir="ltr" align="left"><span> <font color="#0000ff" face="Arial" size="2">1.4) manda os arquivos fora de sync pro
mainframe, apaga as temp,</font></span></div>
<div dir="ltr" align="left"><span> <font color="#0000ff" face="Arial" size="2">1.5) cd /pub; more beer; while(true) do;
sleep; done</font></span></div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2"></font></span> </div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2">razoavel? </font></span></div>
<div dir="ltr" align="left"><span>
</span></div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2"></font></span> </div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2"></font></span> </div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2"></font></span> </div>
<div dir="ltr" lang="en-us" align="left">
<hr>
<font face="Tahoma" size="2"><div class="im"><b>From:</b>
saopaulo-pm-bounces+carlos.guarnieri=<a href="http://citi.com" target="_blank">citi.com</a>@<a href="http://pm.org" target="_blank">pm.org</a>
[mailto:<a href="mailto:saopaulo-pm-bounces%2Bcarlos.guarnieri" target="_blank">saopaulo-pm-bounces+carlos.guarnieri</a>=<a href="http://citi.com" target="_blank">citi.com</a>@<a href="http://pm.org" target="_blank">pm.org</a>] <b>On Behalf Of
</b>Andre Carneiro<br></div><b>Sent:</b> quinta-feira, 20 de maio de 2010
08:41<div><div></div><div class="h5"><br><b>To:</b> <a href="mailto:saopaulo-pm@mail.pm.org" target="_blank">saopaulo-pm@mail.pm.org</a><br><b>Subject:</b> Re: [SP-pm]
Comparando grande massa de dados<br></div></div></font><br></div><div><div></div><div class="h5">
<div></div>Existe o sqlldr para Oracle(mas você já sabia disso :D). Ele serve
exatamente para carregar grandes quantidades de dados
rapidamente.<br><br>Existem alguns módulos para manipular e executar cargas de
dados no CPAN, utilizando o SQLLoader. O que eu achei mais simples foi esse
aqui:<br><br><a href="http://search.cpan.org/%7Eezra/Oracle-SQLLoader-0.9/lib/Oracle/SQLLoader.pm" target="_blank">http://search.cpan.org/~ezra/Oracle-SQLLoader-0.9/lib/Oracle/SQLLoader.pm</a><br><br>O
problema é que não é atualizado desde 2006!!! <br><br><br><br>
<div class="gmail_quote">2010/5/19 Guarnieri, Carlos [ICG-IT] <span dir="ltr"><<a href="mailto:carlos.guarnieri@citi.com" target="_blank">carlos.guarnieri@citi.com</a>></span><br>
<blockquote class="gmail_quote" style="padding-left: 1ex; margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204);">
<div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2">entao...
sao oracle e sybase... mas como os arquivos sao grandes to com medo de joga
pro banco.</font></span></div></div></blockquote>
<div><br>Deixe disso! Faça muitos testes em tabelas temporárias(se possível em
uma base de testes), e seja feliz!<br><br></div>
<blockquote class="gmail_quote" style="padding-left: 1ex; margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204);">
<div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2"></font></span> </div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2">Tava
pensando mais em pegar os dados e comparar no unix...</font></span></div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2"></font></span> </div></div></blockquote>
<div><br>Que tipo de comparação?<br><br> </div>
<blockquote class="gmail_quote" style="padding-left: 1ex; margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204);">
<div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2">o q
acham?</font></span></div></div></blockquote>
<div><br>Não sei, mais detalhes por favor(se possível)!!!<br><br> </div>
<blockquote class="gmail_quote" style="padding-left: 1ex; margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204);">
<div><br>
<div dir="ltr" lang="en-us" align="left">
<hr>
<font face="Tahoma" size="2"><b>From:</b> saopaulo-pm-bounces+carlos.guarnieri=<a href="http://citi.com" target="_blank">citi.com</a>@<a href="http://pm.org" target="_blank">pm.org</a> [mailto:<a href="mailto:saopaulo-pm-bounces%2Bcarlos.guarnieri" target="_blank">saopaulo-pm-bounces+carlos.guarnieri</a>=<a href="http://citi.com" target="_blank">citi.com</a>@<a href="http://pm.org" target="_blank">pm.org</a>] <b>On Behalf Of </b>Andre Carneiro<br>
<b>Sent:</b>
quarta-feira, 19 de maio de 2010 18:09<br><b>To:</b> <a href="mailto:saopaulo-pm@mail.pm.org" target="_blank">saopaulo-pm@mail.pm.org</a><br><b>Subject:</b> Re: [SP-pm]
Comparando grande massa de dados<br></font><br></div>
<div>
<div></div>
<div>
<div></div><br><br>
<div class="gmail_quote">Em 19 de maio de 2010 17:39, Guarnieri, Carlos [ICG-IT]
<span dir="ltr"><<a href="mailto:carlos.guarnieri@citi.com" target="_blank">carlos.guarnieri@citi.com</a>></span> escreveu:<br>
<blockquote class="gmail_quote" style="padding-left: 1ex; margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204);">Pessoal,<br>Preciso
fazer a reconciliacao de um banco de dados. Essa reconciliacao tera de rodar
automatica todo final de semana para garantir que alguns sistemas estejam em
sync. Não temos poder sobre o formato do arquivo que vamos receber, mas
terei de comparar com algumas tabelas em nosso banco de dados.<br><br>Enfim
temos umas 50 colunas (algumas de endereco [char 64] / mas a maioria char
20]) e mais de 1 milhao de registros. Entao não quero fazer um sqlload em
nosso banco para comparar via banco.<br>Alguem tem alguma sugestao
interessante de como comparar esses dados? Criar tabela de espalhamento e
testar um contra outro, exportar o banco no mesmo formato do arquivo e fazer
diff no unix (:d)...<br><br>Sugestoes são bem vindas.<br><br></blockquote>
<div><br>Certo! <br><br>1) qual RDBMS você está usando (Postgres, Oracle,
SQLServer, MySQL) ?;<br><br>2) Você mencionou sqlload. Então eu suponho que vc
vai ter que transformar os dados no formato que o sqlload aceita. Se for isso,
você pode usar templates, por exemplo. Um template para cada arquivo recebido
com formato específico, e alguns módulos que receberão os dados e usarão os
templates para formatá-los corretamente;<br><br>3) Exitem módulos para você
trabalhar com o sqlload no CPAN. Sugiro que você dê uma procurada e posta o
RDBMS que vc está usando para que nós possamos sugerir algum módulo para
você;<br><br><br><br>Cheers!<br> </div>
<blockquote class="gmail_quote" style="padding-left: 1ex; margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204);"><br>Valew<br>_______________________________________________<br>SaoPaulo-pm
mailing list<br><a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br><a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a><br>
</blockquote></div><br><br clear="all"><br>-- <br>André Garcia Carneiro<br>Analista/Desenvolvedor
Perl<br>(11)82907780<br></div></div></div><br>_______________________________________________<br>SaoPaulo-pm
mailing list<br><a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br><a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a><br>
</blockquote></div><br><br clear="all"><br>-- <br>André Garcia Carneiro<br>Analista/Desenvolvedor
Perl<br>(11)82907780<br></div></div></div>
<br>_______________________________________________<br>
SaoPaulo-pm mailing list<br>
<a href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a><br></blockquote></div><br><br clear="all"><br>-- <br>André Garcia Carneiro<br>Analista/Desenvolvedor Perl<br>
(11)82907780<br>