Oracle Fleet Patching & Provisioning (FPP) 19c: Criando uma Gold Image Para um Novo Release Update

Introdução

Como apresentado anteriormente, podemos criar uma Gold Image a partir de um Oracle Home ou a partir de um arquivo ZIP baixado do site da Oracle (arquivo zip contendo um binário Oracle). Este post apresenta como criar uma Gold Image atualizada com um novo RU (Release Update) ou PSU (Patch Set Update) baixado do My Oracle Support.

Como é de se esperar, não basta apenas fazer um import com a opção –zip, como na tentativa abaixo:

[grid@fppserver01 ~]$ rhpctl import image -image gi19cR12_teste -zip /home/grid/p32895426_190000_Linux-x86-64.zip
fppserver01.dibiei.com: Audit ID: 100
fppserver01.dibiei.com: Creating a new ACFS file system for image "gi19cR12_teste" ...
fppserver01.dibiei.com: Extracting files to directory /fpp_images/images/igi19cR12_teste529115/swhome...
fppserver01.dibiei.com: Files successfully extracted
fppserver01.dibiei.com: Changing the home ownership to user grid...
PRGO-1870 : The unzipped directory /fpp_images/images/igi19cR12_teste529115/swhome is not a proper Oracle home.

Isso porque a opção -zip requer que o conteúdo do arquivo compactado seja um Oracle Home completo, e nesse caso temos apenas um patch para ser aplicado sobre um Oracle Home.

Um caminho é provisionar uma nova WorkingCopy temporária com o Oracle Home do produto e versão desejada, aplicar o Release Update / PSU com OPatch e então criar uma nova Gold Image a partir dessa WorkingCopy temporária (ao final do processo a WorkingCopy temporária pode ser removida).

A boa notítica é que podemos provisionar uma nova WorkingCopy localmente com um Snapshot do File System ACFS onde a Gold Image de origem reside. Isso além de reduzir considervalemnte os requisitos de espaço em disco para hospedar o novo Oracle Home temporário, também torna o processo extremamente rápido, pois o ACFS cria um clone instananemanete e o snapshot pode ser utilizado em Read-Write graças a tecnologia Copy-on-Write.

Apesar de aparentar ser complexo, na prática o procedimento é muito simples, visto que é realizado automaticamente pelo Fleet Patching and Provisioning quando usamos o parâmetro -local ao criar uma nova WorkingCopy.

Passo a Passo

Neste exemplo estaremos criando uma Gold Image atualizada do software Oracle Grid Infrastructure, usando uma Gold Image com Release Update 11 para criar uma nova com Release Update 12. A seguir são demonstrados os procedimentos para todas as etapas do processo:

  • 1) Criação de um Oracle Home temporário (WorkingCopy)
  • 2) Descompatação do Patch
  • 3) Identificando o Caminho do Oracle Home temporário
  • 4) Configuração das variáveis de ambiente para o OPacthAuto
  • 5) Aplicação dos patches nos binários do Oracle Home temporário
  • 6) Criação da nova Gold Image a partir do Oracle Home atualizado
  • 7) Remoção do Oracle Home temporário

1) Crie uma WorkingCopy temporária

Criando uma nova WorkingCopy localmente usando a Gold Image com Grid Infrastructure 19c Release Update 11:

[grid@fppserver01 ~]$ rhpctl add workingcopy -workingcopy wc_gi19cR12_temp -image gi19cR11 -oraclebase /u01/app/grid -softwareonly -local
fppserver01.dibiei.com: Audit ID: 98
fppserver01.dibiei.com: Storing metadata in repository for working copy "wc_gi19cR12_temp" ...
fppserver01.dibiei.com: Adding storage for working copy ...
fppserver01.dibiei.com: Finding ACFS file system of the image "gi19cR11" ...
fppserver01.dibiei.com: Creating snapshot ...
fppserver01.dibiei.com: Adding user "grid" to ACFS file system "/dev/asm/ghvol156489-365"...
fppserver01.dibiei.com: Home path is set to /fpp_images/images/igi19cR11439597/.ACFS/snaps/wwc_gi19cR12_temp/swhome.
fppserver01.dibiei.com: Provisioning Oracle home...
fppserver01.dibiei.com: Starting clone operation...
========================================
fppserver01.dibiei.com:
[INFO] [INS-32183] Use of clone.pl is deprecated in this release. Clone operation is equivalent to performing a Software Only installation from the image.
You must use /fpp_images/images/igi19cR11439597/.ACFS/snaps/wwc_gi19cR12_temp/swhome/gridSetup.sh script available to perform the Software Only install. For more details on image based installation, refer to help documentation.

