Buenas pra todos que acompanham nossas postagens aqui!
Vou explicar aqui, brevemente, a estratégia utilizada para a migração do ambiente de um cliente.
Cenário antigo: O.S. 64bit Oracle 9i 32bit enterprise (banco 32 em o.s. 64...) Tamanho inicial do banco:
Dois Intel(R) Xeon(R) CPU X5570 @ 2.93GHz quad-core, com HT, atuando como 16 cores Cenário desejado: O.S. 64bit Oracle 11g 64bit enterprise (em matriz suportada pela Oracle...) Tamanho final do banco:
Dois Intel(R) Xeon(R) CPU X5670 @ 2.93GHz six-core, com HT, atuando como 24 cores
* A janela disponível para a migração era de 4hs;
* Não podíamos utilizar o ‘upgrade’ pois o banco 9i já teve vários sinistros e não queríamos corrupções e vícios;
* Um SCHEMA corresponde a praticamente 80% do tamanho final do bd;
* Aproveitando o poderío do hardware (proc + mem + I/O) a chave para otimizar o processo foi… paralelizar ao máximo! 🙂
* Desta forma chegamos a seguinte estratégia de migração:
A- Preparação da base no dia anterior:
B- Upgrade day!!! Start 0h e 25m do dia 18/03/2012
Ufaaaaa… acreditem se quiser senhores… com esse controle todo, esse paralelismo todo, e tirando todo o proveito do ótimo hardware oferecido, fomos capazes de migrar essa base em 200 minutos.
A máquina em certos momentos atingiu um L.A. de 142… hehehehe, principalmente durante a criação dos indexes com paralell 60 e enable das constraints. Chegavam a existir em certo momento 260 processos slave no banco. (evil… hehehehe)
Então foi isso, gostaria de compartilhar essa experiência com todos… foi um ótimo aprendizado e exigiu muito controle e log de tudo, mas otimizou demais o processo!
Qualquer dúvida, maiores explicações ou até mesmo sugestões de como eu poderia ter melhorado o processo, por favor comentem.
Um grande abraço…
Ps. Amigo Valter, vale uma barra de chocolate se adivinhar qual o cliente e qual a base? 😉
Att,/Regards,
Vitor Jr.
Infraestrutura / Infrastructure Team
Oracle 11g DBA Certified Professional – OCP
Oracle Database 11g Performance Tuning Certified Expert – OCE
Oracle Exadata 11g Certified Implementation Specialist
mail, gtalk e msn: [email protected]
skype: vjunior1981
Parabéns pelo case, excelente preparação e execução.
Abraço,
Valter
ps.: A base seria aquela que deu problema no DBW0 por causa dos datafiles reduzidos? Ganhei?
Preto ou branco? Devo remeter pra residência ou pra DELL? hahahahaha
Fala cara tudo bem? Muito bom esse post. Ficou bem claro. Apenas uma curiosidade, porque importar as estatísticas do 9i para o 11g?
Abs!
Valeu Fernando, obrigado pelo feedback.
Não era um pré-requisito. Apenas quis manter como estava o banco de onde trouxe os dados. Depois agendei uma rotina para coleta de estatísticas normalmente. Não utilizo o job que vem pré-configurado.
Grande abraço.
att
Vitor Jr
Olá Vitor blz,
Parabéns pelo artigo/post muito bom mesmo.
Eu gostaria de lhe fazer uma pergunta, pois me enviaram um arquivo dump gerado através do utilitário exp de uma base de dados na versão 11g.
E que devo importar na versão 9i, mas pelo que venho pesquisando em sites e na documentação da Oracle, não viável.
Conversando com outro DBA o mesmo me disse para subir o arquivo em uma versão 11g, criar um DBLink no 9i apontando para o 11g e depois fazer o import, mas não sei se também isso seria viável.
Se puder me passar alguma dica lhe agradeço.
Abraços,
Sandro.
Olá Sandro, tudo certo? Obrigado por acompanhar o blog! 🙂
Sugiro o seguinte, caso haja a possibilidade:
1) realizar o import em uma base 11g;
2) em um client 9i adicionar uma entrada para esse 11g no tnsnames;
3) através do client 9i realizar um exp informando a entrada tns da base 11g.
Digamos que a entrada no tnsnames se chame ‘base11g’. O comando ficaria algodo tipo:
exp system/senha@base11g file=blablabla.dmp log=blablabla.log
Executado a partir do 9i. Também servirá caso o dump tenha sido gerado com expdp.
Nesse caso terá que ser executado um impdp no 11g e depois um exp tradicional com o client 9i.
Caso tenha alguma dúvida, entre em contato!
Att
Vitor Jr
Entendi Vitor,
Vou seguir seu conselho e depois irei postar aqui o resultado.
Mas independente do resultado te agradeço pela atenção.
Abraços,
Atenciosamente,
Sandro
Tranquilo Sandro! Se precisar de um auxílio estamos aí… 🙂
Att
Vitor Jr
Bom dia Vitor, Seu post está sendo de grande valia ao meus estudos… Sou novo na área de DB… Estou focando-me nesta área e estudando para OCA e gostaria muito de sua ajuda numa seguinte dúvida, talvez um pouco “dummy” 8-]… vamos lá:
Supondo que terei uma questão que solicita migrar todos os dados das estruturas das tabelas de um DB antigo 9i para um novo 11gR2., A(s) estrutura(s) da(s) tabela(s) no novo db será/serão diferente(s), ou seja, nenhuma tabela atual será igual a antiga, quantidade de colunas diferentes etc… porém terá q ter os mesmos dados sem q q perda.
Espero ter sido claro na minha dúvida!
Se há documento técnicos, por favor, envie-me os links para estudá-los.
parabéns, grande abraço e Obrigado de antemão.
Juliano, essa tua ideia, se é que é tua… rsrsrs está muito complicada.
Porque não migrar o banco tal-qual o banco de origem e depois de migrado efetuar as alterações estruturais nas tabelas, objetos?
Da forma que tu colocas aumenta muito a complexidade… mas ainda seria possível… uma inserção via dblink especificando as colunas, com select dinâmico… enfim…
Acrescento que isso aumenta e MUITO a complexidade e o controle necessário.
Desculpe a demora na resposta, ando envolvido em várias funções, espero conseguir voltar a me dedicar ao blog… 🙂
att
Vitor Jr