【Oracle】删除 Oracle 19c 的监听器和数据库实例同时保留数据库软件

要删除 Oracle 19c 的监听器和数据库实例,同时保留数据库软件,请按以下步骤操作:

1.停止监听器

lsnrctl stop

2.删除监听器配置
手动删除配置文件:

cd $ORACLE_HOME/network/admin
rm listener.ora sqlnet.ora tnsnames.ora  # 删除网络配置文件

或使用 netca 工具:

netca

选择 “Listener configuration” → “Delete” → 选择要删除的监听器。

3.停止数据库实例

sqlplus / as sysdba <

4.删除数据库实例
使用 dbca(Database Configuration Assistant)删除数据库:

dbca -silent -deleteDatabase -sourceDB  -sysDBAUserName sys -sysDBAPassword 

替换参数:

:数据库实例名(如 ORCLCDB)
:sys 用户的密码

示例:

dbca -silent -deleteDatabase -sourceDB ORCLCDB -sysDBAUserName sys -sysDBAPassword MyPassword

注意:此操作会永久删除数据库文件(数据文件、控制文件、重做日志等)。

5.清理残留文件
删除数据库相关文件:

rm $ORACLE_HOME/dbs/init.ora     # 初始化参数文件
rm $ORACLE_HOME/dbs/spfile.ora   # 服务器参数文件
rm $ORACLE_HOME/dbs/orapw        # 密码文件

替换 为数据库实例名(如 rm $ORACLE_HOME/dbs/initORCLCDB.ora)。
删除数据文件目录(默认在 $ORACLE_BASE/oradata/):

rm -rf $ORACLE_BASE/oradata/

删除快速恢复区(FRA)(如果存在):

rm -rf $ORACLE_BASE/fast_recovery_area/

6.可选清理
删除监听日志:

rm $ORACLE_BASE/diag/tnslsnr//listener/alert/log.xml

移除 /etc/oratab 中的条目:

sed -i '/^:/d' /etc/oratab

验证结果
检查监听状态(应提示无监听器):

lsnrctl status

检查数据库实例(应提示实例不存在):

ps -ef | grep pmon

关键说明

保留的软件:$ORACLE_HOME 目录(包含 Oracle 二进制文件)未被删除,可重用。
备份建议:删除前确保已备份重要数据。
依赖项:如果数据库被其他应用使用,更新相关配置(如连接字符串)。
执行后,Oracle 软件仍可用于创建新数据库或监听器,但原数据库实例和监听配置已被彻底移除。

你可能感兴趣的:(大数据模块,数据库,oracle)