# 1. 停止數據庫實例
sqlplus / as sysdba <
# 圖形界面(需 X11 轉發)
dbca -silent -deleteDatabase -sourceDB ORCL -sysDBAUserName sys -sysDBAPassword ****
# 或手動清理數據文件(謹慎)
# rm -rf $ORACLE_BASE/oradata/$ORACLE_SID
# 1. 記錄關鍵環境變量
echo $ORACLE_HOME
echo $ORACLE_BASE
# 2. 刪除 Oracle Home(包含二進制、庫文件、網絡配置)
rm -rf $ORACLE_HOME
# 3. 刪除 Oracle Base(包含數據文件、日志、備份、admin目錄)
rm -rf $ORACLE_BASE
# 1. /usr/local/bin 鏈接文件
rm -f /usr/local/bin/dbhome
rm -f /usr/local/bin/oraenv
rm -f /usr/local/bin/coraenv
# 2. /etc 配置文件
rm -f /etc/oratab
rm -f /etc/orainst.loc
# 3. /opt 目錄(部分版本)
rm -rf /opt/ORCLfmap
# 4. 清理 inventory 目錄(OraInventory)
rm -rf /u01/app/oraInventory # 根據實際安裝路徑調整
# 必須先刪除用戶,再刪除組
userdel -r oracle
groupdel oinstall
groupdel dba
groupdel oper # 如存在
groupdel backupdba # 如存在
groupdel dgdba # 如存在
groupdel kmdba # 如存在
# 1. 修改 /etc/sysctl.conf 移除 Oracle 相關參數
# kernel.shmmax, kernel.shmall, kernel.shmmni, kernel.sem,
# fs.file-max, net.ipv4.ip_local_port_range 等
# 2. 修改 /etc/security/limits.conf 移除 oracle 用戶限制
# oracle soft nproc 2047
# oracle hard nproc 16384
# oracle soft nofile 1024
# oracle hard nofile 65536
# 3. 生效內核參數
sysctl -p
# 1. 刪除啟動腳本
rm -f /etc/init.d/oracle
rm -f /etc/rc.d/rc*.d/*oracle*
# 2. 清理用戶環境變量(/home/oracle/.bash_profile, /etc/profile.d/oracle.sh 等)
# 註釋或刪除 ORACLE_HOME, ORACLE_SID, PATH 等相關導出
# 1. 確認無 Oracle 進程
ps -ef | grep -i oracle
# 2. 確認端口釋放
netstat -tlnp | grep 1521
# 3. 確認用戶/組刪除
id oracle # 應提示 "no such user"
getent group oinstall dba # 應無輸出
# 4. 確認目錄清理
ls -ld $ORACLE_HOME $ORACLE_BASE /u01/app/oraInventory 2>/dev/null | wc -l # 應為 0
crsctl stop cluster -all 停止集群倉rootcrs.pl -deconfig -force 卸載 Grid Infrastructure若計劃重新安裝,建議保留 /etc/orainst.loc 指向的 OraInventory 目錄,加速後續安裝;但必須清理其中舊 Oracle Home 的註冊信息。