在 Linux 上彻底卸载(移除)Oracle 数据库,需要按正确的顺序操作,否则容易留下残留。下面以 Oracle Database(单机版) 为例,按最常用、最安全的方式说明。
su - oracle
lsnrctl stop
sqlplus / as sysdba
shutdown immediate;
exit;
Oracle 提供了 deinstall 工具,比手动删除安全。
$ORACLE_HOME/deinstall/deinstall
或:
cd $ORACLE_HOME/deinstall
./deinstall
按提示选择:
✅ 这是官方推荐方式,能自动清理大部分内容。
rm -rf $ORACLE_BASE
rm -rf $ORACLE_HOME
常见路径示例:
rm -rf /u01/app/oracle
userdel -r oracle
groupdel oinstall
groupdel dba
systemctl disable oracle
rm -f /etc/systemd/system/oracle.service
编辑以下文件,删除 Oracle 相关配置:
vi ~/.bash_profile
vi ~/.bashrc
vi /etc/profile
删除类似内容:
export ORACLE_BASE=...
export ORACLE_HOME=...
export PATH=$ORACLE_HOME/bin:$PATH
vi /etc/sysctl.conf
删除:
kernel.shmmax
kernel.shmall
fs.file-max
然后执行:
sysctl -p
rpm -qa | grep oracle
rpm -e 包名
ps -ef | grep oracle
ls /u01/app
env | grep ORACLE
✅ 没有进程、目录、环境变量即为干净。
| 场景 | 建议 |
|---|---|
| 重装 Oracle | 先 deinstall,再清理目录 |
| 只删数据库 | 不删 ORACLE_HOME |
| RAC | 使用 deinstall -local |
| Docker / 云环境 | 直接删容器或实例 |
⚠️ 卸载前备份:
⚠️ 生产环境务必确认:
如果你愿意,可以告诉我:
我可以给你精确到命令级别的卸载方案。