yep, é bem comum vc ter um punhado de tabelas gigantes, excelentes candidatas 
para insert /*+APPEND*/ , e ter um resto de tabelas relativamente pequenas, que 
não compensam o trabalho de montar INSERT /*+APPEND */ nelas, podem 
tranquilamente ser exportadas/importadas, sim ...
   E só pra deixar claro pra quem eventualmente ler a thread, vc só está 
testando/validando a possibilidade de criar banco vazio em novo release e 
depois trazer os dados via import/dblink/whatever porque :
   
   - a sua janela não obrigatoriamente tem que ser a menor das menores
   
   e
   
   - vc pensa que pode se aproveitar da vantagem de recriar, que é criar as 
estruturas do banco vazio efetivamente usando as novas features e recomendações 
da nova versão
   
   é Claro que SE o tempo fosse absolutamente, completamente primordial já é 
sabido que conversão é mais rápida que recriação, E se o seu objetivo fosse ter 
o banco no novo release ainda sem usar/se aproveitar as novas features não se 
justificaria criação de banco vazio + transferência de dados, só se faria mesmo 
a Conversão do que vc já tem....
   
    []s
    
      Chiappa

--- Em oracle_br@yahoogrupos.com.br, Daniel Mello <djnmello@...> escreveu
>
> Show de bola Chiappa.
> 
> Realmente não havia pensado na hipótese de criar dblink, criar faixas de 
> execuções (no meu caso são poucas tabelas, porém gigantes) e disparar sessões 
> em paralelo consumindo as faixas previamente criadas. 
> Com insert + append e bulk collect imagino que a performance realmente será 
> melhor do que exp/imp. Vou começar a testar para encontrar o melhor 
> equilíbrio de "faixas x sessões" que meu hardware irá suportar. De qualquer 
> forma respondo pra vocês qual foi a melhor alternativa pro meu cenário.
> 
> Muito obrigado.
> Daniel.
>  
> 
> 
> 
> Em Terça-feira, 29 de Outubro de 2013 18:30, J. Laurindo Chiappa 
> <jlchiappa@...> escreveu:
>  
> Sim, é isso mesmo... Apenas friso que :
> 
> a. sem a menor dúvida o procedimento de conversão/upgrade do banco que já 
> existe vai ser Pelo Menos umas 3x mais rápido do criar banco vazio e 
> transferir/exportar dados para ele, mas para saber exatamente o quanto mais, 
> PLZ faça uma comparação ** JUSTA ** , usando os procedimentos Corretos - 
> mandar um exp e um imp full com tudo default é Óbvio que vai demorar uma 
> imensidão...
>   Dá uma olhada nas msgs arquivadas do Grupo sobre o assunto, mas PELO MENOS 
> vc deveria :
>   
>     1. para as relativamente poucas tabelas Realmente gigantes que 
> normalmente se tem num database , ao invés de exp+imp tente um INSERT /*+ 
> APPEND */ via dblink, em paralelo
>     
>     2. vc vai exportar APENAS e TÃO SOMENTE dados : índices, constraints, 
> estatísticas, grants, triggers e quetais vc só extrai o DDL, altera-o para 
> permitir paralelismo/novalidate/nologging e só DEPOIS dos dados todos 
> importados/inseridos vc os cria... 
>      Teste também o quanto melhora a performance da importação vc pré-criar 
> antes as tablespaces/tabelas usando apenas tablespaces LMT, segmentos ASSM, 
> initial/next/pctincrease controlado default pela tablespace, PCTFREE/PCTUSED 
> otimizado para INSERTs (sem reservar espaço, ou reservando o mínimo para 
> UPDATEs)...
>     
>     3. vc vai ter múltiplas sessões de exportação e depois múltiplas de 
> importação, em paralelo : quantas vai depender do seu hardware, mas teus 
> testes vão indicar isso, fatalmente vc aumentando sessões simultâneas chega 
> rapidamente uma hora que o retorno é negativo
>     
>     4. se forem servidores diferentes, vc vai testar mas via de regra é mais 
> performático vc gerar os arquivos de export localmente primeiro e só depois 
> os transferir para o servidor-destino via ftp ou qquer coisa assim do que os 
> gerar diretamente no servidor-destino via rede
>     
>     5. as OPÇÕES , principalmente para a exportação , NUNCA devem ser default 
> : se vc for usar exp tradicional (provável, já que 8i não aceita 
> expdp/datapump), assegure-se de ao menos incluir (em todas as sessões) 
> DIRECT=Y BUFFER=algunsmbytesnúmerograndemasquevcteemRAM RECORDLENGTH=65535 
> STATISTICS=NONE RECORD=N COMPRESS=N 
>     
> b . Não deixe de aproveitar essas migrações-teste para TESTAR também a 
> Aplicação contra o banco mais recente : não é de jeito nenhum impossível vc 
> ter alterações até radicais de comportamento/performance no novo release do 
> RDBMS, que podem demandar upgrade também do middleware, e/ou ajustes em SQLs, 
> ou coisas assim...
> 
>    []s
>   
>      Chiappa
> 
> --- Em oracle_br@yahoogrupos.com.br, Daniel Mello <djnmello@> escreveu
> >
> > Muito obrigado a todos pela ajuda.
> > Pra eu encontrar a média de tempo para janela de migração, terei que 
> > ensaia-la algumas vezes, vou tentar todas as alternativas para escolher a 
> > que se sair melhor.
> > 
> > Agradecido.
> > Daniel.
> > 
> > 
> > 
> > Em Segunda-feira, 28 de Outubro de 2013 18:13, J. Laurindo Chiappa 
> > <jlchiappa@> escreveu:
> >  
> >   Tudo jóia, Daniel ? Deixe-me aproveitar e esclarecer um pouco o assunto, 
> > para vc poder fazer uma análise mais criteriosa aí das suas opções e tomar 
> > uma decisão mais informada ....
> >   
> >   1. Quando a gente fala em database , no mundo Oracle, a gente está se 
> > referendo aos arquivos em disco que contém dados e metadados (ie, 
> > datafiles, tempfiles, controlfiles, etc), arquivos esses que são 
> > abertos/controlados pelo software RDBMS Oracle, formando a instância 
> > Oracle...
> >    Para podermos passar a utilizar uma versão mais recente do RDBMS Oracle 
> > (o software), vc primeiro precisa (tirando um BACKUP COMPLETO antes, óbvio 
> > :) instalar a nova versão do software no servidor em questão (no mesmo 
> > diretório/oracle home ou em um diferente, embora o mais recomnendado seja 
> > num HOME novo), E depois aí sim : ** OU ** vc cria um database vazio com 
> > esses binários da nova versão e transporta/transfere os dados do banco 
> > velho para o novo banco vazio, ** OU ** vc CONVERTE esse database (esse 
> > conjunto todo de arquivos de dados e metadados) já existente para poder ser 
> > aberto e usado pela nova versão de RDBMS...
> >    Ambos os procedimentos tem vantagens e desvantagens : para a opção de 
> > transferir os dados para um novo database, a Vantagem principal é que, como 
> > vc criou um database vazio, com tablespaces novas, tudo novo, vc Obviamente 
> > usou/vai usar as features de armazenamento e controle introduzidas pelo 
> > novo RDBMS que te sejam úteis e que vc não usava na antiga, como (digamos) 
> > ASSM, undo automático , tablespace SYSTEM criada como LMT, etc, etc... A 
> > Desvantagem é que realmente criar E transferir os dados demora Muito Mais 
> > do que só a conversão, que é relativamente simples e rápida.. Vice-versa as 
> > vantagens/desvantagens de usar a conversão...
> >   
> >   2. Rigorosamente NÃO É só o tamanho do teu database que vai ser o seu 
> > único guia, mas sim TAMBÉM o tamanho da tua janela de manutenção : Lógico 
> > que se vc tiver, digamos, os dois dias do fim de semana para fazer o 
> > upgrade E as vantagens de recriar o database são atrativas para vc, Não Tem 
> > porque deixar de considerar as técnicas de export/transferência de dados do 
> > database velho para um novo recém criado vazio...
> >   
> >   3. A sua performance NECESSARIAMENTE vai variar grandemente dependendo do 
> > teu hardware, Óbvio, mas tipicamente em hardware de Produção eu vi 
> > conversão de database de 500 GB demorar coisa de 4 ou 5 horas, e 
> > transporte/export de dados (USANDO as técnicas corretas/adequadas. como 
> > Paralelismo, múltiplas instâncias, não-validação de constraints, etc, etc) 
> > para esses mesmos 500 GB levar coisa de umas 15 horas....
> > 
> >    []s
> >       
> >         Chiappa
> > 
> > 
> > --- Em oracle_br@yahoogrupos.com.br, Daniel Mello <djnmello@> escreveu
> > >
> > > Boa tarde pessoal.
> > > 
> > >    Por favor, tenho um banco para migrar e por ele ser uma versão antiga, 
> > > a 8i (vai para a 11g), não sei ao certo qual estratégia usar, levando em 
> > > consideração seu tamanho, aproximadamente 500gb, pensei em expdp, mas 
> > > acredito que o tempo será mto alto para esse cenário. Alguém já fez algo 
> > > semelhante?
> > > 
> > > Obrigado.
> > > Daniel.
> > >
> > 
> > 
> > 
> > 
> > ------------------------------------
> > 
> > --------------------------------------------------------------------------------------------------------------------------
> > >Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de 
> > >inteira responsabilidade de seus remetentes.
> > Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
> > --------------------------------------------------------------------------------------------------------------------------
> > >Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure 
> > >» Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: 
> > >http://www.oraclebr.com.br/  
> > ------------------------------------------------------------------------------------------------------------------------
> >  Links do Yahoo! Grupos
> > 
> >     http://info.yahoo.com/legal/br/yahoo/utos/terms/
> 
> >
> 
> 
> 
> 
> ------------------------------------
> 
> --------------------------------------------------------------------------------------------------------------------------
> >Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira 
> >responsabilidade de seus remetentes.
> Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
> --------------------------------------------------------------------------------------------------------------------------
> >Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » 
> >Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: 
> >http://www.oraclebr.com.br/  
> ------------------------------------------------------------------------------------------------------------------------
>  Links do Yahoo Grupos
> 
>     http://info.yahoo.com/legal/br/yahoo/utos/terms/
>


Responder a