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.
Pingback: Como Criar Gold Image Usando o Software Base Release + Último RU do GRID e RDBMS no FPP Server – Blog do Dibiei