Starting Oracle Universal Installer...

[WARNING] [INS-32029] The Installer has detected that the Oracle Base location is not empty.
   ACTION: Oracle recommends that the Oracle Base location is empty.
You can find the log of this install session at:
 /u01/app/oraInventory/logs/cloneActions2021-08-01_03-01-59PM.log
..................................................   5% Done.
..................................................   10% Done.
..................................................   15% Done.
..................................................   20% Done.
..................................................   25% Done.
..................................................   30% Done.
..................................................   35% Done.
..................................................   40% Done.
..................................................   45% Done.
..................................................   50% Done.
..................................................   55% Done.
..................................................   60% Done.
..................................................   65% Done.
..................................................   70% Done.
..................................................   75% Done.
..................................................   80% Done.
..................................................   85% Done.
..........
Copy files in progress.
Copy files successful.

Link binaries in progress.
..........
Link binaries successful.

Setup files in progress.
..........
Setup files successful.

Setup Inventory in progress.
Setup Inventory successful.
..........
Finish Setup successful.
The cloning of wc_gi19cR12_temp was successful.
Please check '/u01/app/oraInventory/logs/cloneActions2021-08-01_03-01-59PM.log' for more details.

Setup Oracle Base in progress.

Setup Oracle Base successful.
..................................................   95% Done.

As a root user, execute the following script(s):
        1. /fpp_images/images/igi19cR11439597/.ACFS/snaps/wwc_gi19cR12_temp/swhome/root.sh

Execute /fpp_images/images/igi19cR11439597/.ACFS/snaps/wwc_gi19cR12_temp/swhome/root.sh on the following nodes:

Veja que o procedimento levou menos de 3 minutos!

[grid@fppserver01 ~]$ head -1 /u01/app/oraInventory/logs/cloneActions2021-08-01_03-01-59PM.log
INFO:  [Aug 1, 2021 3:02:00 PM] Entering OUICloneDriver.load() method...
[grid@fppserver01 ~]$ tail -1 /u01/app/oraInventory/logs/cloneActions2021-08-01_03-01-59PM.log
INFO:  [Aug 1, 2021 3:04:41 PM] Unloading Setup Driver

2) Agora extraimos o patch em um diretório para ser aplicado com o OPatchAuto:

[grid@fppserver01 ~]$ unzip p32895426_190000_Linux-x86-64.zip -d /u01/media/
Archive:  p32895426_190000_Linux-x86-64.zip
   creating: /u01/media/32895426/
  inflating: /u01/media/32895426/README.html
   creating: /u01/media/32895426/32915586/
   creating: /u01/media/32895426/32915586/files/
   creating: /u01/media/32895426/32915586/files/install/
   creating: /u01/media/32895426/32915586/files/install/acls/
  inflating: /u01/media/32895426/32915586/files/install/acls/ss_oracle.usm.acl
  inflating: /u01/media/32895426/32915586/files/install/acls/s_oracle.usm.acl
  inflating: /u01/media/32895426/32915586/files/install/acls/s_oracle.usm.deconfig.acl
  inflating: /u01/media/32895426/32915586/files/install/acls/ss_oracle.usm.deconfig.acl
   creating: /u01/media/32895426/32915586/files/lib/
.......

3) Identifique o caminho do Oracle Home da WorkingCopy que acabmos de criar (Software home path):

