当前位置: 首页
数据库
如何卸载RAC集群_deinstall工具彻底清理Grid与DB软件

如何卸载RAC集群_deinstall工具彻底清理Grid与DB软件

热心网友 时间:2026-04-26
转载

Oracle RAC 卸载:那些脚本不会告诉你的关键步骤

说到卸载Oracle RAC,很多人第一反应是找到deinstall脚本,然后一键回车。但现实往往没那么简单。直接运行脚本,很可能在某个环节卡住,或者看似卸载成功,重装时却遇到各种“灵异”错误。这背后的原因,恰恰在于自动化工具无法覆盖所有的手动清理和状态检查。下面就来拆解几个核心环节,看看如何彻底、干净地移除一个RAC环境。

免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈

deinstall 脚本能不能直接卸掉整个 RAC?

答案是:不能指望一锤子敲完。Oracle的deinstall工具采用的是分层卸载逻辑,它并不会自动判断“先删数据库还是先删Grid”,更不会跨用户(oraclegrid)统一执行。实际操作中,必须按照角色和顺序,手动触发两次——先用oracle用户卸载数据库软件,再用grid用户卸载Grid Infrastructure。跳过任何一层,OCR、ASM磁盘、集群服务等残留都会像埋下的地雷,导致后续重装功亏一篑。

为什么必须先停集群再跑 deinstall?

这是很多踩坑经验的起点。deinstall脚本在运行时,会调用集群就绪服务(CRS)的接口进行资源检查和清理。如果此时集群还在运行,或者资源状态异常(比如部分离线),脚本大概率会卡在“网络配置检查”或“EMCA取消配置”这类阶段。常见的报错包括CRS-4640: Oracle High A vailability Services is not running,或者脚本直接静默退出。这并非工具缺陷,而是一种保护机制。

所以,正确的姿势是:

  • 每个节点都以root用户执行:crsctl stop crs
  • 然后确认没有残留进程:ps -ef | grep -E "(ora_|d.bin|ohasd|cssd)",如果发现,果断kill -9处理。
  • 别只凭感觉判断集群停了,用crsctl check cluster -all命令验证才算数。

卸载后那些 rm -f 命令到底删什么?

deinstall脚本主要职责是清理$ORACLE_HOME目录和软件注册信息,对于系统级的痕迹,它可不会越俎代庖。而这些残留,正是新安装发生冲突的常见根源。例如,/etc/oratab里若还留着旧实例名,DBCA建库时就可能误读;/etc/init.d/ohasd如果没删干净,可能导致系统启动时自启失败甚至挂起。

