作者:Digital Observer(施嘉伟)
Oracle ACE Pro: Database
PostgreSQL ACE Partner
11年数据库行业经验,现主要从事数据库服务工作
拥有Oracle OCM、DB2 10.1 Fundamentals、MySQL 8.0 OCP、WebLogic 12c OCA、KCP、PCTP、PCSD、PGCM、OCI、PolarDB技术专家、达梦师资认证、数据安全咨询高级等认证
ITPUB认证专家、PolarDB开源社区技术顾问、HaloDB技术顾问、TiDB社区技术布道师、青学会MOP技术社区专家顾问、国内某高校企业实践指导教师
公众号/墨天轮:Digital Observer;CSDN/PGfans:施嘉伟;ITPUB:sjw1933
前言
在 Oracle 数据库的日常运维过程中,我们可能会遇到数据库迁移、升级或环境重建的需求。在这些情况下,彻底清理旧的 Oracle 安装环境是确保新环境顺利部署的重要步骤。特别是在 RAC(Real Application Clusters)环境 中,由于涉及多个节点和集群服务,清理工作更加复杂。
本指南详细介绍了 单机数据库 和 RAC 集群 的手动清理步骤,包括 停止服务、删除相关目录、清理配置文件、移除用户和组,以及检查残留进程,确保 Oracle 数据库及其相关组件被完整移除,为后续安装或环境调整提供一个干净的系统基础。
一 单机手工清理
-
停止监听
[oracle@orcl ~]$ lsnrctl stop
[oracle@orcl ~]$ lsnrctl status -
停止数据库
[oracle@orcl~]$ sqlplus / as sysdba
SQL> shutdown immediate -
删除oracle的inventory 目录
[root@orcl app]# rm -rf /u01/app/oraInventory/ -
删除Oracle的base目录下所有的目录
[root@orcl oracle]# rm -rf /u01/app/oracle/* -
删除临时目录/tmp
[root@orcl oracle]#cd /tmp
[root@orcl tmp]#rm -rf CVU*
[root@orcl tmp]#rm -rf OraInstall* -
删除Oracle的配置文件
[root@orcl tmp]# rm -f /etc/ora* -
删除oracle产生命令
[root@orcl tmp]# rm -f /usr/local/bin/* -
其他的文件
[root@orcl .oracle]# rm -rf /usr/tmp/.oracle/ -
删除用户和组
[root@orcl tmp]# userdel -r oracle
[root@orcl tmp]# groupdel dba
[root@orcl tmp]# groupdel oinstall -
撤销oracle的资源限制文件
[root@orcl tmp]# vi /etc/security/limits.conf -
内核参数
[root@orcl tmp]# vi /etc/sysctl.conf
[root@orcl tmp]# sysctl -p -
删除oracle base
[root@orcl ~]# rm -rf /u01
二 RAC手工清理
以下操作都在双节点进行
1 关库,关集群
[oracle@orcl1~]# srvctl stop database -d orcl (一个节点执行即可)
[root@orcl1~]# $GRID_HOME/bin/crsctl stop crs
2 删除oracle用户的oracle_home和oracle_base
3 删除/usr/local/bin/下的文件
[root@orcl1 ~]# rm -f /usr/local/bin/dbhome
[root@orcl1 ~]# rm -f /usr/local/bin/oraenv
[root@orcl1 ~]# rm -f /usr/local/bin/coraenv
4 将/etc下的文件删除
[root@orcl1 ~]# rm -f /etc/oratab
[root@orcl1 ~]# rm -f /etc/oraInst.loc
[root@orcl1 ~]# rm -rf /etc/oracle
5 删除oracle用户
[root@orcl1 ~]# userdel -r oracle
6 删除grid用户的oracle_home和oracle_base
7 删除/etc下的配置文件
[root@orcl1 ~]# cd /etc/
[root@orcl1 etc]# rm -rf ora*
[root@orcl1 ~]# cd /etc/init
[root@orcl1 init]# rm -rf oracle*
[root@orcl1 ~]# cd /etc/init.d/
[root@orcl1 init.d]# rm -f init.ohasd
[root@orcl1 init.d]# rm -f ohasd
[root@orcl1 init.d]# rm -f init.tfa
8.删除/var/tmp/.oracle 集群注册信息
[root@orcl1 ~]# rm -f /var/tmp/.oracle
9 删除/tmp下安装临时信息
[root@orcl1 ~]# cd /tmp
[root@orcl1 tmp]#rm -rf CVU*
[root@orcl1 tmp]#rm -rf OraInstall*
10 格式化ASM磁盘组
[root@orcl1 ~]# dd if=/dev/zero of=/dev/asm-diskb bs=1024 count=1000
[root@orcl1 ~]# dd if=/dev/zero of=/dev/asm-diskc bs=1024 count=1000
[root@orcl1 ~]# dd if=/dev/zero of=/dev/asm-diskd bs=1024 count=1000
[root@orcl1 ~]# dd if=/dev/zero of=/dev/asm-diske bs=1024 count=1000
[root@orcl1 ~]# dd if=/dev/zero of=/dev/asm-diskf bs=1024 count=1000
11 删除grid用户和属组
[root@orcl1 ~]# userdel -r grid
[root@orcl1 ~]# groupdel dba
[root@orcl1 ~]# groupdel oinstall
12.排查是否有残余进程
杀进程
[root@orcl1 ~]# ps -ef | grep crs
[root@orcl1 ~]# ps -ef | grep ora
[root@orcl1 ~]# ps -ef | grep grid
[root@orcl1 ~]# kill -9 PID
附录: 参考文献
http://m.blog.itpub.net/31060020/viewspace-2644550/
https://www.cnblogs.com/wcwen1990/p/6661592.html
https://www.cnblogs.com/jyzhao/p/7305195.html
http://m.blog.itpub.net/25116248/viewspace-1158440/
How to completely remove 11.2 and 12.1 Grid Infrastructure, CRS and/or Oracle Restart - IBM: Linux on System z (Doc ID 1413787.1)