1. 问题描述
在Oracle 19C RAC的安装过程中,使用克隆方式在两个节点上部署集群。当第一个节点配置好基础服务后,关机并克隆节点。当尝试在第二个节点上通过页面进行RAC安装时,出现以下错误:
[INS-32070] Could not remove the nodes [p19c02] corresponding to following error code: INS-44002.
2. 根本原因
此问题的根源在于克隆操作导致了新节点保留了旧节点上的一些“脏数据”(残留文件、补丁、临时文件等),这些数据在新节点上造成了冲突,尤其是以下几类问题:
- 网络配置冲突:克隆后,新节点保留了与第一个节点相同的主机名和网络配置(如VIP、SCAN IP等)。
- 集群组件冲突:Oracle RAC的服务组件(如Clusterware、ASM等)在第一个节点上已经启动或有残留文件,这些未清理的状态在克隆后也被带到了新节点,导致服务冲突。
- Oracle补丁存储未清理:
$ORACLE_HOME
目录下的.opatchauto_storage
和.patch_storage
文件夹中的残留补丁文件在新节点上再次使用时引发冲突。
3. 解决方案
要解决这个问题,需要在克隆操作之前彻底清理第一个节点的环境,确保新节点不携带任何“脏数据”。具体步骤如下:
3.1 克隆前的清理步骤
Oracle Grid Infrastructure 的安装目录和相关文件,这是处理未卸载干净问题的一部分。执行以下步骤以确保清理彻底,避免重复安装时出现冲突
[grid@p19c02:/home/grid]$ cd $ORACLE_HOME
[grid@p19c02:/u01/app/19.3.0/grid]$ rm -rf *
清理Oracle补丁存储: 删除Oracle补丁存储目录,以避免克隆后补丁冲突:
[grid@p19c02:/u01/app/19.3.0/grid]$ rm -rf .opatchauto_storage/
[grid@p19c02:/u01/app/19.3.0/grid]$ rm -rf .patch_storage/
删除后就继续安装
总结
在Oracle RAC集群环境中,直接克隆节点操作容易引发“脏数据”问题,导致安装过程中出现组件冲突和服务错误。通过在克隆前彻底清理节点并在克隆后正确配置网络和集群,能够有效解决这些问题。确保网络配置不冲突、清理补丁和临时文件以及通过标准的 addnode.sh
扩展集群可以避免类似错误的发生。