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">&lt;<a href="mailto:carlos.guarnieri@citi.com">carlos.guarnieri@citi.com</a>&gt;</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">&lt;<a href="mailto:carlos.guarnieri@citi.com" target="_blank">carlos.guarnieri@citi.com</a>&gt;</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">&lt;<a href="mailto:carlos.guarnieri@citi.com" target="_blank">carlos.guarnieri@citi.com</a>&gt;</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>