Oracle RAC(Real Application Clusters)允许多台服务器共同承载同一数据库,但在硬件调整或业务收缩时,可能需要从集群中删除某个节点或对应的数据库实例。直接关机或卸载软件会带来集群抖动甚至数据风险,因此必须按标准流程操作。

删除前的检查准备
在执行删除之前,先确认集群整体健康度。使用如下命令查看节点和资源状态:
# 查看集群节点列表 olsnodes -s -t # 查看本集群资源概要 crsctl check cluster -all # 查看数据库实例分布情况 srvctl status database -d orcl
确保待删除节点上的实例已无业务连接,并备份OCR与 votedisk 配置。
停止并删除数据库实例
若仅删除某个节点的实例而保留节点操作系统,可通过 srvctl 移除实例:
# 停止目标节点实例 srvctl stop instance -d orcl -i orcl2 -o immediate # 从集群数据库配置中删除实例 srvctl remove instance -d orcl -i orcl2 -f
若使用 DBCA 图形界面,也可以在节点管理页中取消勾选对应节点完成实例删除。
从集群中删除节点
当整个节点退出集群时,需要依次处理 Grid Infrastructure。以下为命令行方式:
# 在待删节点上以 root 执行 crsctl delete node -n racnode2 # 在保留节点上更新集群信息 srvctl remove nodeapps -n racnode2 # 在待删节点停用并卸载 GI 软件(runInstaller -updateNodeList 后 deinstall)
操作完成后,通过 olsnodes 确认节点数已减少。
清理监听与网络配置
删除节点后,检查监听是否仍引用旧主机名:
srvctl config listener -a netca # 如需可视化清理
同时确认心跳网络与 SCAN 配置未残留无效地址。
常见问题与建议
- OCR 若记录已删节点,可运行 ocrconfig -replace 重置。
- 删除实例前务必确认归档与 undo 表空间无该实例活动事务。
- 建议在业务低峰期操作,并保留完整集群备份。
规范化的 Oracle RAC 删除流程,核心是先应用层后集群层,避免资源依赖导致集群异常。
按照上述步骤,可以在不影响其余节点运行的情况下,安全完成 Oracle RAC 节点或实例的删除工作。
Oracle_RAC节点删除实例卸载修改时间:2026-07-28 21:06:30