Oracle 19c 基本痕迹清理(基于rpm安装在centos7系统上)
注意事项
在执行以下步骤之前,请确保:
- 已备份所有重要数据
- 了解每个步骤的影响
- 最好在非生产环境中先测试这个清理过程
基本清理命令
1. 停止 Oracle 服务和进程
sudo systemctl stop oracle19c.service
sudo su - oracle
sqlplus / as sysdba <<EOF
SHUTDOWN IMMEDIATE;
EXIT;
EOF
exit
ps -ef | grep oracle | grep -v grep | awk '{print $2}' | xargs sudo kill -9
2. 禁用并删除 systemd 服务文件
sudo systemctl disable oracle19c.service
sudo rm /etc/systemd/system/oracle19c.service
sudo systemctl daemon-reload
3. 删除 Oracle 管理脚本
sudo rm /opt/oracle/manage_db.sh
4. 重置 /etc/oratab 文件
sudo cp /etc/oratab /etc/oratab.bak
sudo sed -i 's/:Y$/:N/' /etc/oratab
5. 删除 Oracle 软件和数据文件
sudo rm -rf /opt/oracle
sudo rm -rf /u01/app/oracle
6. 删除 Oracle 环境变量设置
sudo sed -i '/# Oracle specific environment variables/,/^$/d' /etc/profile
sudo sed -i '/# Oracle specific environment variables/,/^$/d' /home/*/.bash_profile
7. 卸载 Oracle RPM 包
sudo yum remove -y oracle-database-ee-19c oracle-database-preinstall-19c
8. 清理 yum 缓存
sudo yum clean all
9. 删除 Oracle 日志文件
sudo rm -rf /var/log/oracle*
10. 删除 Oracle 临时文件
sudo rm -rf /tmp/.oracle
11. 重置防火墙规则
sudo firewall-cmd --permanent --remove-port=1521/tcp
sudo firewall-cmd --reload
12. 清理 /etc/hosts 文件
sudo sed -i '/# Added by Oracle installation/d' /etc/hosts
13. 重置系统限制
sudo sed -i '/# Oracle 19c limits/,/# End Oracle 19c limits/d' /etc/security/limits.conf
14. 清理 cron 作业
sudo sed -i '/oracle/d' /var/spool/cron/*
15. 删除 Oracle 备份文件
sudo rm -rf /backup/oracle
16. 重置 SELinux 配置
sudo restorecon -R /
17. 清理 Oracle 网络配置文件
sudo rm -f /etc/tnsnames.ora
sudo rm -f /etc/sqlnet.ora
sudo rm -f /etc/listener.ora
18. 删除 Oracle 用户和组
sudo userdel -r oracle
sudo groupdel oinstall
sudo groupdel dba
19. 重启系统
sudo reboot
后续操作
- 执行清理后,仔细检查系统,确保没有遗漏任何 Oracle 相关的配置或文件。
- 验证系统的其他功能是否正常运行。
- 考虑更新系统文档,记录已移除 Oracle 19c。
注意
这个清理过程是彻底的,会完全移除 Oracle 19c 及其相关配置。在执行这些步骤之前,请确保您完全理解每个命令的作用,并且已经做好了充分的数据备份。