Olá pessoal,
Espero que estejam bem!
Um cliente nos contatou solicitando que atualizássemos o seu ambiente de Oracle Enterprise Manager e os agentes do 13.5.0.16 para a última release disponível.
Primeiro de tudo, nós precisamos entender de qual nota de suporte nós podemos encontrar o último RU disponível para o RU. Vamos lá:
Enterprise Manager 13.5 Main Release Update List (Includes Plug-ins) (Doc ID 2760230.2)
Temos muitas informações nessa nota, eu vou mostrar abaixo as duas seções onde podemos obter o último RU para o OEM e o último RU para o OEM Agent.
Abaixo temos a informação para o último RU para o OMS (Oracle Management Service), o servidor de OEM propriamente dito:
Abaixo temos a informação para o último RU para o OEM Agent:
OK, então por enquanto, sabemos que temos que aplicar pelo menos dois patches:
- 36005341: RU 20 para o OMS
- 36005346: RU 20 para o OEM Agent
Agora, temos que checar a nota para o patch:
Nessa nota, podemos encontrar algumas informações úteis:
Então, basicamente, temos três instruções principais aqui:
- Passos obrigatórios a serem executados depois de aplicarmos o RU;
- Patches obrigatórios a serem aplicados antes de aplicarmos o RU;
- Se o seu DB repositório está rodando no RU 19.18, também há patch(es) mandatório(s). No nosso caso, nós não temos que aplicar o patch porque o repositório está rodando no RU 19.21.
Por favor, tenham em mente que antes de iniciarmos com a aplicação do patch no OEM e nos OEM Agents, nós também temos que atualizar as ferramentas que usaremos para esse update. Mas, como temos que também aplicar alguns “one-off” patches no OEM antes do RU, também precisamos atualizar a tool que será usada para aplicar os “one-off” patches no OEM.
Se você é um DBA, você provavelmente já conhece bem sobre o OPatch. OK, para o OEM/OEM Agent, as tools são um pouco diferentes:
- omspatcher: para aplicar patches no OMS
- opatch: para aplicar os one-off patches no OMS
- agentpatcher: para aplicar patches no OEM Agent
Perfeito, então temos que atualizar o omspatcher, opatch and agentpatcher, você precisa seguir três notas para isso:
13.5: How to Upgrade AgentPatcher to the Latest Version (Doc ID 2810322.1)
Então, para resumir, para que consigamos atualizar o omspatcher, opatch e agentpatcher, os seguintes patches precisam ser aplicados:
Patch 19999993: OMSPatcher patch of version 13.9.5.18.0 for Enterprise Manager Cloud Control 13.5.0.0.0
Patch 33355570: AgentPatcher release of version 13.9.5.6.0 for Enterprise Manager Cloud Control Agent 13.5.0.0.0
Patch 28186730: OPatch 13.9.4.2.14 for EM 13.4, EM 13.5 and FMW/WLS 12.2.1.3.0, 12.2.1.4.0 and 14.1.1.0.0
Perfeito, então precisamos fazer o download de 8 arquivos no total:
- ————————————————–
- Servidor OEM:
- 36005341: RU 20 para o OMS
- 19999993: OMSPatcher version 13.9.5.18.0
- 35430934: MERGE REQUEST ON TOP OF 12.2.1.4.0 FOR BUGS 32720458 33607709
- 34153238: HTTPS PROXY CONFIGURATION IS NOT USED WHEN PROTOCOL IS CONFIGURED TO TCP
- 31657681: THREADS CONTEND FOR LOCK IN LOADFILEBASEDKEYSTORE WHEN OPENING TLS/SSL ENABLED JDBC CONNECTIONS
- 28186730: OPatch 13.9.4.2.14 for EM 13.4, EM 13.5 and FMW/WLS 12.2.1.3.0, 12.2.1.4.0 and 14.1.1.0.0
- ————————————————–
- OEM Agent:
- 36005346: RU 20 for OEM Agent
- 33355570: AgentPatcher version 13.9.5.6.0
- ————————————————–
Perfeito!
Vamos então realizar o update do OMSPatcher e OPatch.
O ORACLE_HOME para o OEM é: /u04/app/oracle/product/OEM_135.
O usuário no sistema operacional que é o owner do OEM é o: oraoem.
A variável de ambiente PATH está definida como: $ORACLE_HOME/bin:$ORACLE_HOME/OMSPatcher:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:
Basicamente, precisamos fazer o seguinte:
- Fazer um backup do diretório atual do omspatcher;
- Descompactar/extrair o patch 19999993 no $ORACLE_HOME para “instalar” o novo omspatcher;
- Checar se o omspatcher foi atualizado.
- Descompactar/extrair o patch 28186730 (para atualizar o OPatch);
- Aplicar o patch 28186730;
- Checar se o OPatch foi atualizado.
Com o usuário que é o dono do OEM no sistema operacional (Linux):
cd $ORACLE_HOME
mv OMSPatcher OMSPatcher.bkp.20230908
cp /sapcd/OEM_13.5.0.20/p19999993_135000_Generic.zip .
unzip -q -o p19999993_135000_Generic.zip
omspatcher version
OMSPatcher Version: 13.9.5.18.0
OPlan Version: 12.2.0.1.16
OsysModel build: Tue Apr 28 18:16:31 PDT 2020
OMSPatcher succeeded.
Agora, vamos atualizar o OPatch:
cd /sapcd/OEM_13.5.0.20
unzip -q -o p28186730_1394214_Generic.zip
$ORACLE_HOME/oracle_common/jdk/jre/bin/java -jar /sapcd/OEM_13.5.0.20/6880880/opatch_generic.jar -silent oracle_home=$ORACLE_HOME
$ORACLE_HOME/OPatch/opatch version
OPatch Version: 13.9.4.2.14
OPatch succeeded.
OK, antes de aplicarmos os patches, é bom salvarmos algumas informações do nosso ambiente. Vamos checar o status do OMS com a flag details. Com o usuário oraoem:
emctl status oms -details
Oracle Enterprise Manager Cloud Control 13c Release 5
Copyright (c) 1996, 2021 Oracle Corporation. All rights reserved.
Console Server Host : OEM-01.domain.com
HTTP Console Port : 7788
HTTPS Console Port : 7802
HTTP Upload Port : 4889
HTTPS Upload Port : 4903
EM Instance Home : /u04/app/oracle/product/gc_inst2/em/EMGC_OMS1
OMS Log Directory Location : /u04/app/oracle/product/gc_inst2/em/EMGC_OMS1/sysman/log
OMS is not configured with SLB or virtual hostname
Agent Upload is locked.
OMS Console is locked.
Active CA ID: 2
Console URL: https://OEM-01.domain.com:7802/em
Upload URL: https://OEM-01.domain.com:4903/empbs/upload
WLS Domain Information
Domain Name : GCDomain
Admin Server Host : OEM-01.domain.com
Admin Server HTTPS Port: 7102
Admin Server is RUNNING
Oracle Management Server Information
Managed Server Instance Name: EMGC_OMS1
Oracle Management Server Instance Host: OEM-01.domain.com
WebTier is Up
Oracle Management Server is Up
JVMD Engine is Up
Agora, precisamos aplicar os one-off patches, já que eles estão listados como requisitos para serem aplicados ANTES de aplicarmos o OEM 13.5 RU 20.
Os patches a serem aplicados agora estão listados abaixo:
- 35430934: MERGE REQUEST ON TOP OF 12.2.1.4.0 FOR BUGS 32720458 33607709
- 34153238: HTTPS PROXY CONFIGURATION IS NOT USED WHEN PROTOCOL IS CONFIGURED TO TCP
- 31657681: THREADS CONTEND FOR LOCK IN LOADFILEBASEDKEYSTORE WHEN OPENING TLS/SSL ENABLED JDBC CONNECTIONS
Todos os três patches listados acima possuem basicamente as mesmas instruções de Pré-Instalação:
Se você observar o Step 2 está bem claro: faça o Stop de todos os Servers (Admin Server e Managed Server(s)).
Para isso, precisamos parar o OEM. Tenha em mente que o comando para parar o OEM geralmente para somente o OEM, mas não o Admin Server. Para parar tudo, inclusive o Admin Server, você precisa usar a flag “-all”. Vamos fazer isso:
emctl stop oms -all -force
O próximo passo é aplicar os patches. Eu não vou mostrar todos os outputs/saídas porque o blog post ficaria imenso. Vou focar nos seguintes passos:
Então, eu vou executar os seguintes passos:
- Ir para o diretório stage onde eu tenho os arquivos de patch;
- Descompactar todos os arquivos de patch;
- Aplicar os patches um por um.
Quando o opatch perguntar por sua confirmação, simplesmente pressione “y” para seguir adiante.
cd /sapcd/OEM_13.5.0.20
unzip -q -o p35430934_122140_Generic.zip
unzip -q -o p34153238_122140_Generic.zip
unzip -q -o p31657681_191000_Generic.zip
cd 35430934
opatch apply
cd ..
cd 34153238
opatch apply
cd ..
cd 31657681
opatch apply
cd ..
Como um exemplo do opatch apply, vamos checar o output para um patch apenas:
Oracle Interim Patch Installer version 13.9.4.2.14
Copyright (c) 2024, Oracle Corporation. All rights reserved.
Oracle Home : /u04/app/oracle/product/OEM_135
Central Inventory : /u01/app/oraInventory
from : /u04/app/oracle/product/OEM_135/oraInst.loc
OPatch version : 13.9.4.2.14
OUI version : 13.9.4.0.0
Log file location : /u04/app/oracle/product/OEM_135/cfgtoollogs/opatch/opatch2024-03-26_12-36-41PM_1.log
OPatch detects the Middleware Home as “/u04/app/oracle/product/OEM_135”
Verifying environment and performing prerequisite checks…
OPatch continues with these patches: 31657681
Do you want to proceed? [y|n]
y
User Responded with: Y
All checks passed.
Please shutdown Oracle instances running out of this ORACLE_HOME on the local system.
(Oracle Home = ‘/u04/app/oracle/product/OEM_135’)
Is the local system ready for patching? [y|n]
y
User Responded with: Y
Backing up files…
Applying interim patch ‘31657681’ to OH ‘/u04/app/oracle/product/OEM_135’
Patching component oracle.javavm.jrf, 19.3.0.0.0…
Patch 31657681 successfully applied.
Excelente! Os três patches mandatórios agora estão aplicados no OEM. Agora, para que possamos aplicar o RU 20, nós precisamos que o OEM continue em shutdown, mas que o Admin Server esteja iniciado, portanto, vamos iniciar o Admin Server. Moleza!
Você pode encontrar as sintaxes do emctl aqui:
Vamos lá:
emctl start oms -admin_only
Oracle Enterprise Manager Cloud Control 13c Release 5
Copyright (c) 1996, 2021 Oracle Corporation. All rights reserved.
Starting Admin Server only…
Admin Server Successfully Started
O próximo passo é rodar o analyze para checar se o patch está OK e se não temos nenhum conflito antes de aplicarmos o patch de fato. Primeiro temos que extrair o arquivo de patch:
cd /sapcd/OEM_13.5.0.20
unzip -q -o p36005341_135000_Generic.zip
cd 36005341
Agora, vamos rodar o analyze:
omspatcher apply -analyze
Você terá que entrar com algumas informações, como o usuário do Weblogic, a senha desse usuário, um usuário para o BD e a sua senha:
Please enter OMS weblogic admin server URL(t3s://OEM-01.domain.com:7102):>
Please enter OMS weblogic admin server username(weblogic):>
Please enter OMS weblogic admin server password:>
Enter DB user name : sys
Enter ‘sys’ password :
O output foi truncado para facilitar a leitura:
Complete Summary
——————————-
The following sub-patch(es) are applicable:
oracle.sysman.top.oms:36003265,36003227,36003223,36003273,36003108,36003254
The following sub-patches are incompatible with components installed in the OMS system:
35582217,34430509,34706773,36003235,35854914,36003245,35582170,36003258,36003270
OMSPatcher succeeded.
A sessão de analyze terminou com sucesso. Agora podemos proceder com o patch:
omspatcher apply
Você terá que entrar com algumas informações, como o usuário do Weblogic, a senha desse usuário, um usuário para o BD e a sua senha:
Please enter OMS weblogic admin server URL(t3s://OEM-01.domain.com:7102):>
Please enter OMS weblogic admin server username(weblogic):>
Please enter OMS weblogic admin server password:>
Enter DB user name : sys
Enter ‘sys’ password :
O output foi truncado para facilitar a leitura:
Patching summary:
—————–
Binaries of the following sub-patch(es) have been applied successfully:
Featureset Sub-patches Log file
———- ———– ——–
oracle.sysman.top.oms_13.5.0.0.0 36003108,36003223,36003227,36003254,36003265,36003273 opatch2024-03-26_13-33-20PM_1.log
The following sub-patches are incompatible with components installed in the OMS system:
35582217,34430509,34706773,36003235,35854914,36003245,35582170,36003258,36003270
Deployment summary:
——————-
The following artifact(s) have been successfully deployed:
Artifacts Log file
——— ——–
SQL rcu_applypatch_original_patch_2024-03-26_13-08-13PM.log
SQL rcu_applypatch_original_patch_2024-03-26_13-12-06PM.log
SQL rcu_applypatch_original_patch_2024-03-26_13-12-31PM.log
…
…
…
MRS-commands emctl_register_commands_2024-03-26_13-14-53PM.log
…
MRS-derivedAssocs emctl_register_derivedAssocs_2024-03-26_13-28-25PM.log
Log file location: /u04/app/oracle/product/OEM_135/cfgtoollogs/omspatcher/36005341/omspatcher_2024-03-26_12-54-00PM_apply.log
OMSPatcher succeeded.
Patch aplicado, vamos checar no OEM:
Na página principal do OEM, clique em SYSMAN / About Enterprise Manager:
A tela abaixo será exibida:
Perfeito! Agora o OEM está rodando no 13.5 Release Update 20
OK, se você se lembra, nós temos alguns passos para rodar DEPOIS de aplicar o RU:
Vamos para a nota recomendada:
Release of Fixes to Support OAuth move from OAM to IDCS (Doc ID 2998693.1)
Esse cliente não está usando a abordagem “Online mode” de aplicação de patches através do OEM, essa abordagem é usada quando o OEM consegue conectar no My Oracle Support (Metalink). Portanto, como você pode ver abaixo, os passos mencionados na nota acima não são obrigatórios no nosso caso:
Perfeito, então nós concluímos a parte de update do OMS para o RU 20.
O próximo passo é aplicar o patch nos OEM Agents, o primeiro passo é atualizar o utilitário AgentPatcher e, todos os servidores onde temos o agent rodando. Para identificar todos os servidores onde temos agentes rodando, você pode realizar as seguintes tarefas no servidor do OEM. Primeiro, você precisa logar com o usuário SYSMAN, e então listar os targets onde o tipo seja oracle_emd (agents):
emcli login -username=SYSMAN
Enter password
emcli get_targets | grep oracle_emd
1 Up oracle_emd SERVER01.domain.com
1 Up oracle_emd SERVER02.domain.com
1 Up oracle_emd SERVER03.domain.com
1 Up oracle_emd SERVER04.domain.com
1 Up oracle_emd SERVER05.domain.com
1 Up oracle_emd SERVER06.domain.com
1 Up oracle_emd SERVER07.domain.com
1 Up oracle_emd OEM-01.domain.com
1 Up oracle_emd SERVER08.domain.com
1 Up oracle_emd SERVER09.domain.com
1 Up oracle_emd SERVER10.domain.com
1 Up oracle_emd SERVER11.domain.com
1 Up oracle_emd SERVER12.domain.com
1 Up oracle_emd SERVER13.domain.com
1 Up oracle_emd SERVER14.domain.com
1 Up oracle_emd SERVER15.domain.com
1 Up oracle_emd SERVER16.domain.com
1 Up oracle_emd SERVER17.domain.com
1 Up oracle_emd SERVER18.domain.com
1 Up oracle_emd SERVER19.domain.com
1 Up oracle_emd SERVER20.domain.com
1 Up oracle_emd SERVER21.domain.com
1 Up oracle_emd SERVER22.domain.com
1 Up oracle_emd SERVER23.domain.com
1 Up oracle_emd SERVER24.domain.com
1 Up oracle_emd SERVER25.domain.com
1 Up oracle_emd SERVER26.domain.com
1 Up oracle_emd SERVER27.domain.com
1 Up oracle_emd SERVER28.domain.com
Agora que temos a lista de todos os servidores onde o agente está rodando, você precisará realizar os seguintes passos com o usuário que é o dono da instalação do agente em cada servidor:
ORACLE_HOME=$(ps -ef |grep agent_13 | grep -v grep | grep emw | awk ‘{print $8}’ | sed ‘s/\/perl\/bin\/perl//g’)
cd ${ORACLE_HOME}
$ORACLE_HOME/AgentPatcher/agentpatcher version
mv AgentPatcher AgentPatcher.bkp.20230908
cp /sapcd/OEM_13.5.0.20/p33355570_135000_Generic.zip .
unzip -q -o p33355570_135000_Generic.zip
$ORACLE_HOME/AgentPatcher/agentpatcher version
AgentPatcher Automation Tool
Copyright (c) 2021, Oracle Corporation. All rights reserved.
AgentPatcher version : 13.9.5.6.0
OUI version : 13.9.4.0.0
O AgentPatcher foi atualizado, o próximo passo é realizar o upload do patch 36005346 (Oracle Enterprise Manager 13c Release 5 Update 20 (20) for Oracle Management Agent) no OEM, como esse ambiente do OEM não está conectado na Internet, nós precisamos usar a abordagem de patching Offline. Antes de realizar o upload do patch para o OEM, é necessário realizar o download de dois arquivos antes:
- O arquivo de patch propriamente dito: p36005346_135000_Generic.zip
- O arquivo de metadados (metadata) do patch: p36005346_135000_American English_M.xml
Você pode baixar ambos os arquivos da mesma janela de download do patch no Metalink / My Oracle Support:
Vamos fazer o upload do patch, clique em Enterprise / Provisioning and Patching / Saved Patches:
Clique agora em Upload:
Agora escolha os arquivos de patch (arquivo zip) e o arquivo de metadados, que foram baixados no passo anterior:
Depois de algum tempo, o upload do patch para o OEM será finalizado:
Agora estamos prontos para aplicar o patch nos Agents. Para isso, primeiro clique em Enterprise / Provisioning and Patching / Patches & Updates:
O próximo passo é buscar pelo patch 36005346 e assim que o patch for exibido, clique em Create a Plan. Isso permitirá que criemos um Patch Plan.
Eu recomendo que você primeiro aplique o patch em um único agente, e após o término nesse agente, você poderá repetir os passos baixos para todos os outros servidores:
Na próxima tela, você pode definir um nome para o seu Patch Plan e então clicar em Add para adicionar os Targets (Hosts) onde você quer aplicar o patch:
Com os hosts especificados (como eu disse, nesse exemplo eu usei somente um host para validar o procedimento – e também note que o hostname real foi alterado por questões de segurança), clique agora no botão Create Plan:
Agora que o Patch Plan foi criado. Clique em cima do Patch Plan:
Na primeira tela do Patch Plan, nós temos algumas poucas informações. Simplesmente clique em Next:
Na próxima tela, nós temos todos os patches que serão aplicados nesse patch plan. No nosso caso, nós temos apenas o patch 36005346, que é o o OEM 13c RU 20 para o Agent. Clique em Next novamente:
Na próxima tela, nós temos listadas as opções de deployment, além do Oracle Home, Host e Agente onde o patch será aplicado. Clique em Next:
Na próxima tela, recebemos a informação que uma Validação é obrigatória para esse patch. Isso é para garantir que não há conflitos ao aplicar o patch. Clique em Analyze:
A Validação/Análise começará. Se você quiser, pode ver mais detalhes clicando em Show Detailed Results:
Uma vez que você clicou em Show Detailed Results, uma nova aba será aberta no seu browser. Meu conselho é mudar o Auto Refresh para 15 segundos. Assim você pode monitorar o Status para a tarefa:
Nós podemos ver na tela acima que a Análise foi concluída com sucesso. Agora, nosso plano está na fase Ready for Deployment. Clique em Next:
Uma vez que estamos na tela de Ready for Deployment, simplesmente clique no botão Deploy:
Você pode escolher entre fazer o Deploy imediatamente ou agendar para um momento posterior. No meu caso, escolhi a opção para fazer o Deploy imediatamente:
Uma vez que você clicou em Submit, o deployment do patch vai começar. Se você quiser, você também pode checar os detalhes (eu vou colocar abaixo ambas as telas, mas como você pode ver, o deploy foi implementado com sucesso):
Perfeito! Agora o agente nesse servidor específico foi atualizado para o Oracle Enterprise Manager 13c Release 5 Update 20 (13.5.0.20).
Agora, você pode criar um novo Patch Plan e adicionar o restante dos seus servidores (sim, você pode adicionar todos os outros servidores para fazer a aplicação do patch em todos ao mesmo tempo, em paralelo). Uma vez que você adicionar todos os servidores restantes e seguir os mesmos passos acima listados, o Oracle Enterprise Manager 13c Release 5 Update 20 (13.5.0.20) será aplicado em todos os OEM Agents.
Notas úteis que usei para essa atividade:
OMS:
Enterprise Manager 13.5 Main Release Update List (Includes Plug-ins) (Doc ID 2760230.2)
13.5.0 Enterprise Manager Cloud Control Base Platform Monthly Release Update (RU) 20 (Doc ID 3006198.1)
13.5: How To Upgrade Enterprise Manager 13.5 Cloud Control OMSPatcher Utility to the Latest Version (Doc ID 2809842.1)
Patch 19999993: OMSPatcher patch of version 13.9.5.18.0 for Enterprise Manager Cloud Control 13.5.0.0.0
Patch 36005341: Oracle Enterprise Manager 13c Release 5 Update 20 (13.5.0.20) for Oracle Management Service
PATCH 28186730 – OPATCH 13.9.4.2.14 FOR EM 13.4, 13.5 and FMW/WLS 12.2.1.3.0, 12.2.1.4.0 AND 14.1.1.0.0
Patch 35430934: MERGE REQUEST ON TOP OF 12.2.1.4.0 FOR BUGS 32720458 33607709
Patch 34153238: HTTPS PROXY CONFIGURATION IS NOT USED WHEN PROTOCOL IS CONFIGURED TO TCP
Patch 31657681: THREADS CONTEND FOR LOCK IN LOADFILEBASEDKEYSTORE WHEN OPENING TLS/SSL ENABLED JDBC CONNECTIONS
Agente:
13.5: How to Upgrade AgentPatcher to the Latest Version (Doc ID 2810322.1)
Patch 36005346: Oracle Enterprise Manager 13c Release 5 Update 20 (13.5.0.20) for Oracle Management Agent
Patch 33355570: AgentPatcher release of version 13.9.5.5.0 for Enterprise Manager Cloud Control Agent 13.5.0.0.0
Espero que seja útil!
Um abraço!
Vinicius
PS: No último ano, eu criei um post para mostrar um playbookAnsible bem simples para atualizar o AgentPatcher em todos os servidores onde temos o OEM Agent rodando. Dessa vez, eu vou criar um post em breve para mostrar como exibir a versão de RU do OEM Agent usando um playbook Ansible. Isso será útil para validar a versão do OEM Agent após o patch.
Você pode ver os posts do último ano aqui:
Como atualizar o Oracle Enterprise Manager do RU 13.5.0.9 para o RU 13.5.0.16
Ansible Playbook para atualizar o AgentPatcher dos Agentes do OEM
Related posts
Sobre
Disclaimer
Minhas postagens refletem minhas próprias opiniões e não representam necessariamente as opiniões do meu empregador, a Accenture.