Exadata DB50 – Aplicando Interim Patch para Bug 34286265 “ORA-800 / Set Priority / DB Performance Merge Patch for 19.X (Requires Root Access)”

Este post demonstra como aplicar um dos patches de correção do problema 2 da vulnerabilidade DB50 nos Exadatas, que precisa ser aplicado separadamente após atualização do Release Update do GRID e RDBMS, pois requer intervenção manual com usuário root no arquivo oradism dentro do diretório bin de cada Oracle Home.

Esse guia é um resumo baseado no README do patch 35074478 (correação para o RU 19.19).

Ao gerar um exachk, você pode se deparar com esse bug classificado com status CRITICAL:

(DB50) Clusterware Fails to Start Because CSSD Cannot Get Real-Time Priority (Doc ID 2903663.1)

Exemplo:

Essa vulnerabilidade DB50 tem 2 problemas documentados. Para o problema 1, a correção já é inclusa no RU 19.17, mas o Problema 2 precisa ser aplicado manuamente após aplicar o RU:

Doc ID 2903663.1:
The fix for Bug 34286265 / Bug 34318125 is not eligible to be included in a Release Update due to its root access requirement when applied.

No My Oracle Support, pesquise pelo número 34286265 e clique no link referente a versão do RU que você está aplicando atualmente. No meu caso, é o 19.19:

Na página de descrição do bug, clique no link do patch:

Download:

Preparação:

Esta etapa assume que você já aplicou o RU e já tem o OPatch atualizado no Oracle Home (GRID e RDBMS).

Aplica-se a Exadata OnPremise, ExaCS e ExaCC (nesses dois últimos casos, assume-se que o Grid e RDBMS já foram atualizados seguindo o fluxo normal da OCI (Console ou dbaascli).

unzip p35074478_1919000DBRU_Linux-x86-64.zip -d /tmp/
Archive:  p35074478_1919000DBRU_Linux-x86-64.zip
   creating: /tmp/35074478/
   creating: /tmp/35074478/files/
   creating: /tmp/35074478/files/lib/
   creating: /tmp/35074478/files/lib/libgeneric19.a/
  inflating: /tmp/35074478/files/lib/libgeneric19.a/skgnfs.o
  inflating: /tmp/35074478/files/lib/libgeneric19.a/skgdism.o
  inflating: /tmp/35074478/files/lib/libgeneric19.a/kgpcs.o
  inflating: /tmp/35074478/files/lib/libgeneric19.a/skgfr.o
  inflating: /tmp/35074478/files/lib/libgeneric19.a/kgcs.o
  inflating: /tmp/35074478/files/lib/libgeneric19.a/kgnfs.o
  inflating: /tmp/35074478/files/lib/libgeneric19.a/sskgm.o
  inflating: /tmp/35074478/files/lib/libgeneric19.a/dbnest_ns.o
  inflating: /tmp/35074478/files/lib/libgeneric19.a/dbnest_res.o
   creating: /tmp/35074478/files/lib/libserver19.a/
  inflating: /tmp/35074478/files/lib/libserver19.a/sp.o
  inflating: /tmp/35074478/files/lib/libserver19.a/ksns.o
  inflating: /tmp/35074478/files/lib/libserver19.a/skofs.o
   creating: /tmp/35074478/files/bin/
  inflating: /tmp/35074478/files/bin/oradism
   creating: /tmp/35074478/files/rdbms/
   creating: /tmp/35074478/files/rdbms/lib/
  inflating: /tmp/35074478/files/rdbms/lib/soradism.o
  inflating: /tmp/35074478/README.txt
   creating: /tmp/35074478/etc/
   creating: /tmp/35074478/etc/config/
  inflating: /tmp/35074478/etc/config/inventory.xml
  inflating: /tmp/35074478/etc/config/actions.xml
replace /tmp/PatchSearch.xml? [y]es, [n]o, [A]ll, [N]one, [r]ename: A
  inflating: /tmp/PatchSearch.xml

Garanta que o diretório tem permissão de leitura para o grupo oinstall:

chown -R grid.oinstall /tmp/35074478/
chmod -R 775 /tmp/35074478/

Prereqs

Nesta é tudo online.

  • Ajuste as variáveis de ambiente GI_HOME e DB_HOME de acordo ao seu ambiente
  • Ajuste o número do patch de acordo a versão que você baixou
  • Copie e cole todos os comandos no terminal com usuário root.
echo "############# PRE PATCH ##############################"
export GI_HOME=/u01/app/19.0.0.0/grid
export DB_HOME=/u02/app/oracle/product/19.0.0.0/dbhome_1

echo "############# GRID ###################################"
su grid
export ORACLE_HOME=$GI_HOME
cd /tmp/35074478
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./

exit

echo "############# RDBMS ###################################"
su oracle
export ORACLE_HOME=$DB_HOME
cd /tmp/35074478
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./

exit

echo "Conluido!"

Instalação

Esse processo vai parar todos os serviços de Grid e do banco de dados.

  • Ajuste as variáveis de ambiente GI_HOME e DB_HOME de acordo ao seu ambiente
  • Ajuste o número do patch de acordo a versão que você baixou
  • Copie e cole todos os comandos no terminal com usuário root.
echo "############# PRE PATCH ##############################"
export GI_HOME=/u01/app/19.0.0.0/grid
export DB_HOME=/u02/app/oracle/product/19.0.0.0/dbhome_1

$GI_HOME/crs/install/rootcrs.sh -prepatch 

chown grid $GI_HOME/bin/oradism
chmod 0750 $GI_HOME/bin/oradism

chown oracle $DB_HOME/bin/oradism
chmod 0750 $DB_HOME/bin/oradism

echo "############# GRID ###################################"
su grid
export ORACLE_HOME=$GI_HOME
cd /home/grid/35074478
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./
$ORACLE_HOME/OPatch/opatch apply -oh $ORACLE_HOME -local -silent

exit

echo "############# RDBMS ###################################"
su oracle
export ORACLE_HOME=$DB_HOME
cd /home/oracle/35074478
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./
$ORACLE_HOME/OPatch/opatch apply -oh $ORACLE_HOME -local -silent

exit

echo "######## POS PATCH ##################################"
chown root $DB_HOME/bin/oradism
chmod 4750 $DB_HOME/bin/oradism

chown root $GI_HOME/bin/oradism
chmod 4750 $GI_HOME/bin/oradism

$GI_HOME/crs/install/rootcrs.sh -postpatch

echo "Conluido!"

Após garantir que o patch foi aplicado com sucesso no GRID e RDBMS, repita esse processo em todos os DB nodes (um por se estiver atualizando em modo rolling).

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