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

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>
BashA 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"
BashO 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.