Como Remover um ORACLE_HOME do Inventory.xml no Oracle (Passo a Passo Seguro)

Este post também está disponível em: English

Oracle Logo Banner
Oracle Logo Banner

Recentemente removi um diretório que era uma ORACLE_HOME, para recriá-lo posteriormente, mas esqueci de desinstalar do inventory.xml.
Felizmente, tem uma maneira fácil de removê-lo do inventory.xml sem maiores dores de cabeça, você precisa apenas ter outro binário do oracle no servidor.

inventory.xml

<?xml version="1.0" standalone="yes" ?>
<!-- Copyright (c) 1999, 2025, Oracle and/or its affiliates.
All rights reserved. -->
<!-- Do not modify the contents of this file by hand. -->
<INVENTORY>
<VERSION_INFO>
   <SAVED_WITH>12.2.0.7.0</SAVED_WITH>
   <MINIMUM_VER>2.1.0.6.0</MINIMUM_VER>
</VERSION_INFO>
<HOME_LIST>
<HOME NAME="agent13c1" LOC="/oem_agent/agent_13.4.0.0.0" TYPE="O" IDX="4"/>
<HOME NAME="agent13c2" LOC="/oem_agent/agent_13.5.0.0.0" TYPE="O" IDX="5"/>
<HOME NAME="OraDB12Home1" LOC="/u01/app/oracle/product/12.2.0.1/dbhome_1" TYPE="O" IDX="2"/>
<HOME NAME="OraHome1" LOC="/oem_agent/GoldImage_OEM_13.5_33355570/agent_13.5.0.0.0" TYPE="O" IDX="8"/>
<HOME NAME="Orasiha19c_home1_3279" LOC="/u01/app/19.23.0.0/grid" TYPE="O" IDX="9"/>
<HOME NAME="Orasidb19c_home1_4607" LOC="/u01/app/oracle/product/19.23.0.0/dbhome_1" TYPE="O" IDX="10"/>
<HOME NAME="Orasiha19c_home1_4621" LOC="/u01/app/19.25.0.0/grid" TYPE="O" IDX="11" CRS="true">
   <NODE_LIST>
      <NODE NAME="cealtwdsbr01"/>
   </NODE_LIST>
</HOME>
<HOME NAME="Orasidb19c_home1_9789" LOC="/u01/app/oracle/product/19.25.0.0/dbhome_1" TYPE="O" IDX="12"/>
<HOME NAME="Orasiha19c_home1_5292" LOC="/u01/app/19.26.0.0/grid" TYPE="O" IDX="13"/>
<HOME NAME="Orasidb19c_home1_2380" LOC="/u01/app/oracle/product/19.26.0.0/dbhome_1" TYPE="O" IDX="14"/>
<HOME NAME="OraGI19Home1" LOC="/u01/app/19.0.0.0/grid" TYPE="O" IDX="1" REMOVED="T"/>
<HOME NAME="OraDB19Home1" LOC="/u01/app/oracle/product/19.0.0.0/dbhome_1" TYPE="O" IDX="3" REMOVED="T"/>
<HOME NAME="Orasiha19c_home1_1937" LOC="/u01/app/19.21.0.0/grid" TYPE="O" IDX="6" REMOVED="T"/>
<HOME NAME="Orasidb19c_home1_9425" LOC="/u01/app/oracle/product/19.21.0.0/dbhome_1" TYPE="O" IDX="7" REMOVED="T"/>
</HOME_LIST>
<COMPOSITEHOME_LIST>
</COMPOSITEHOME_LIST>
</INVENTORY>
Bash

A ORACLE_HOME que quero remover é a da linha 24.
Para isso, executei o comando.

/u01/app/oracle/product/19.25.0.0/dbhome_1/oui/bin/runInstaller -silent -detachHome ORACLE_HOME="/u01/app/oracle/product/19.26.0.0/dbhome_1" ORACLE_HOME_NAME="Orasidb19c_home1_2380"
Bash

O inventory.xml agora não consta mais a ORACLE_HOME que removemos, diferente do procedimento desta postagem, Como remover uma grid home antiga, que ele marca como REMOVED mas deixa a ORACLE_HOME no inventory.xml ainda.

<?xml version="1.0" standalone="yes" ?>
<!-- Copyright (c) 1999, 2025, Oracle and/or its affiliates.
All rights reserved. -->
<!-- Do not modify the contents of this file by hand. -->
<INVENTORY>
<VERSION_INFO>
   <SAVED_WITH>12.2.0.7.0</SAVED_WITH>
   <MINIMUM_VER>2.1.0.6.0</MINIMUM_VER>
</VERSION_INFO>
<HOME_LIST>
<HOME NAME="agent13c1" LOC="/oem_agent/agent_13.4.0.0.0" TYPE="O" IDX="4"/>
<HOME NAME="agent13c2" LOC="/oem_agent/agent_13.5.0.0.0" TYPE="O" IDX="5"/>
<HOME NAME="OraDB12Home1" LOC="/u01/app/oracle/product/12.2.0.1/dbhome_1" TYPE="O" IDX="2"/>
<HOME NAME="OraHome1" LOC="/oem_agent/GoldImage_OEM_13.5_33355570/agent_13.5.0.0.0" TYPE="O" IDX="8"/>
<HOME NAME="Orasiha19c_home1_3279" LOC="/u01/app/19.23.0.0/grid" TYPE="O" IDX="9"/>
<HOME NAME="Orasidb19c_home1_4607" LOC="/u01/app/oracle/product/19.23.0.0/dbhome_1" TYPE="O" IDX="10"/>
<HOME NAME="Orasiha19c_home1_4621" LOC="/u01/app/19.25.0.0/grid" TYPE="O" IDX="11" CRS="true">
   <NODE_LIST>
      <NODE NAME="cealtwdsbr01"/>
   </NODE_LIST>
</HOME>
<HOME NAME="Orasidb19c_home1_9789" LOC="/u01/app/oracle/product/19.25.0.0/dbhome_1" TYPE="O" IDX="12"/>
<HOME NAME="Orasiha19c_home1_5292" LOC="/u01/app/19.26.0.0/grid" TYPE="O" IDX="13"/>
<HOME NAME="OraGI19Home1" LOC="/u01/app/19.0.0.0/grid" TYPE="O" IDX="1" REMOVED="T"/>
<HOME NAME="OraDB19Home1" LOC="/u01/app/oracle/product/19.0.0.0/dbhome_1" TYPE="O" IDX="3" REMOVED="T"/>
<HOME NAME="Orasiha19c_home1_1937" LOC="/u01/app/19.21.0.0/grid" TYPE="O" IDX="6" REMOVED="T"/>
<HOME NAME="Orasidb19c_home1_9425" LOC="/u01/app/oracle/product/19.21.0.0/dbhome_1" TYPE="O" IDX="7" REMOVED="T"/>
</HOME_LIST>
<COMPOSITEHOME_LIST>
</COMPOSITEHOME_LIST>
</INVENTORY>
Bash

❓ Perguntas Frequentes

É seguro editar o inventory.xml manualmente?
Não. A Oracle não recomenda alterações manuais. Use sempre o runInstaller -detachHome.

Preciso reiniciar o servidor após remover um ORACLE_HOME?
Em geral, não é necessário, mas certifique-se de que nenhum processo esteja em uso.



Artigo anterior

Criando uma Imagem Docker Personalizada com Dados do MongoDB

Escreva um comentário

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *