Migrações de Bases de Dados. - Versão de Impressão +- Forum Pplware (http://forum.pplware.com) +-- Fórum: Mais Tech (/forumdisplay.php?fid=11) +--- Fórum: Programação e Web (/forumdisplay.php?fid=16) +--- Tópico: Migrações de Bases de Dados. (/showthread.php?tid=8155) Páginas: 1 2 |
RE: Migrações de Bases de Dados. - aucrun - 30-01-2011 00:03 JPedrosa, Quanto aos CTL files, gostaria que me desses então uma ajuda, por favor. Abaixo segue um exemplo dos ficheiros de Informix que tenho de importar: ---- EXEMPLO--------------------------------------- 1|2009-05-22 17:54:09.000|paulo|lisboa|36|vendedor| 2|2009-05-25 11:13:50.000|pedro|porto|25|professor| 3|2009-05-25 11:24:11.000|ana|faro|33|tenista| 4|2009-05-25 11:26:14.000|rute|evora|29|auxiliar| 5|2009-05-25 11:28:18.000|ines|lisboa|35|enfermeira| ------------------------------------------------------ Obrigado! RE: Migrações de Bases de Dados. - JPedrosa - 30-01-2011 22:34 Porra, esqueci-me de ti rapaz. Um CTL para ti. não mexo em datas com os últimos dígitos, nem aqui pude testar, mas diria que o FF3, é o que precisas. Mandei o exemplo em modo "append", se quiseres em modo replace ... é só apagar o APPEND. Código: load data Olha, segue aqui um ficheiro exemplo, que te dá para veres algumas funções possíveis. É um ctl feito por um colega que eu martelei para reduzir mtos campos e alterar algumas labels. Os selects funcionam como lookups e são muito úteis para carregar tabelas "filhas", ou para carregar códigos em vez de descrições ou o inverso. Por exemplo, no que tu forneceste, imagina que tinhas uma tabela àparte que tinha registos tipo TABELA.CODIGO = VEND, TABELA.DESCRICAO = Vendedor E o teu ficheiro tem a descrição, mas tu queres gravar na tabela o código. Usas um lookup para isto. espero ter ajudado. Código: load data Embora não recomende, isto suporta até carregar para várias tabelas, mas vais-te meter em confusão desnecessária. Algo que te vai ajudar Peço imensa desculpa por me ter esquecido, mas ando sempre a mil. EDIT: Estive a ver aqui exemplos, e o ideal era conseguires tirar do informix sem as fracções de segundo, particularmente se vêm sempre a zero. Vai dar chatisse para importar. É que o Oracle pelo que vi, as fracções de segundos é apenas para a variavel do tipo TimeStamp e não para o Date. Cumps, JP RE: Migrações de Bases de Dados. - aucrun - 31-01-2011 23:43 Obrigado JPedrosa, Era precisamente isto que precisava. Ou pelo menos é um BOM ponto de partida. Quanto às datas, realmente vou precisar de usar o datatype TIMESTAMP do Oracle. Achas que vou ter problemas, estando elas no Informix já com esse formato? Já agora uma outra questão, um pouco off-topic mas que acaba por estar relacionada. Numta tabela nova (vazia) particionada em Oracle, eu consigo usar o SQL Loader para carregar dados, certo? Penso que sim, e ainda não o testei, mas penso que é como se se tratasse duma tabela normal, certo? Obrigado! Abraço, Aucrun RE: Migrações de Bases de Dados. - JPedrosa - 01-02-2011 00:02 Oi, a gestão das partições é feita pelo motor Oracle, aquando do insert a DB sabe que o destino é uma tabela particionada e invoca as regras de particionamento para colocar no respectivo local. Podes, no entanto apontar para uma partition, apenas é útil em situações especificas e penso que não seja o teu caso. O bom do Oracle é que podes sempre especificar tu, se não quiseres deixar as coisas "sub-entendidas" Se fores por aí, toma alguma coisa para te ajudar: http://download.oracle.com/docs/cd/B19306_01/server.102/b14215/ldr_control_file.htm#sthref798 http://download.oracle.com/docs/cd/B19306_01/server.102/b14215/ldr_modes.htm Cumps JP RE: Migrações de Bases de Dados. - aucrun - 01-02-2011 00:09 Obrigado, mais uma vez. Sim, em relação às tabelas particionadas, penso mesmo que o que melhor se encaixa no que preciso é mesmo uma partição simples BY RANGE. No entanto, gostei bastante do que li nas COMPOSITES PARTITIONS. A ideia de fazer uma partição, na qual a mesma se encontra espalhada por diversos Tablespaces pode ser bastante interessante. Quanto ao SQL Loader, penso que o que me mostraste atrás é mais do que o suficiente para começar a criar os meus CTLs para as mais de 100 importações que tenho de fazer. Mais uma vez obrigado! Vou dando feedback. Aucrun RE: Migrações de Bases de Dados. - JPedrosa - 01-02-2011 00:21 De nada. Amanhã se conseguir insiro o teu txt exemplo numa tabela para um campo do tipo timestamp e digo qualquer coisa. Uma coisa que não mencionei para trás, mas convém ter atenção: Os lookups são muito bons para garantir a integridade da DB, eu pessoalmente acho que em tabelas "filhas" devias carregar as FK com lookup à tabela de referência. |