温馨提示×

Linux怎么卸载Oracle

小樊
39
2026-07-14 08:37:47
栏目: 云计算

在 Linux 上卸载 Oracle(以 Oracle Database 为例),不能只删目录,否则会留下大量残留。下面给你一套标准、安全的卸载流程,适用于 Oracle 11g / 12c / 19c 等常见版本。


一、卸载前准备(非常重要)

1️⃣ 确认 Oracle 版本和安装路径

echo $ORACLE_HOME
echo $ORACLE_BASE

常见路径:

ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1

2️⃣ 停止所有 Oracle 服务

sqlplus / as sysdba
shutdown immediate
exit

停止监听:

lsnrctl stop

停止其他服务(如有):

emctl stop dbconsole

二、使用 Oracle 官方卸载工具(推荐 ✅)

1️⃣ 运行 runInstaller 卸载

进入 Oracle 安装目录:

cd $ORACLE_HOME/oui/bin

执行:

./runInstaller

在图形界面中:

  • 选择 Deinstall Products
  • 勾选要卸载的 Oracle Home
  • 按提示完成

这是最干净、最推荐的方式


三、命令行方式卸载(无图形界面)

cd $ORACLE_HOME/deinstall
./deinstall

按提示输入:

  • ORACLE_HOME
  • listener 名称
  • 数据库名(如有)

四、手动清理(卸载后必须做)

1️⃣ 删除 Oracle 目录

rm -rf /u01/app/oracle
rm -rf /u01/app/oraInventory

(路径按你实际安装情况调整)


2️⃣ 删除 Oracle 用户和组

userdel -r oracle
groupdel oinstall
groupdel dba

3️⃣ 清理系统配置

rm -f /etc/oraInst.loc
rm -f /etc/oratab

4️⃣ 清理环境变量

编辑:

vi ~/.bash_profile
vi /home/oracle/.bash_profile

删除:

ORACLE_BASE
ORACLE_HOME
ORACLE_SID
PATH 中的 oracle 路径

重新加载:

source ~/.bash_profile

5️⃣ 清理系统服务(如有)

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

如果你愿意,可以告诉我:

  • ✅ Oracle 版本(11g / 12c / 19c)
  • ✅ Linux 发行版
  • ✅ 是否有数据库实例

我可以给你精确到命令级别的卸载方案

0