从11g开始卸载数据库可以使用自带的deinstall脚本,在$ORACLE_HOME/deinstall/下面,执行顺序是先在oracle用户运行,在去grid用户运行,最后会提示你在root下面执行一串命令,如下是我记录的整个删除过程。
一. 卸载前准备
- 对于生产环境,卸载前建议备份所有数据,某些现在看起来没有用的数据,后面可能就有用。
- 生产环境在卸载前一定要跟相关干系人确认清楚,建议通过邮件的方式,避免口述带来的各种纠纷,稍不留神就是在给自己挖坑。
二. 开始卸载
- 检查集群状态,如果集群运行异常,直接使用deinstall脚本可能会失败,建议直接kill进程,rm删除文件。可以先试一下,不影响。
#检查集群资源状态 crsctl stat res -t
- 在oracle用户下面执行deinstall脚本
$ORACLE_HOME/deinstall/deinstall
- 在grid用户下面执行deinstall脚本
$ORACLE_HOME/deinstall/deinstall
-
上面脚本执行过程中会要求在root下面执行一串命令,复制执行就行,待全部完成后,还需要删除部份残留文件,避免影响新数据库安装。
-
删除残留文件,每个节点都要执行。
rm -f /etc/init.d/init.ohasd
rm -f /etc/init.d/ohasd
rm -f /etc/oracle
rm -f /etc/init.d/init.cssd
rm -f /etc/init.d/init.crs
rm -f /etc/init.d/init.crsd
rm -f /etc/init.d/init.evmd
rm -rf /etc/oracle/scls_scr
rm -f /etc/inittab.crs
rm -f /etc/ohasd
rm -f /etc/oraInst.loc
rm -f /etc/oratab
rm -f /var/tmp/.oracle
rm -f /etc/oraInst.loc
rm -f /etc/inittab.*
cat /dev/null > /etc/inittab
rm -rf /tmp/*
rm -rf /tmp/.*
rm -f /usr/local/bin/dbhome
rm -f /usr/local/bin/oraenv
rm -f /usr/local/bin/coraenv
rm -rf /opt/ORCLfmap
#删除数据库软件安装目录
rm -rf /u01/app/*
#重建新的目录
mkdir -p /u01/app/19.3.0/grid
mkdir -p /u01/app/grid
mkdir -p /u01/app/oracle
chown -R grid:oinstall /u01
chown oracle:oinstall /u01/app/oracle
chmod -R 775 /u01
- 删除完成以后,建议重启一次服务器。
- 如果不想使用deinstall脚本,可直接kill grid和oracle进程,然后再执行第5步的删除命令进行暴力删除,效果也是一样的。
#在root下面执行
ps -ef| grep oracle | awk '{print $2}' | xargs kill -9
ps -ef| grep grid | awk '{print $2}' | xargs kill -9
- 使用过的磁盘需要进行dd操作,以清除数据,条件允许建议在存储上进行初始化,另19.3可以选择不安装gimr,磁盘划分可复用11g的,装出来的ocr磁盘组,used为4.5g的样子。
- 总结:
不同的环境需要删除的残留文件可能不同,我这里只是列举了rhel-Linux7.6环境需要删除的文件,对于其它环境可以参考mos,或其它文档,以上仅供参考。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。