[grid@fppserver01 ~]$ rhpctl query workingcopy -workingcopy gi19cR12_temp
fppserver01.dibiei.com: Audit ID: 101
PRGR-118 : Working copy "gi19cR12_temp" does not exist.
[grid@fppserver01 ~]$ rhpctl query workingcopy -workingcopy wc_gi19cR12_temp
fppserver01.dibiei.com: Audit ID: 102
Working copy name: wc_gi19cR12_temp
Image name: gi19cR11
Groups configured in the working copy: OSDBA=asmdba,OSASM=asmadmin
Owner: grid@fppserver
Site: fppserver
Access control: USER:grid@fppserver
Access control: ROLE:GH_WC_ADMIN
Software home path: /fpp_images/images/igi19cR11439597/.ACFS/snaps/wwc_gi19cR12_temp/swhome
Storage type: RHP Managed
Image Type: ORACLEGISOFTWARE
Software only: true
Gold image path:
Work path:
Cluster Name: fppserver
Cluster Type:
Cluster Mode:
Cluster Class:
Cluster Nodes: fppserver01
All patches available in this home: 32585572,32584670,32579761,32576499,32545013
Additional patches compared to the image:
Additional bug fixes that are not in the image:
Complete: TRUE

O Oracle Home é /fpp_images/images/igi19cR11439597/.ACFS/snaps/wwc_gi19cR12_temp/swhome.

4) Configure as variáveis de ambiente ORACLE_HOME e PATH para incluir o diretório do OPatch do Oracle Home em questão:

$ export ORACLE_HOME=/fpp_images/images/igi19cR11439597/.ACFS/snaps/wwc_gi19cR12_temp/swhome
$ export PATH=$ORACLE_HOME/OPatch:$PATH

5) Aplique o Patch no Binário

Observação: Se necessário, atualize a versão do OPatch no Oracle Home temporário. Neste exemplo, a versão do OPatch requisitada para aplicação do RU12 era a mesma que foi utilizada para aplicar o RU11.

Rodando analyze com OPacthAuto (usamos a opção -binary pois é uma instalação softwareonly):

[grid@fppserver01 ~]$ opatchauto apply /u01/media/32895426 -oh $ORACLE_HOME -binary -analyze
Oracle Home : /fpp_images/images/igi19cR11439597/.ACFS/snaps/wwc_gi19cR12_temp/swhome

OPatchAuto binary patching Tool
Copyright (c)2014, Oracle Corporation. All rights reserved.

OPatchauto Version : 13.9.5.0.0
Running from       : /fpp_images/images/igi19cR11439597/.ACFS/snaps/wwc_gi19cR12_temp/swhome

opatchauto log file: /fpp_images/images/igi19cR11439597/.ACFS/snaps/wwc_gi19cR12_temp/swhome/cfgtoollogs/opatchauto/opatchauto_2021-08-01_15-54-31_binary.log

Patch selected: /u01/media/32895426


Analysing this list of patches :
[/u01/media/32895426/32916816, /u01/media/32895426/32915586, /u01/media/32895426/32585572, /u01/media/32895426/32918050, /u01/media/32895426/32904851] ...

Analysis completed.



==Following patches were SKIPPED:

Patch: /u01/media/32895426/32585572
Log: /fpp_images/images/igi19cR11439597/.ACFS/snaps/wwc_gi19cR12_temp/swhome/cfgtoollogs/opatchauto/core/opatch/opatch2021-08-01_15-54-33PM_1.log
Reason: /u01/media/32895426/32585572 is not required to be applied to oracle home /fpp_images/images/igi19cR11439597/.ACFS/snaps/wwc_gi19cR12_temp/swhome


==Following patches were SUCCESSFULLY analyzed to be applied:

Patch: /u01/media/32895426/32916816
Log: /fpp_images/images/igi19cR11439597/.ACFS/snaps/wwc_gi19cR12_temp/swhome/cfgtoollogs/opatchauto/core/opatch/opatch2021-08-01_15-54-33PM_1.log

Patch: /u01/media/32895426/32915586
Log: /fpp_images/images/igi19cR11439597/.ACFS/snaps/wwc_gi19cR12_temp/swhome/cfgtoollogs/opatchauto/core/opatch/opatch2021-08-01_15-54-33PM_1.log

Patch: /u01/media/32895426/32918050
Log: /fpp_images/images/igi19cR11439597/.ACFS/snaps/wwc_gi19cR12_temp/swhome/cfgtoollogs/opatchauto/core/opatch/opatch2021-08-01_15-54-33PM_1.log

