温馨提示×

Linux Oracle怎么卸载

小樊
40
2026-07-01 04:24:32
栏目: 云计算

在 Linux 上卸载 Oracle 数据库,通常分为 软件卸载数据清理 两部分。下面给你一套通用、可用、按步骤来的操作说明(适用于大多数 Oracle 11g / 12c / 19c)。


一、卸载前准备(一定要做)

  1. 确认是否有业务在运行
ps -ef | grep pmon

如果有 Oracle 实例在运行,先关闭:

sqlplus / as sysdba
shutdown immediate;
exit
  1. 停止监听
lsnrctl stop
  1. 切换到 Oracle 用户
su - oracle

二、使用 Oracle 自带工具卸载(推荐)

1️⃣ 执行 deinstall 工具

Oracle 自带卸载工具(11g 以后都有):

$ORACLE_HOME/deinstall/deinstall

按提示操作即可,它会:

  • 删除 Oracle 软件
  • 删除监听
  • 清理部分配置

这是最安全、最推荐的方式


三、如果 deinstall 不可用(手动卸载)

1️⃣ 删除 Oracle 软件目录

rm -rf $ORACLE_HOME

常见路径示例:

/u01/app/oracle/product/19.3.0/dbhome_1

还可以删除整个 Oracle 基目录(确认无数据):

rm -rf /u01/app/oracle

2️⃣ 删除 Oracle 用户和组

userdel -r oracle
groupdel oinstall
groupdel dba

(如果有其他组如 oper、asmdba 也一并删除)


3️⃣ 删除系统服务(如有)

chkconfig oracle off   # RHEL6
systemctl disable oracle  # RHEL7+

4️⃣ 清理环境变量

编辑:

/etc/profile
~/.bash_profile
~/.bashrc

删除以下内容:

ORACLE_BASE
ORACLE_HOME
ORACLE_SID
PATH 中的 oracle 路径

5️⃣ 删除 Oracle 数据文件(可选)

如果你不再需要数据:

rm -rf /u01
rm -rf /oradata
rm -rf /oralog

⚠️ 这是不可逆操作,先确认!


四、清理系统残留(可选)

1️⃣ 删除或atab 文件

rm -f /etc/oratab

2️⃣ 删除内核参数(如果有)

vi /etc/sysctl.conf

删除 Oracle 相关参数(如 kernel.shmmax 等)


五、验证是否卸载干净

ps -ef | grep oracle
rpm -qa | grep oracle
find / -name oracle 2>/dev/null

六、常见场景速查

场景 建议
只想重装 Oracle 用 deinstall
完全清理服务器 手动删除目录 + 用户
卸载 19c 用 deinstall
卸载 11g deinstall 或手动
只删数据库不删软件 DBCA 删除数据库

七、我可以更精确帮你

你可以直接告诉我:

  1. Oracle 版本(11g / 12c / 19c)
  2. Linux 版本(RHEL / CentOS / Ubuntu)
  3. 是否保留数据

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

0