Aplicando Patch em um Engineered System

Todo mundo no mundo de Oracle DBA sabe o valor chave de usar um Engineered System, tipo Exadata ou Supercluster.

Em um banco mission critical on-premises, como DBA a gente precisa consolidar muitos bancos, plataforma em diferentes versões dentro de um Engineered System.

No mundo Engineered System a gente tem diferentes tipos de patch deployment que consiste em um grupo de muitos outros patches pra diferentes versões de bancos / aplicações / sistema / serviços. Eles são chamados de Oracle Engineered Systems Quarterly Patch Deployment (QPD).

A vantagem chave de usar QPD é ficar com os best practices patches que foram recomendados pela Oracle. O QDP fica disponível pra download a cada 4 meses e se você tem um contrato, você pode deixar a Oracle aplicar pra você via contrato ACS / platinum. Mais informações, você pode ver em https://www.oracle.com/assets/as-quarterly-patch-deployment-3042102.pdf.

Experiências pessoais aplicando patch em Engineered Systems (Exadata, Supercluster) Eu tenho algumas experiências aplicando patch em muitos ambientes, sejam sistemas Exadata ou Supercluster.

Primeiro, eu sempre tiro um exachk. É extremamente importante comparar o quão saudável está seu ambiente antes de aplicar. Sempre baixa o último disponível no MOS “Oracle Exadata Database Machine exachk or HealthCheck (Doc ID 1070954.1)”

Segundo, eu recomendo a leitura dessas notas:

Exadata Database Machine and Exadata Storage Server Supported Versions (Doc ID 888828.1)

Oracle SuperCluster Supported Software Versions - All Hardware Types (Doc ID 1567979.1)

PS. nessas notas tem algumas referências a outros Engineered Systems. Se você tem no seu ambiente, por favor dá uma olhada no MOS.

Então antes de baixar, como em todo patch eu recomendo extremamente ler o README de cada patch antes de começar (parece óbvio, mas eu conheço muitos DBAs que não seguem essa regra secreta) e seguir os prechecks como a Oracle recomenda, tipo espaço, checar se tem algum conflito com outro patch, etc.

Algumas dicas baseadas na minha experiência pessoal - Na maioria dos casos, durante o patching alguns erros relacionados com datapatch (no apply do banco) acontecem. Não fica com medo e dá uma olhada em:

Queryable Patch Inventory - Issues/Solutions for ORA-20001: Latest xml inventory is not loaded into table (Doc ID 1602089.1)

12.1 : Datapatch Fails with ERROR “KUP-04004,KUP-04017,KUP-04118,KUP-04095,ORA-29913”," fatal: libjli.so or libpicl.so.1: open failed" (Doc ID 2085653.1)

- Se você tem um ambiente segregado, sempre aplica patches em DEV ou UAT primeiro.

Exemplos de apply de patch no banco

=====

Não fica com medo se você tomar um erro. Acontece com todo mundo:

./datapatch -verbose SQL Patching tool version 12.1.0.2.0 Production on Thu Aug 16 14:39:41 2018 Copyright (c) 2012, 2017, Oracle. All rights reserved.

Log file for this invocation: /u01/app/grid/cfgtoollogs/sqlpatch/sqlpatch_2278_2018_08_16_14_39_41/sqlpatch_invocation.log

Connecting to database…OK Note: Datapatch will only apply or rollback SQL fixes for PDBs that are in an open state, no patches will be applied to closed PDBs. Please refer to Note: Datapatch: Database 12c Post Patch SQL Automation (Doc ID 1585822.1) Bootstrapping registry and package to current versions…done

Queryable inventory could not determine the current opatch status. Execute ‘select dbms_sqlpatch.verify_queryable_inventory from dual’ and/or check the invocation log /u01/app/grid/cfgtoollogs/sqlpatch/sqlpatch_2278_2018_08_16_14_39_41/sqlpatch_invocation.log for the complete error. Prereq check failed, exiting without installing any patches.

Please refer to MOS Note 1609718.1 and/or the invocation log /u01/app/grid/cfgtoollogs/sqlpatch/sqlpatch_2278_2018_08_16_14_39_41/sqlpatch_invocation.log for information on how to resolve the above errors.

SQL Patching tool complete on Thu Aug 16 14:39:59 2018

=====

É tão bom quando tudo funciona como planejado:

./datapatch -verbose SQL Patching tool version 12.1.0.2.0 Production on Thu Aug 16 14:47:57 2018 Copyright (c) 2012, 2017, Oracle. All rights reserved.

Log file for this invocation: /u01/app/grid/cfgtoollogs/sqlpatch/sqlpatch_23787_2018_08_16_14_47_57/sqlpatch_invocation.log

Connecting to database…OK Note: Datapatch will only apply or rollback SQL fixes for PDBs that are in an open state, no patches will be applied to closed PDBs. Please refer to Note: Datapatch: Database 12c Post Patch SQL Automation (Doc ID 1585822.1) Bootstrapping registry and package to current versions…done Determining current state…done

Current state of SQL patches: Bundle series DBBP: ID 180717 in the binary registry and not installed in any PDB

Adding patches to installation queue and performing prereq checks… Installation queue: For the following PDBs: CDB$ROOT PDB$SEED Nothing to roll back The following patches will be applied: 27547374 (DATABASE BUNDLE PATCH 12.1.0.2.180717)

Installing patches… Patch installation complete. Total patches installed: 2

Validating logfiles… Patch 27547374 apply (pdb CDB$ROOT): SUCCESS logfile: /u01/app/grid/cfgtoollogs/sqlpatch/27547374/22329708/27547374_apply__MGMTDB_CDBROOT_2018Aug16_14_48_44.log (no errors) Patch 27547374 apply (pdb PDB$SEED): SUCCESS logfile: /u01/app/grid/cfgtoollogs/sqlpatch/27547374/22329708/27547374_apply__MGMTDB_PDBSEED_2018Aug16_14_52_35.log (no errors) SQL Patching tool complete on Thu Aug 16 14:55:29 2018

=====

Até breve! :-)

Brewed with ☕ since 2017
Criado com Hugo
Tema Stack desenvolvido por Jimmy