This post is also available in:
Após um upgrade do Grid Infrastructure, é comum sobrar uma GRID_HOME antiga no servidor — com binários, diretórios e a entrada no inventory.xml ainda presentes. O deinstall é a ferramenta correta para limpar tudo isso de forma suportada pela Oracle.
💡 Se o diretório da ORACLE_HOME já foi deletado manualmente e você só precisa limpar o
inventory.xml, esse não é o procedimento correto. Consulte: Como remover uma ORACLE_HOME do inventory.xml com runInstaller.
Pré-requisitos
- A GRID_HOME a ser removida não deve estar ativa. O CRS deve estar rodando em outra home.
- Execute como o usuário dono da Grid Infrastructure (normalmente
gridouoracle).
1. Identifique a GRID_HOME a remover
Consulte o inventory.xml para listar todas as homes registradas:
cat /u01/app/oraInventory/ContentsXML/inventory.xmlExemplo de saída:
<HOME_LIST>
<HOME NAME="OraGI19Home1" LOC="/u01/app/19.0.0.0/grid" TYPE="O" IDX="1" CRS="true"/>
<HOME NAME="OraGI19Home2" LOC="/u01/app/19.0.0.0/grid1920" TYPE="O" IDX="5"/>
<HOME NAME="OraHome1" LOC="/u01/app/oracle/product/19.0.0.0/dbhome_1" TYPE="O" IDX="3"/>
</HOME_LIST>No exemplo acima, a home ativa é OraGI19Home1 (atributo CRS="true"). A candidata à remoção é OraGI19Home2.
2. Exporte a variável com o caminho da home a ser removida
export OLD_GRID_HOME=/u01/app/19.0.0.0/grid19203. Confirme qual GRID_HOME está ativa
⚠️ Execute este passo antes de qualquer coisa. O deinstall remove binários e arquivos de configuração de forma irreversível. Confirmar a home ativa evita destruir o ambiente de produção.
$OLD_GRID_HOME/srvm/admin/getcrshomeSaída esperada — deve apontar para uma home diferente da que você quer remover:
/u01/app/19.0.0.0/gridSe o retorno for o mesmo caminho que $OLD_GRID_HOME, pare aqui. Você está apontando para a home errada.
4. Execute o deinstall
$OLD_GRID_HOME/deinstall/deinstallO processo é interativo e solicita confirmações. Ao final, a saída deve confirmar a remoção:
Successfully detached Oracle home '/u01/app/19.0.0.0/grid1920' from the central inventory on the local node.
Successfully deleted directory '/u01/app/19.0.0.0/grid1920' on the local node.
Oracle Universal Installer cleanup was successful.5. Valide o resultado no inventory.xml
cat /u01/app/oraInventory/ContentsXML/inventory.xmlA home removida aparecerá marcada com REMOVED="T":
<HOME NAME="OraGI19Home2" LOC="/u01/app/19.0.0.0/grid1920" TYPE="O" IDX="5" REMOVED="T"/>💡 Isso é o comportamento esperado do
deinstall— a entrada não é deletada do XML, apenas marcada como removida. O OUI ignora entradas comREMOVED="T"em operações futuras. Se quiser remover a entrada completamente do inventário, use orunInstaller -detachHomeconforme descrito neste post: Como remover uma ORACLE_HOME do inventory.xml.
6. Arquivos remanescentes
Se algum arquivo sobrou no diretório por questões de permissão durante o deinstall, é seguro removê-los manualmente — a home já está desacoplada do inventário:
rm -rf /u01/app/19.0.0.0/grid1920Checklist rápido
export OLD_GRID_HOME=/u01/app/19.0.0.0/grid1920
$OLD_GRID_HOME/srvm/admin/getcrshome
$OLD_GRID_HOME/deinstall/deinstall
cat /u01/app/oraInventory/ContentsXML/inventory.xml
rm -rf $OLD_GRID_HOME