sexta-feira, 26 de julho de 2013

Oracle 11.2 PSU Patch GI + RDBMS - Auto

Aplicando um patch psu em ambiente com Oracle Infrastructure, GI Standalone com Oracle RDBMS através do opatchauto.

O opatch auto autonomiza a aplicação completa do Patch para todo ambiente, seja GI, RAC e RDBMS. Deve ser criado um response file e o executado através do root. A aplicação de patchs em ambientes com tais caracteristicas podem ser realizadas manualmente e por etapas, porém acredito que devam ser realizadas com bastante cautela por algum DBA com experiencia e conhecimento suficientes, pois o procedimento deve ser seguido a risca senão o patch irá falhar, a seguir há uma imagem do workflow feito pelo opatch auto tirada do manual da Oracle Opatch Auto Workflow.

Ambiente


SO Version: Oracle Linux 4.7
Oracle Version: Oracle 11.2.0.3
Grid OS Owner: grid
RDBMS OS Owner: oracle
RDBMS BASE: /oracle/app/oracle
RDBMS HOME: /oracle/app/oracle/product/11.2.0.3/db_1
GI BASE: /grid/app/grid
GI HOME: /grid/app/11.2.0.3/grid
Instances: +ASM , orcl

Pre-Requisitos

Opatch Version
Validar segundo documento do patch qual a versão minima do Opatch requerida

$ /OPatch/opatch version
 

Validar o Invetário Conforme Home

$ /OPatch/opatch lsinventory -oh

Download e extração do Pacote do Patch

Patch deve ser acessivel ao grupo de instalação do Oracle e não deve estar contido no /tmp.

Configurar um response file

Parar os serviços do Agent do Enterprise manager:

$ORACLE_HOME/bin/emctl stop dbconsole

Configurar um response file

Atividade obrigatória para realizar a instalação do Patch, durante a instalação do patch será questionado sobre o OCM ( Oracle Configuration Manager ), o qual devido a instalação em silent mode deve estar contido no response file.
A seguir estou configurando o response file para não configuração do OCM, a primeira pergunta não informo e-mail e dou enter, e confirmo novamente.

[grid@os-indaia-orcl-prod ~]$ $ORACLE_HOME/OPatch/ocm/bin/emocmrsp -no_banner -output $ORACLE_HOME/config.rsp
Provide your email address to be informed of security issues, install and
initiate Oracle Configuration Manager. Easier for you if you use your My
Oracle Support Email address/User Name.
Visit http://www.oracle.com/support/policies.html for details.
Email address/User Name:

You have not provided an email address for notification of security issues.
Do you wish to remain uninformed of security issues ([Y]es, [N]o) [N]:  y
The OCM configuration response file (/grid/app/11.2.0.3/grid/config.rsp) was successfully created.
 

Boas Praticas

  • Garantir um backup Full da base de dados.
  • Garantir um backup da instalaçao dos binarios do Oracle.
  • Garantir um backup do inventário.
  • Verificar os conflitos entre os patchs existente com o novo Pacote. 
  • Guardar informações do banco de dados relacionados a pacotes antigos , e componentes .
  • Lista de objetos invalidos.
  • Lista de indices invalidos.
  • Garantir espaço livre no home do Oracle para aplicação do Patch. 

 Instalando

Para esta instalação estaremos aplicando o patch em ambos produtos, GI e RDBMS simultaneamente, fora o stop do EM Agent não será necessário parar mais nenhum serviço, o opatch auto irá cuidar de todo o processo.

# opatch auto -ocmft

[root@os-indaia-orcl-prod /]# /grid/app/11.2.0.3/grid/OPatch/opatch auto /oracle_patch -ocmrf /grid/app/11.2.0.3/grid/config.rsp

Executing /grid/app/11.2.0.3/grid/perl/bin/perl /grid/app/11.2.0.3/grid/OPatch/crs/patch11203.pl -patchdir / -patchn oracle_patch -ocmrf /grid/app/11.2.0.3/grid/config.rsp -paramfile /grid/app/11.2.0.3/grid/crs/install/crsconfig_params

/grid/app/11.2.0.3/grid/crs/install/crsconfig_params
/grid/app/11.2.0.3/grid/crs/install/s_crsconfig_defs

This is the main log file: /grid/app/11.2.0.3/grid/cfgtoollogs/opatchauto2013-07-26_22-46-53.log
This file will show your detected configuration and all the steps that opatchauto attempted to do on your system: /grid/app/11.2.0.3/grid/cfgtoollogs/opatchauto2013-07-26_22-46-53.report.log

2013-07-26 22:46:53: Starting Oracle Restart Patch Setup

Using configuration parameter file: /grid/app/11.2.0.3/grid/crs/install/crsconfig_params

patch //oracle_patch/16619898/custom/server/16619898  apply successful for home  /oracle/app/oracle/product/11.2.0.3/db_1
patch //oracle_patch/16619892  apply successful for home  /oracle/app/oracle/product/11.2.0.3/db_1

Successfully unlock /grid/app/11.2.0.3/grid

patch //oracle_patch/16619898  apply successful for home  /grid/app/11.2.0.3/grid
patch //oracle_patch/16619892  apply successful for home  /grid/app/11.2.0.3/grid

CRS-4123: Oracle High Availability Services has been started.
Failed to start resources from  database home /oracle/app/oracle/product/11.2.0.3/db_1


No meu caso ocorreu erro para iniciar o banco de dados, este passo fiz manualmente com o sqlplus.

Post Installation

Após iniciado o ou os bancos de dados, seguir com esta passo para todas os DBs:


[oracle@os-indaia-orcl-prod admin]$ sqlplus /nolog

SQL*Plus: Release 11.2.0.3.0 Production on Fri Jul 26 23:34:58 2013

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

SQL> connect / as sysdba
Connected.

SQL> @catbundle_PSU_ORCL_APPLY.sql
...
...
...
SQL> SPOOL off
SQL> SET echo off
Check the following log file for errors:
/oracle/app/oracle/cfgtoollogs/catbundle/catbundle_PSU_ORCL_APPLY_2013Jul26_23_35_44.log


Como melhores praticas sempre executo um @?/rdbms/admin/utlrp.sql e um stop/start de cada instancia antes de liberar o ambiente, mas fica a critério, depende de cada patch.

Validação

Para confirmar que a instalação foi com sucesso, vamos verificar o dicionário e os binários:

select action_time, version, COMMENTS, BUNDLE_SERIES
from registry$history;

ACTION_TIME             VERSION        COMMENTS         BUNDLE_SERIES
---------------------------- -------------- -------------------- --------------
18-SEP-11 06.02.59.465921 PM 11.2.0.3        Patchset 11.2.0.2.0  PSU
01-JUN-13 07.10.20.940999 PM 11.2.0.3        Patchset 11.2.0.2.0  PSU
26-JUL-13 11.35.45.217246 PM 11.2.0.3        Patchset 11.2.0.2.0  PSU


$ opatch lsinventory -bugs_fixed

O que irá retornar muitas moleculas portanto deixo de fora.

Concluindo, a aplicação de um patch completa executado pelo opatch auto ficou muito simples, para quem já passou pelos patchs de 8i ou até mesmo 9i vai se surpreender quando se deparar com uma situação dessa, futuramente quero demonstrar esse mesmo patch porém um pouco mais complexo onde iremos exeutar manualmente os steps do opatch auto.

Por favor não deixe de me corrigir ou comentar caso tenha alguma falha no artigo.

Abraços.
Postar um comentário