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.