温馨提示×

Linux中Oracle如何卸载

小樊
42
2026-08-24 20:05:19
栏目: 云计算

在 Linux 上彻底卸载(移除)Oracle 数据库,需要按正确的顺序操作,否则容易留下残留。下面以 Oracle Database(单机版) 为例,按最常用、最安全的方式说明。


一、停止 Oracle 相关服务(必须)

1️⃣ 切换到 oracle 用户

su - oracle

2️⃣ 停止监听

lsnrctl stop

3️⃣ 停止数据库实例

sqlplus / as sysdba
shutdown immediate;
exit;

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

Oracle 提供了 deinstall 工具,比手动删除安全。

1️⃣ 执行 deinstall

$ORACLE_HOME/deinstall/deinstall

或:

cd $ORACLE_HOME/deinstall
./deinstall

按提示选择:

  • 是否删除数据库(一般选
  • 是否删除监听(一般选

✅ 这是官方推荐方式,能自动清理大部分内容。


三、手动清理(deinstall 不彻底时)

1️⃣ 删除 Oracle 安装目录

rm -rf $ORACLE_BASE
rm -rf $ORACLE_HOME

常见路径示例:

rm -rf /u01/app/oracle

2️⃣ 删除 Oracle 用户和组

userdel -r oracle
groupdel oinstall
groupdel dba

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

systemctl disable oracle
rm -f /etc/systemd/system/oracle.service

4️⃣ 清理环境变量

编辑以下文件,删除 Oracle 相关配置:

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

删除类似内容:

export ORACLE_BASE=...
export ORACLE_HOME=...
export PATH=$ORACLE_HOME/bin:$PATH

5️⃣ 删除内核参数(可选)

vi /etc/sysctl.conf

删除:

kernel.shmmax
kernel.shmall
fs.file-max

然后执行:

sysctl -p

6️⃣ 删除 Oracle 相关 rpm(极少见)

rpm -qa | grep oracle
rpm -e 包名

四、验证是否卸载干净

ps -ef | grep oracle
ls /u01/app
env | grep ORACLE

✅ 没有进程、目录、环境变量即为干净。


五、常见场景说明

场景 建议
重装 Oracle 先 deinstall,再清理目录
只删数据库 不删 ORACLE_HOME
RAC 使用 deinstall -local
Docker / 云环境 直接删容器或实例

六、注意事项(非常重要)

⚠️ 卸载前备份:

  • 数据文件
  • 参数文件
  • 控制文件
  • 归档日志

⚠️ 生产环境务必确认:

  • 是否还有业务连接
  • 是否还有其他实例

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

  • ✅ Oracle 版本(11g / 12c / 19c / 21c)
  • ✅ Linux 发行版(RHEL / CentOS / Oracle Linux / Ubuntu)
  • ✅ 是否 RAC

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

0