Quanto tempo levaria para atualizar um banco de dados Oracle 1T de 10g para 11g?

8

Quanto tempo levaria para atualizar um banco de dados Oracle com dados de 1T de 10g a 11g geralmente / aproximadamente? Preciso estimar o tempo de inatividade, pois é um prod db. Muito obrigado!

magqq
fonte

Respostas:

11

30 a 90 minutos, de acordo com as práticas recomendadas da Oracle para atualização . Essa é a estimativa mais próxima que você receberá de todas as incógnitas nessa situação.

O tamanho do banco de dados realmente importa muito pouco para determinar quanto tempo a atualização levará. Aqui estão os principais fatores que afetam a duração (no blog de atualização do Oracle.com) :

  • Número de componentes e opções instalados do banco de dados - quanto mais componentes / opção forem instalados, mais scripts de atualização precisarão ser executados, mais tempo levará

  • Estatísticas de dicionário válidas e não obsoletas - embora a criação de estatísticas de dicionário em algumas versões mais antigas do Oracle não tenha sido uma idéia brilhante, uma vez que para o suporte ao otimizador baseado em regras, o dicionário de dados deve ser analisado. Especialmente logo antes de uma atualização. Caso contrário, isso acontecerá durante a atualização enquanto o banco de dados for iniciado em um modo de atualização restrita, causando tempo de inatividade adicional.

  • Número de linhas em AUD $ se audit_trail estiver definido como DB

  • Número de sinônimos ao atualizar do Oracle 9i - os sinônimos serão tocados e obterão uma nova dependência no dicionário em DEPENDENCY $ - se houver um número alto (como 100.000), isso pode demorar um pouco

  • Número de objetos no XDB

  • A uma taxa muito baixa se COMPATIBLE for aumentado: Número de arquivos de dados e o tamanho dos redologs

Aqui estão alguns fatores adicionais que você pode considerar que não estão relacionados ao núcleo da própria atualização:

  • Se o script de pré-atualização foi executado e os problemas resolvidos.
  • Quantos objetos inválidos existem.
  • Se a atualização estiver sendo feita no local (vs. Importação / Exportação, Streams, Data Guard, etc.)
  • Se o DBUA ou scripts são usados ​​para fazer a atualização.
  • Se o novo Oracle home estiver pré-instalado.
  • Velocidade e taxa de transferência do disco.
  • Outra atividade da CPU / disco que ocorre ao mesmo tempo.
  • Modo de log de arquivamento.
  • Outras alterações sendo feitas com a atualização.
  • Se um backup a frio for necessário antes e / ou após a atualização.
  • Quaisquer conjuntos de patches ou patches únicos que também serão aplicados.
  • Quanta verificação da atualização precisa ser feita antes que ela possa ser disponibilizada.

Provavelmente, o maior fator que afeta a atualização é o fator desconhecido. Mesmo quando a atualização é praticada com antecedência em um hardware semelhante com conjuntos de dados semelhantes, etc. ainda podem ocorrer coisas imprevistas e que podem afetar drasticamente a duração. Com isso em mente, você deve imitar o ambiente de produção o mais próximo possível das atualizações de teste. Ou seja, o mais próximo possível do seu orçamento.

Se o problema é o espaço que impede você de testar a atualização, considere restaurar o banco de dados em uma caixa de teste, excluindo alguns dos maiores espaços de tabela do usuário. Isso não lhe dará uma idéia exata do tempo, mas deve fornecer uma estimativa mais próxima e permitir que você trabalhe com mais incógnitas.

Leigh Riffel
fonte
Muito atencioso Leigh, você está certo. Muito obrigado!
magqq
5

Presumivelmente, você tem uma instância de desenvolvimento e teste desse banco de dados em execução em hardware semelhante com um volume de dados semelhante e os mesmos componentes de banco de dados instalados, correto? E, presumivelmente, você estará atualizando esses ambientes inferiores (e testando se os aplicativos que usam esse banco de dados ainda funcionam corretamente), correto?

Supondo que seja esse o caso, eu levaria algum tempo para atualizar o banco de dados de desenvolvimento e o usaria como sua estimativa do tempo necessário para atualizar as outras instâncias. Obviamente, existem vários fatores que determinam quanto tempo a atualização real levará. Meu palpite é que o tempo de inatividade provavelmente precisaria ser de apenas uma ou duas horas, mas é muito melhor usar o tempo real necessário para atualizar o desenvolvedor.

Justin Cave
fonte
2
Vamos supor que ele esteja em uma loja barata, sem um ambiente semelhante nas instalações de teste / desenvolvimento e na produção. Se for esse o caso ... o que é um conselho bom o suficiente? :-)
Marian
11
@ Mararian - Como eu disse, meu palpite sem qualquer informação é de uma ou duas horas. Mas se você estiver executando em uma loja barata que nem mesmo compra um ambiente inferior adequado, eu aumentaria bastante a minha estimativa, porque presumiria que algo desse errado durante a atualização. Se você não vai gastar na construção de ambientes inferiores apropriados, não pode esperar grandes níveis de tempo de atividade.
Justin Cave
11
Mesmo se você tiver uma plataforma de desenvolvimento ruim que lhe dará um número decente de estacionamentos de bola para trabalhar. Pegue esse número e, se parecer um pouco baixo, duplique ou triplique e dê esse número à gerência.
Mrdenny 6/09/11
3
@ Marian - Os sábios sabem, porém, que é muito melhor superestimar uma janela de tempo de inatividade do que subestimá-la. Se uma organização não deseja fornecer ambientes adequados para que um DBA obtenha métricas razoáveis, eles precisam aceitar uma janela de tempo de inatividade muito maior do que aceitariam se os ambientes inferiores fossem provisionados adequadamente.
Justin Cave
11
@magqq - A atualização em si não depende normalmente dos dados. Porém, como geralmente você deseja um backup completo antes de uma atualização, a etapa de fazer o backup depende muito do tamanho do banco de dados.
Justin Cave