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:
Pre-Requisitos
Opatch VersionValidar segundo documento do patch qual a versão minima do Opatch requerida
$
Validar o Invetário Conforme Home
$
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
[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.