Oracle 19c 基本痕迹清理(基于rpm安装在centos7系统上)

193 阅读2分钟

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 及其相关配置。在执行这些步骤之前,请确保您完全理解每个命令的作用,并且已经做好了充分的数据备份。