Olá pessoal,
Espero que estejam bem!
Um cliente entrou em contato solicitando para que atualizássemos o ambiente dele de Oracle Enterprise Manager (e seus agents também) da versão 13.5.0.9 para a última Release Update disponível.
Em primeiro lugar, precisamos entender em qual nota de suporte podemos encontrar o último RU disponível. Vamos lá:
Enterprise Manager 13.5 Main Release Update List (Includes Plug-ins) (Doc ID 2760230.2)
Nós temos muitas informações nessa nota, eu vou mostrar abaixo apenas duas seções de onde obtive o último RU disponível para o OEM e para os Agents do OEM:
Abaixo nós temos a informação do último RU disponível para o OMS (Oracle Management Service), o servidor do OEM propriamente dito:

Abaixo temos a informação do último RU disponível para o OEM Agent:

OK, então nós temos pelo menos dois patches:
- 35437906: RU 16 para o OMS
- 35437910: RU 16 para o OEM Agent
Mas, tenha em mente que antes de aplicar um patch/atualizar o OMS and OEM Agent, a gente precisa também atualizar a ferramenta que realiza esse update. Se você é um DBA, você sabe muito bem sobre o OPatch. OK, para o OEM/OEM Agent, as ferramentas são um pouco diferentes:
- omspatcher: para aplicar patches no OMS
- agentpatcher: para aplicar patches no OEM Agent
Ótimo, então nós também temos que atualizar o omspatcher e o agentpatcher, você precisará seguir as duas notas abaixo:
13.5: How To Upgrade Enterprise Manager 13.5 Cloud Control OMSPatcher Utility to the Latest Version (Doc ID 2809842.1)
13.5: How to Upgrade AgentPatcher to the Latest Version (Doc ID 2810322.1)
Então, resumindo, para poder atualizar o omspatcher e o agentpatcher para as versões mais recentes:
Patch 19999993: OMSPatcher patch of version 13.9.5.14.0 for Enterprise Manager Cloud Control 13.5.0.0.0
Patch 33355570: AgentPatcher release of version 13.9.5.5.0 for Enterprise Manager Cloud Control Agent 13.5.0.0.0
Ótimo, então temos que fazer o download de quatro arquivos no total:
- ————————————————–
- 35437906: RU 16 para o OMS
- 19999993: OMSPatcher version 13.9.5.14.0
- ————————————————–
- 35437910: RU 16 para o OEM Agent
- 33355570: AgentPatcher version 13.9.5.5.0
- ————————————————–
Vamos iniciar atualizando o OMSPatcher.
O ORACLE_HOME para o OEM é: /u04/app/oracle/product/OEM_135.
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 a gente precisa:
- Fazer um backup do diretório atual do omspatcher;
- Realizar o unzip do patch 19999993 no $ORACLE_HOME para “instalar” o novo omspatcher;
- Testar se o omspatcher foi atualizado.
Com o usuário que é o owner do OEM no Linux:
cd $ORACLE_HOME
mv OMSPatcher OMSPatcher.bkp.20230908
cp /sapcd/p19999993_135000_Generic.zip .
unzip -q -o p19999993_135000_Generic.zip
omspatcher version
OMSPatcher Version: 13.9.5.14.0
OPlan Version: 12.2.0.1.16
OsysModel build: Tue Apr 28 18:16:31 PDT 2020
OMSPatcher succeeded.
OK, então antes de iniciarmos realmente aplicando o patch, é bom salvar algumas informações sobre o nosso ambiente, pois parte dessas informações serão usadas em alguns passos durante o patch. Vamos pegar o status do OMS com a flag details. Com o usuário oraoem (no meu ambiente 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
Preste atenção na seguinte linha:
Admin Server HTTPS Port: 7102
Essa é a porta do Weblogic Server. Nós precisaremos dessa porta para criar um property file antes de aplicarmos o patch.
Mas… o que é um property file?
Durante o patch do OEM, será necessário informar/realizar o input das credenciais do Weblogic. Para evitar realizar o input das credenciais mais de uma vez, você pode criar um property file, portanto, a atividade de patching vai ler as credenciais do property file e você não precisará realizar o input das credenciais do Weblogic durante a operação de patch.
O primeiro passo é criar as “chaves”. Você precisará realizar o input do usuário administrador do Weblogic e também a senha desse usuário. Como referência, geralmente esse usuário se chama weblogic.
$ORACLE_HOME/OMSPatcher/wlskeys/createkeys.sh -oh /u04/app/oracle/product/OEM_135 -location /home/oraoem
The oraclehome passed is valid.
The wls url is t3s://OEM-01.domain.com:7102
Please enter weblogic admin server username : weblogic
Please enter weblogic admin server password :
The cfgFile is /home/oraoem/config
The keyFile is /home/oraoem/key
Initializing WebLogic Scripting Tool (WLST) …
Welcome to WebLogic Server Administration Scripting Shell
Type help() for help on available commands
Wed Aug 09 13:33:38 UTC 2023
Storing WLS User configuration
Admin url: t3s://OEM-01.domain.com:7102
Admin Config File: /home/oraoem/config
Key File : /home/oraoem/key
Please enter weblogic admin server username :
Enter Admin user’s password:
Wed Aug 09 13:33:38 UTC 2023
Connecting to AdminServer
Connecting to t3s://OEM-01.domain.com:7102 with userid weblogic …
Successfully connected to Admin Server “EMGC_ADMINSERVER” that belongs to domain “GCDomain”.
Creating the key file can reduce the security of your system if it is not kept in a secured location after it is created. Creating new key…
The username and password that were used for this WebLogic Server connection are stored in /home/oraoem/config and /home/oraoem/key.
Disconnected from weblogic server: EMGC_ADMINSERVER
**** **88
0
User configuration file created: /home/oraoem/config
User key file created: /home/oraoem/key
‘createkeys’ succeeded.
Da saída/output acima, nós precisaremos obter/copiar a URL para se conectar ao Weblogic usando o protocolo t3s, que no nosso caso é:
t3s://OEM-01.domain.com:7102
Os arquivos de config e de chave (key) foram criados:
- /home/oraoem/config
- /home/oraoem/key
Agora, vamos criar o property file, no diretório /home/oraoem (ou em qualquer outro que tenha acesso), crie um arquivo chamado property_file com o seguinte conteúdo:
AdminServerURL=t3s://OEM-01.domain.com:7102 AdminConfigFile=/home/oraoem/config AdminKeyFile=/home/oraoem/key
Próximo passo é realizar o analyze para verificar se tudo está em ordem antes de aplicar o patch. Mas, antes de executar o analyze, nós precisamos realizar o unzip do arquivo de patch.
cd /sapcd/enkitec/19c/OEM_13.5.0.16
unzip -o -q p35437906_135000_Generic.zip
Agora, vamos rodar o analyze:
cd /sapcd/enkitec/19c/OEM_13.5.0.16/35437906
omspatcher apply -analyze -property_file /home/oraoem/property_file
Você precisará realizar o input de um usuário de banco de dados e senha, vamos usar o usuário SYS:
Enter DB user name : sys
Enter ‘sys’ password :
A saída abaixo está truncada para facilitar a leitura:
Prerequisites analysis summary:
——————————-
The following sub-patch(es) are applicable: oracle.sysman.top.oms:35258598,35258570,35258589,35258702,35122519,34601404
The following sub-patches are incompatible with components installed in the OMS system: 34430473,34430509,34706773,35258654,34706739,35258672,35122483,35258713,35122522
OMSPatcher succeeded.
A sessão de analyze finalizou com sucesso, vamos agora aplicar o patch. Mas, antes de aplicar o patch, precisamos parar, realizar o stop, do OMS:
emctl stop oms
omspatcher apply -property_file /home/oraoem/property_file
Você precisará novamente realizar o input de um usuário de banco de dados e senha, vamos usar o usuário SYS:
Enter DB user name : sys
Enter ‘sys’ password :
A saída abaixo está truncada 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 34601404,35122519,35258570,35258589,35258598,35258702 opatch2023-08-09_13-51-23PM_1.log
The following sub-patches are incompatible with components installed in the OMS system:
34430473,34430509,34706773,35258654,34706739,35258672,35122483,35258713,35122522
Deployment summary:
——————-
The following artifact(s) have been successfully deployed:
Artifacts Log file
——— ——–
SQL rcu_applypatch_original_patch_2023-08-09_14-02-34PM.log
SQL rcu_applypatch_original_patch_2023-08-09_14-06-30PM.log
SQL rcu_applypatch_original_patch_2023-08-09_14-06-55PM.log
…
…
…
MRS-CredstoreMetadata emctl_register_CredstoreMetadata_2023-08-09_14-24-25PM.log
MRS-namedQuery emctl_register_namedQuery_2023-08-09_14-24-37PM.log
Log file location: /u04/app/oracle/product/OEM_135/cfgtoollogs/omspatcher/35437906/omspatcher_2023-08-09_13-50-54PM_apply.log
OMSPatcher succeeded.
/u04/app/oracle/product/OEM_135/cfgtoollogs/omspatcher/35437906/omspatcher_2023-08-09_13-50-54PM_apply.log
Log file location: /u01/app/oracle/product/middleware/cfgtoollogs/omspatcher/34601305/omspatcher_2022-12-14_11-33-12AM_apply.log
OMSPatcher succeeded.
O patch foi aplicado, vamos verificar agora no OEM.
Na página principal do OEM, clique em SYSMAN / About Enterprise Manager:

A próxima página será exibida:

Perfeito! Agora o oEM está rodando no 13.5 Release Update 16.
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/enkitec/19c/p33355570_135000_Generic.zip .
unzip -q -o p33355570_135000_Generic.zip
$ORACLE_HOME/AgentPatcher/agentpatcher version
AgentPatcher foi atualizado, o próximo passo é realizar o upload do patch 35437910 (Oracle Enterprise Manager 13c Release 5 Update 16 (13.5.0.16) 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: p35437910_135000_Generic.zip
- O arquivo de metadados (metadata) do patch: p35437910_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:

Infelizmente não tenho os próximos screenshots, mas, eu vou colocar abaixo todos os passos necessários para aplicar o patch nos agents. 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:
- Procure pelo patch de número: 35437910 (esse é o patch que fizemos upload anteriormente)
- Selecione o patch e clique em Create a Patch Plan
- Adicione o(s) host(s) onde deseja aplicar o patch
- Clique em Analyze, uma vez que o Analyze terminou com sucesso, clique em Deploy
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) 16 (Doc ID 2959173.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.14.0 for Enterprise Manager Cloud Control 13.5.0.0.0
Patch 35437906: Oracle Enterprise Manager 13c Release 5 Update 16 (13.5.0.16) for Oracle Management Service
Agent:
13.5: How to Upgrade AgentPatcher to the Latest Version (Doc ID 2810322.1)
Patch 35437910: Oracle Enterprise Manager 13c Release 5 Update 16 (13.5.0.16) 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: como bônus, vou criar m outro post com um playbook simples em Ansible para realizar o update do AgentPatcher em todos os servidores onde você tem o agente rodando.
Related posts
Disclaimer
Minhas postagens refletem minhas próprias opiniões e não representam necessariamente as opiniões do meu empregador, a Accenture.