Sunday, April 30, 2017

Upgrade e Migração - Conceitos Básicos e melhores práticas

Diferença entre uprade e migração


Antigamente eu costumava a dizer de forma resumida que upgrade se faz na mesma maquina e migração se faz em hardware diferentes, apesar de não estar totalmente errado a definição abaixo abaixo faz mais sentido, fica mais claro outras alternativas para se realizar cada operação.

Upgrade: Realizar um upgrade de base de dados Oracle significa atualizar a versão do dicinário de dados, sem de fato alterar os dados interno que se referem a aplicação.

Migração: Migração é o ato de modificar ou mover os dados de usuários ou aplicações, para uma base de dados com o dicionário de dados de destino já atualizado em relação a origem.

Tendo essa conceito acima claro e junto com a analise do ambiente em termos de negocio, podemos começar a imaginar quais são os possiveis metodos para se realizar um upgrade conforme abaixo:

Metodos Disponiveis

Esse diagrama abaixo retrata muito bem as possibilidades que podem ser adotadas para se realizar um upgrade, particularmente gosto muito desse diagrama, o qual é muito intuitivo e didático.

Como pode ser visto o método a ser utilizado irá depender da disponibilidade do ambiente e o tipo de atualização, upgrade ou migração.


Tipos de Instalação


A partir do Oracle 11.2 é possivel ter dois tipos de atualiazação de binário:

In-Place - A instalação dos binários é  feita no mesmo Path da instalação de origem, esse metodo é unico metodo até o 11.1.

Out-Of-Place - A instalação dos binários é feita em um Path diferente da origem, a Oracle recomenda fortemente esse metodo.


Tipos de upgrade


Dependendo da Versão de origem é possivel realizar dois tipos de upgades, direct e indirect:

Direct: O dicionário de dados pode ser atualizado de forma direta, sem a necessidade de utilizar uma versão intermediaria.

Indirect: A versão de origem não pode ser atualizada de forma direta, portanto é necessário realizar o upgrade para uma versão intermediaria para se chegar na versão final, os steps necessários variam muito de origem para destino e é melhor confrontar direto no suporte  da Oracle.


Melhores Práticas 

A seguir algumas atividades e validações que considero como melhores práticas antes e depois de upgrade, e outras são obrigatórias.

Validar o maximo de documentações possiveis:

Validar a documentação completa da Oracle em: Doc.oracle.com

Validar o Upgrade Companion me MOS: 1462240.1

Validar por posssiveis documentação de apoio no Site de Suporte da Oracle, Metalink, costumo procurar por todas as notas como "Complete Checklist for ..." como a nota a seguir: MOS: Complete Checklist for Manual Upgrades to Oracle Database 12c Release 1 (12.1) (Doc ID 1503653.1)

Validar path para o upgrade

Validar se é possivel realizar o upgrade direto da versao origem até a versao final, existe uma matrix de varia de versao a versao, o exemplo abaixo é tomado como versao final a release 12cR1.


Pre-Upgrade Tools


preupgrd.sql - Este script valida alguns componentes que precisam ser corrigidos antes de inicar qualquer upgrade e fornece metodos para correção de problemas  antes de iniciar o upgrade.

O Script de pre-upgrade é obtido primeiramente dentro do diretorio de instalação do Oracle, porém conforme o manula da Oracle existe uma release continua dos script no metalink em, portanto é recomendado que seja obtido o script a partir da nota MOS Pre-Upgrade Utility (Doc ID 884522.1)

dbupgdiag.sql - Coletar informações de diagnostico antes e depois do upgrade mos: Script to Collect DB Upgrade/Migrate Diagnostic Information (dbupgdiag.sql) (Doc ID 556610.1)

hcheck.sql - Script to Check for Known Problems in Oracle8i, Oracle9i, Oracle10g, Oracle 11g and Oracle 12c (Doc ID 136697.1)

Testes

Realizar o maximo de testes possiveis, testar:

  • Testar o Processo de upgrade
  • Testar a base de dados de teste atualizada
  • Testar as novas features

Matriz de Compatibilidade


Pode ser validada a matriz de compatibilidade Database / Server através do site do fabricante em metalink.oracle.com.

Validar a Matriz de compatibilidade Cliente / Servidor em MOS 207303.1.


Post-Upgrade Tools


catuppst.sql - Post Upgrade Tool, este script é obrigatório execução após o termino do upgrade.
postupgrade_fixups.sql - Este script corrigi possiveis problemas detectados durante a migração.
utlu121s.sql - Script que valida o processo de pos-upgrade e detecta possiveis problemas e fornece ferrramentas para tentar soluciona-los

TFA - Instalar a versão mais atual do TFA em TFA Collector - TFA with Database Support Tools Bundle (Doc ID 1513912.1)

Documentação de Apoio:


Para essa pequena introdução foi utilizada as seguintes literaturas:

https://mikedietrichde.com/2013/06/25/oracle-database-12c-is-available-for-download-now - Aborda praticamente todos os aspectos para migrar o Oracle para 12c.
http://oraerp.com/blog/oracle-database-12c-upgrade-migrate-and-consolidate-slide-deck/

mikedietrichde.com
Terça de Dados - Upgrade
Oracle Documentation - Upgrade

MOS: Complete Checklist for Manual Upgrades to Oracle Database 12c Release 1 (12.1) (Doc ID 1503653.1)


E o Livro: Oracle Database 12c New Features o qual aprensenta uma excelente visão geral do processo.

Irei no futuro criar os  topicos os exemplos de upgrade conforme irei estudando.

Abraços pessoal, por favor comente se acharam util ou não. rs.

No comments: