在 Linux 上卸载 Oracle(以 Oracle Database 为例),不能只删目录,否则会留下大量残留。下面给你一套标准、安全的卸载流程,适用于 Oracle 11g / 12c / 19c 等常见版本。
echo $ORACLE_HOME
echo $ORACLE_BASE
常见路径:
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1
sqlplus / as sysdba
shutdown immediate
exit
停止监听:
lsnrctl stop
停止其他服务(如有):
emctl stop dbconsole
runInstaller 卸载进入 Oracle 安装目录:
cd $ORACLE_HOME/oui/bin
执行:
./runInstaller
在图形界面中:
✅ 这是最干净、最推荐的方式
cd $ORACLE_HOME/deinstall
./deinstall
按提示输入:
rm -rf /u01/app/oracle
rm -rf /u01/app/oraInventory
(路径按你实际安装情况调整)
userdel -r oracle
groupdel oinstall
groupdel dba
rm -f /etc/oraInst.loc
rm -f /etc/oratab
编辑:
vi ~/.bash_profile
vi /home/oracle/.bash_profile
删除:
ORACLE_BASE
ORACLE_HOME
ORACLE_SID
PATH 中的 oracle 路径
重新加载:
source ~/.bash_profile
systemctl disable oracle-<服务名>
rm -f /etc/systemd/system/oracle*
ps -ef | grep oracle
find / -name oracle 2>/dev/null
⚠️ 不要直接 rm ORACLE_HOME
⚠️ 卸载前一定要备份数据
⚠️ 生产环境建议先测试
| 场景 | 建议 |
|---|---|
| RHEL / CentOS | 同上 |
| Oracle Linux | 同上 |
| RPM 安装 | `rpm -qa |
| ASM | 需额外卸载 ASM |
如果你愿意,可以告诉我:
我可以给你精确到命令级别的卸载方案。