Todos sabemos que o Oracle 12c foi lançado há algum tempo. Oracle 12.1.0.1 foi o próximo principal versão no ciclo de vida do banco de dados Oracle. Mas o que há em uma versão principal, afinal?
Costumava ser que uma versão principal era um grande negócio. A ACME Corporation lançou seu maravilhoso Widget 4.0 que fez muitas coisas, maiores/mais rápidos/mais fortes, que o Widget 3.0. A atualização da versão principal foi um grande negócio. A sabedoria convencional sustentava que cada versão principal era uma mudança tão significativa que seria tolice atualizar a produção para o Widget 4.0 no momento em que chegasse às ruas. As pessoas diriam que a versão principal tinha muitos bugs. Seria prudente para a carreira esperar pelo Widget 4.1, o primeiro conjunto de patches a ser lançado antes de tentar atualizar a produção. Deixe que outras pessoas resolvam os bugs em vez de arriscar a infraestrutura crítica de negócios da sua empresa na atualização.
Todos nós já estivemos sujeitos a essa linha de pensamento convencional. Quando o Oracle 12c foi lançado pela primeira vez, meus gerentes me perguntaram quando pensaríamos em atualizar nossos sistemas críticos de negócios para a nova versão principal. Na época, dei a resposta padrão sobre a espera pelo primeiro conjunto de patches. Bem, o primeiro patchset, Oracle 12.1.0.2 já saiu e ainda não tenho planos de atualizar a produção de 11.2.0.4. Mas enquanto isso, comecei a pensar sobre esse negócio de “versão principal” e se ainda era aplicável aos ambientes Oracle de hoje.
Para começar, a Oracle Corporation gerencia, mantém, aprimora e aprimora seu principal produto há mais de 35 anos. A versão 1 do Oracle foi criada em 1978, a versão 2 em 1979 e a versão 3 em 1983. Agora, a Oracle está até o Oracle 12c, que está muito longe de sua versão 1 ou 2 dias no final da década de 1970. Além disso, muitas empresas em todo o mundo têm um investimento significativo em sua infraestrutura de banco de dados. A Oracle Corporation quer garantir que esses negócios sejam minimamente impactados, independentemente da versão para a qual o administrador do banco de dados está atualizando.
Qualquer software tem bugs nele. É a natureza da besta. Ao atualizar do Oracle 11.2.0.3 para 11.2.0.4, uma atualização simples do conjunto de patches, ainda encontrei um problema que não esperava. Eu não pulei nenhum conjunto de patches nesta atualização. Eu não fui de uma versão principal para outra. Eu nem fui de uma versão menor (como 11.1) para outra (como 11.2). No entanto, ainda me deparei com um problema que, felizmente, foi examinado em ambientes de não produção antes da atualização da produção. Mesmo aquelas atualizações que parecem simples podem ter problemas com a nova versão, até a quarta casa decimal. Em outra nota, recentemente apliquei uma atualização de patch trimestral em julho para nossos bancos de dados que não são de produção. O simples ato de aplicar os patches de segurança trimestrais (eu aplico o SPU não o PSU maior) quebrou um aplicativo de terceiros. Tivemos que interromper a produção do patch até que uma solução alternativa fosse encontrada. Isso nem foi uma mudança no conjunto de patches e teve um grande impacto em nossos aplicativos.
Ultimamente, a Oracle Corporation introduziu grandes mudanças fora dos principais lançamentos de versões. Por exemplo, quando atualizei nossos ambientes Oracle RAC de 11.1.0.7 para 11.2.0.2, me deparei com novas mudanças na infraestrutura de grade, ou seja, o requisito de multicast e os ouvintes SCAN. Não houve grande atualização de versão aqui, mas grandes mudanças estavam em andamento com esta atualização. Mais recentemente, o Oracle 12.1.0.2 introduziu a opção de banco de dados In Memory. Esse recurso não estava disponível no Oracle 12.1.0.1 e, no entanto, uma simples atualização do conjunto de patches (ou assim pensávamos) trouxe uma grande mudança.
Existem mais versões principais? Para se manter relevante no mundo dinâmico de hoje, a Oracle Corporation está lançando funcionalidades importantes fora das versões principais, o que torna qualquer conjunto de patches uma grande mudança. No mundo em rápida mudança de hoje, o teste adequado é vital mesmo para essas alterações simples do conjunto de patches.
Mais uma vez eu pergunto... o que é uma versão principal, afinal?