因此,需要在每个节点(注意,不是只在主节点)执行以下清理:

  • 删除系统配置文件:rm -f /etc/init.d/ohasd /etc/oracle/* /etc/oraInst.loc /etc/inittab.crs /etc/ohasd
  • 清理临时通信通道:rm -rf /var/tmp/.oracle /var/tmp/* /var/tmp/.*
  • 移除软链接入口:rm -f /usr/local/bin/{dbhome,oraenv,coraenv}
  • 最后,删除安装根目录:rm -rf /u01/app/* /u01(这里的路径请务必根据你实际的$ORACLE_HOME进行调整)

ASM 磁盘和 OCR 不清,等于白卸

这是最关键的步骤之一,也最容易遗漏。deinstall脚本不会触碰ASM磁盘设备本身,更不会进行格式化。如果保留了原有的磁盘组(比如+DATA),下次安装建库时,ASM实例很可能识别出旧的磁盘组头信息,进而抛出ORA-15032ORA-15017这类错误,或者错误挂载旧的数据文件。

彻底清理的流程如下:

  • 首先列出ASM磁盘:oracleasm listdisks
  • 逐个删除磁盘注册:oracleasm deletedisk DISK1
  • 关键一步:物理清零dd if=/dev/zero of=/dev/mapper/vg_ocr-lv_ocr bs=1M count=100(请将路径替换为你真实的ASM设备路径)
  • 如果存储硬件支持,直接在SAN或NAS存储层面对LUN进行重新初始化,这通常比在操作系统层用dd命令更为彻底。

同样,存放OCR和Voting Disk的磁盘也必须清理。这一步如果漏掉,即使运行rootcrs.pl -deconfig -force也可能失败。后果就是,重新安装Grid时,安装程序会卡在“Creating OCR backup”这一步无限等待。

说到底,卸载RAC更像是一次精密的外科手术,而非简单的拆除。自动化脚本提供了主要框架,但那些边边角角、深藏不露的“组织”,还得靠手动工具一点点剥离干净。遵循分步、分角色、彻底清理的原则,才能为下一次的全新安装铺平道路。

来源:https://www.php.cn/faq/2307356.html

游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

同类文章
更多
怎么禁用root用户远程登录_最小权限原则安全配置

怎么禁用root用户远程登录_最小权限原则安全配置

禁用 root 远程登录:核心配置与四大安全加固策略详解 直接回答:禁用 root 远程登录的核心操作,确实是配置 PermitRootLogin no 并重启 SSH 服务。然而,仅完成这一步,服务器的安全防护依然存在短板。一套真正有效的安全策略,需要结合用户访问白名单、彻底关闭密码认证、精细化管

时间:2026-04-26 14:33
如何在登录页集成第三方OAuth登录按钮_SSO整合与界面适配

如何在登录页集成第三方OAuth登录按钮_SSO整合与界面适配

OAuth登录按钮点击无效?全面排查指南与解决方案 在集成第三方登录功能时,开发者常会遇到OAuth按钮点击无响应、授权流程中断或用户信息获取失败等问题。这些问题大多源于配置细节的疏忽。本文将系统性地梳理关键排查步骤,帮助您快速定位并解决90%以上的常见OAuth集成故障。 OAuth按钮点击后无跳

时间:2026-04-26 14:33
如何实现SQL数据审计日志分库_通过触发器实现路由存储

如何实现SQL数据审计日志分库_通过触发器实现路由存储

如何实现SQL数据审计日志分库:通过触发器实现路由存储 先明确一个核心原则:必须通过本库中间表+异步消费实现跨库日志路由。具体来说,就是触发器先将日志写入本地的audit_log_buffer表,并携带一个db_route_hint字段作为路由线索,再由外部服务根据这个线索,异步地分库写入到最终的目

时间:2026-04-26 14:33
多台数据库怎么定期自动清理旧备份文件_Navicat独家操作方法

多台数据库怎么定期自动清理旧备份文件_Navicat独家操作方法

Na vicat 不支持跨库自动清理,需用 Windows 自带 forfiles 命令配合任务计划程序定时执行脚本,按路径逐个清理 nb3 文件,并须配置最高权限、避免中文路径、同步更新路径及添加日志验证。 Na vicat 本身不支持跨库自动清理,必须靠外部脚本驱动 如果你指望在 Na vic

时间:2026-04-26 14:33
如何配置导出时按主键排序_确保数据导出的确定性与一致性序列

如何配置导出时按主键排序_确保数据导出的确定性与一致性序列

导出数据必须显式ORDER BY主键,否则顺序无保障;需检查SQL是否含ORDER BY、DataFrame索引是否重置、CSV换行符与编码是否统一,各环节均可能破坏顺序。 导出前必须显式 ORDER BY 主键,数据库不会自动保序 先说一个核心认知:在SQL标准里,不写 ORDER BY 就等于放

时间:2026-04-26 14:33
热门专题
更多
刀塔传奇破解版无限钻石下载大全 刀塔传奇破解版无限钻石下载大全
洛克王国正式正版手游下载安装大全 洛克王国正式正版手游下载安装大全
思美人手游下载专区 思美人手游下载专区
好玩的阿拉德之怒游戏下载合集 好玩的阿拉德之怒游戏下载合集
不思议迷宫手游下载合集 不思议迷宫手游下载合集
百宝袋汉化组游戏最新合集 百宝袋汉化组游戏最新合集
jsk游戏合集30款游戏大全 jsk游戏合集30款游戏大全
宾果消消消原版下载大全 宾果消消消原版下载大全
  • 日榜
  • 周榜
  • 月榜
热门教程
更多
  • 游戏攻略
  • 安卓教程
  • 苹果教程
  • 电脑教程