Ambiente Utilizado
Abaixo estão as principais caracteristicas do ambiente que será atualizado:
Servidores | ol6-ora121-rac1 | ol6-ora121-rac2 |
Database Name | surt | surt |
Instance Name | surt1 | surt2 |
GI Version | 12.1.0.2 | 12.1.0.2 |
Source Version | 11.2.0.4 | 11.2.0.4 |
Dest Version | 12.1.0.2 | 12.1.0.2 |
ASM Comp | 12.1.0.0.0 | 12.1.0.0.0 |
ASM DG Comp | 10.1.0.0.0 | 10.1.0.0.0 |
DB Comp | 11.2.0.0 | 1.2.0.0 |
SO | Red Hat 6.8 | Red Hat 6.8 |
Principais Alterações Para Atualizar Para o Oracle 12c
No 12c houveram muitas atualizações, o processo de upgrade tradicional o qual estamos acostumados ficou bem diferente, para os DBAs um pouco mais antigos é legal executar alguns Labs antes de partir para produção. As principais modificações estão listadas abaixo:
Pre-requisitos
Upgrade Path
Validar quais "caminhos", são possiveis para realizar o upgrade para a versão 12.1, é importante seguir o patchset minimo para cada versão, a lista completa depende de uma série de fatores e deve ser buscada diretamente do fornecedor, a lista a seguir representa o patch minimo para a versão 12.1, pode ser validada a partir dos caminhos:
MOS: Complete Checklist for Manual Upgrades to Oracle Database 12c Release 1 (12.1) (Doc ID 1503653.1)
Validar a Matrix de Compatibilidade SO / Database
Sempre em qualquer atualização validar a matrix de compatibilidade entre SW e SO, Cluster, ASM, Client e Drivers de Conexão, neste exemplo apenas temos as validações de SO e GI:
A Matrix de cluster por ser encontrada no MOS: Oracle Clusterware (CRS/GI) - ASM - Database Version Compatibility (Doc ID 337737.1)
Validar a Matrix de Compatibilidade Client / Database
Em um ambiente distribuido e importante garantir a inter conectividade entre as bases de dados e clientes nas diversas versões necessárias, utilizar a nota abaixo:
Client / Server Interoperability Support Matrix for Different Oracle Versions (Doc ID 207303.1)
Scripts de validação - Pre-upgrade
Como melhores praticas seguir com a validação da base de dados através da execução dos scripts abaixo, eles podem ser baixados do metalink direto, o que é recomendavel, pois estaremos utilizando a versão mais nova de cada documento.
Após a execução dos script de pre-upgrade seguir com as recomendações e ações necessárias para realizar o upgrade.
Script to Collect DB Upgrade/Migrate Diagnostic Information (dbupgdiag.sql) (Doc ID 556610.1)
How to Download and Run Oracle's Database Pre-Upgrade Utility (Doc ID 884522.1)
hcheck.sql - Script to Check for Known Problems in Oracle8i, Oracle9i, Oracle10g, Oracle 11g and Oracle 12c (Doc ID 136697.1)
Após a execução dos scripts acima e qualquer correção apontada, seguir para o passo abaixo
Recomendações gerais
Abaixo estão os passos que eu considero importantes de serem executados e validados antes do upgrade, a lista completa pode ser encontrada em:
Complete Checklist for Manual Upgrades to Oracle Database 12c Release 1 (12.1) (Doc ID 1503653.1)
Oracle 12cr1 Upgrade Companion(Doc ID 1462240.1)
- Truncar a tabela sys.aud$;
- Esvaziar a Recycle Bin;
- Remover objetos do sys e system duplicados, sob a supervisão da Oracle;
- Remover componentes obsoletos;
- Validar instalação e o Inventário;
- Instalação de qualquer Patchset e/ou PSU necessáros;
- Coletar estatisticas para o sys;
- Copiar arquivos de Network e Password entre as instalações de origem e destino.
Executando o upgrade na base de dados
Após os passos acima serem executados, podemos prosseguir com o processo de upgrade, para ajudar no processo utilizei as notas abaixo:
MOS: Oracle 12cR1 Upgrade Companion (Doc ID 1462240.1)
MOS: Complete Checklist for Manual Upgrades to Oracle Database 12c Release 1 (12.1) (Doc ID 1503653.1)
A maior diferença no processo de upgade entre as versões pre-12c é que na versão 12c temos o novo script em perl catctl.pl que executa o script catupgrd.sql, o script aind pode ser executado como era feito antes, porém não é recomendado pela Oracle.
O script catctl.pl nos permite executar o script em parallel e a trabalhar com banco de dados em multitenant, oferencendo maior flexibilidade ao processo de upgrade. O utilitário DBUA faz uso do script catctl.pl.
Passo a Passo
- Para banco de dados em Oracle RAC configurar o parametro cluster_database para false
- Parar a base de dados
- SQL> shutdown immediate;
- Copiar arquivos de inicialização e senha dos home antigo para o home novo:
- $ORACLE_HOME/dbs/init$ORACLE_SID.ora
- $ORACLE_HOME/dbs/orapwd$ORACLE_SID
- Ajustar scripts e variaveis de ambiente que apontem para o ORACLE_HOME antigo para o novo
- /etc/oratab
- Iniciar a base de dados em startup upgrade
- Este processo permite que a instancia antiga inicie com um binário mais novo.
- SQL> startup upgrade
- Executar o script de upgrade
- cd $ORACLE_HOME/rdbms/admin
- $ORACLE_HOME/perl/bin/perl catctl.pl catupgrd.sql
- O Script permite algumas parametrizações como controle da saida de log, numero de processos em parallelo e excluir ou incluir um PDB durante o processo de upgrade, a lista pode ser encontrada em:
- Revisar o log de upgrade procurando por erros
- Abrir o banco de dados na nova versão
- SQL> startup
Atividade Pós upgrade
Após a execução do script de atualização, seguir com as atividades de pós atulização conforme abaixo, alguns passos mais detalhados podem ser encontrados em:
MOS: Oracle 12cR1 Upgrade Companion (Doc ID 1462240.1)
MOS: Complete Checklist for Manual Upgrades to Oracle Database 12c Release 1 (12.1) (Doc ID 1503653.1)
- Recompilar os objetos invalidos executando o script abaixo
- $ORACLE_HOME/perl/bin/perl catcon.pl -n 1 -e -b utlrp -d '''.''' utlrp.sql
- Executar o script de post-upgrade gerado pelo passo de pre-ugrade utility
- postupgrade_fixups.sql
- Executar o script utlu121s.sql para validar que todos os problemas foram resolvido
- SQL> @rdbms/admin/utlu121s.sql
- Executar o script utluiobj.sql para validar que todas packages esperadas estejam validas
- $ORACLE_HOME/perl/bin/perl catcon.pl -n 1 -e -b utluiobj -d '''.''' utluiobj.sql
- Executar o script de diagnostico e comparar o resultado com o diagnostico antes do upgrade
- Script to Collect DB Upgrade/Migrate Diagnostic Information (dbupgdiag.sql) (Doc ID 556610.1)
- Executar um backup da base de dados
- Coletar estatisticas do dicionário
Existem outras atividades que podem ser necessárias, mas devem ser avaliadas conforme o ambiente em questão.
Diogo Nomura
Nenhum comentário:
Postar um comentário