Patch: /u01/media/32895426/32904851
Log: /fpp_images/images/igi19cR11439597/.ACFS/snaps/wwc_gi19cR12_temp/swhome/cfgtoollogs/opatchauto/core/opatch/opatch2021-08-01_15-54-33PM_1.log


opatchauto SUCCEEDED.


Tendo validado com sucesso, podemos prosseguir com o Apply:

[grid@fppserver01 ~]$ opatchauto apply /u01/media/32895426 -oh $ORACLE_HOME -binary
Oracle Home : /fpp_images/images/igi19cR11439597/.ACFS/snaps/wwc_gi19cR12_temp/swhome

OPatchAuto binary patching Tool
Copyright (c)2014, Oracle Corporation. All rights reserved.

OPatchauto Version : 13.9.5.0.0
Running from       : /fpp_images/images/igi19cR11439597/.ACFS/snaps/wwc_gi19cR12_temp/swhome

opatchauto log file: /fpp_images/images/igi19cR11439597/.ACFS/snaps/wwc_gi19cR12_temp/swhome/cfgtoollogs/opatchauto/opatchauto_2021-08-01_15-56-14_binary.log

Patch selected: /u01/media/32895426


Analysing this list of patches :
[/u01/media/32895426/32916816, /u01/media/32895426/32915586, /u01/media/32895426/32585572, /u01/media/32895426/32918050, /u01/media/32895426/32904851] ...

Analysis completed.

Analyzing before applying /u01/media/32895426/32904851 ...

Applying /u01/media/32895426/32904851 ...

Patch /u01/media/32895426/32904851 applied.

Analyzing before applying /u01/media/32895426/32915586 ...

Applying /u01/media/32895426/32915586 ...

Patch /u01/media/32895426/32915586 applied.

Analyzing before applying /u01/media/32895426/32916816 ...

Applying /u01/media/32895426/32916816 ...

Patch /u01/media/32895426/32916816 applied.

Analyzing before applying /u01/media/32895426/32918050 ...

Applying /u01/media/32895426/32918050 ...

Patch /u01/media/32895426/32918050 applied.

Exception occured while trying to close the input or output streams

Exception occured while trying to close the input or output streams



==Following patches were SKIPPED:

Patch: /u01/media/32895426/32585572
Log: /fpp_images/images/igi19cR11439597/.ACFS/snaps/wwc_gi19cR12_temp/swhome/cfgtoollogs/opatchauto/core/opatch/opatch2021-08-01_15-56-15PM_1.log
Reason: /u01/media/32895426/32585572 is not required to be applied to oracle home /fpp_images/images/igi19cR11439597/.ACFS/snaps/wwc_gi19cR12_temp/swhome


==Following patches were SUCCESSFULLY applied:

Patch: /u01/media/32895426/32904851
Log: /fpp_images/images/igi19cR11439597/.ACFS/snaps/wwc_gi19cR12_temp/swhome/cfgtoollogs/opatchauto/core/opatch/opatch2021-08-01_15-56-15PM_1.log

Patch: /u01/media/32895426/32915586
Log: /fpp_images/images/igi19cR11439597/.ACFS/snaps/wwc_gi19cR12_temp/swhome/cfgtoollogs/opatchauto/core/opatch/opatch2021-08-01_15-56-15PM_1.log

Patch: /u01/media/32895426/32916816
Log: /fpp_images/images/igi19cR11439597/.ACFS/snaps/wwc_gi19cR12_temp/swhome/cfgtoollogs/opatchauto/core/opatch/opatch2021-08-01_15-56-15PM_1.log

Patch: /u01/media/32895426/32918050
Log: /fpp_images/images/igi19cR11439597/.ACFS/snaps/wwc_gi19cR12_temp/swhome/cfgtoollogs/opatchauto/core/opatch/opatch2021-08-01_15-56-15PM_1.log


opatchauto SUCCEEDED.

Verificando patches aplicados no binário:

[grid@fppserver01 ~]$ $ORACLE_HOME/OPatch/opatch lspatches
32918050;TOMCAT RELEASE UPDATE 19.0.0.0.0 (32918050)
32916816;OCW RELEASE UPDATE 19.12.0.0.0 (32916816)
32915586;ACFS RELEASE UPDATE 19.12.0.0.0 (32915586)
32904851;Database Release Update : 19.12.0.0.210720 (32904851)
32585572;DBWLM RELEASE UPDATE 19.0.0.0.0 (32585572)

OPatch succeeded.

6) Criando uma nova Gold Image a partir do Grid Home atualizado:

[grid@fppserver01 ~]$ echo $ORACLE_HOME
/fpp_images/images/igi19cR11439597/.ACFS/snaps/wwc_gi19cR12_temp/swhome

[grid@fppserver01 ~]$ rhpctl import image -image gi19cR12 -imagetype ORACLEGISOFTWARE -path $ORACLE_HOME
fppserver01.dibiei.com: Audit ID: 107
fppserver01.dibiei.com: Creating a new ACFS file system for image "gi19cR12" ...
fppserver01.dibiei.com: Copying files...
fppserver01.dibiei.com: Copying home contents...
fppserver01.dibiei.com: Changing the home ownership to user grid...
fppserver01.dibiei.com: Changing the home ownership to user grid...

Cosultando a Gold Image criada:

[grid@fppserver01 ~]$ rhpctl query image -image gi19cR12
fppserver01.dibiei.com: Audit ID: 108
Image name: gi19cR12
Owner: grid@fppserver
Site: fppserver
Access control: USER:grid@fppserver
Access control: ROLE:OTHER
Access control: ROLE:GH_IMG_PUBLISH
Access control: ROLE:GH_IMG_ADMIN
Access control: ROLE:GH_IMG_VISIBILITY
Parent Image:
Software home path: /fpp_images/images/igi19cR1294719/.ACFS/snaps/igi19cR12/swhome
Image state: PUBLISHED
Image size: 15189 Megabytes
Image Type: ORACLEGISOFTWARE
Image Version: 19.0.0.0.0:19.12.0.0.0
Groups configured in the image: OSDBA=asmdba,OSASM=asmadmin,OSBACKUP=asmadmin,OSDG=asmadmin,OSKM=asmadmin,OSRAC=asmadmin
Image platform: Linux_AMD64
Interim patches installed: 32918050,32916816,32915586,32904851,32585572
Contains a non-rolling patch: FALSE
Complete: TRUE

7) Agora podemos deletar o Oracle Home (WorkingCopy) temporário:

[grid@fppserver01 ~]$ rhpctl delete workingcopy -workingcopy wc_gi19cR12_temp
fppserver01.dibiei.com: Audit ID: 110
fppserver01.dibiei.com: Executing detach home operation...
========================================
fppserver01.dibiei.com:
Starting Oracle Universal Installer...

Checking swap space: must be greater than 500 MB.   Actual 1048 MB    Passed
The inventory pointer is located at /etc/oraInst.loc
You can find the log of this install session at:
 /u01/app/oraInventory/logs/DetachHome2021-08-01_04-51-54PM.log
'DetachHome' was successful.
fppserver01.dibiei.com: Successfully executed detach home operation.
fppserver01.dibiei.com: Removing storage for working copy ...
fppserver01.dibiei.com: Deleting snapshot for working copy "wc_gi19cR12_temp" with working copy path "/fpp_images/images/igi19cR11439597/.ACFS/snaps/wwc_gi19cR12_temp/swhome" ...

Conclusão

Este post demonstrou como podemos criar novas Gold Images para os novos Patch Set Updates e Release Updates baixados do My Oracle Support, tendo o objetivo de atualizar o repositório do Fleet Patching and Provisioning com os updates lançados pela Oracle trimestralmente. O procedimento se beneficia das capacidades do ACFS para criar um Snapshot de um Oracle Home existente, o que permite criar um novo Oracle Home em poucos minutos.

1 thought on “Oracle Fleet Patching & Provisioning (FPP) 19c: Criando uma Gold Image Para um Novo Release Update”

  1. Pingback: Como Criar Gold Image Usando o Software Base Release + Último RU do GRID e RDBMS no FPP Server – Blog do Dibiei

Leave a Reply

Scroll to Top

Discover more from Blog do Dibiei

Subscribe now to keep reading and get access to the full archive.

Continue reading