【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 <<EOF
shutdown immediate;
exit;
EOF

4.删除数据库实例

使用 dbca(Database Configuration Assistant)删除数据库:

复制代码
dbca -silent -deleteDatabase -sourceDB <your_database_name> -sysDBAUserName sys -sysDBAPassword <sys_password>

替换参数:

<your_database_name>:数据库实例名(如 ORCLCDB)

<sys_password>:sys 用户的密码

示例:

复制代码
dbca -silent -deleteDatabase -sourceDB ORCLCDB -sysDBAUserName sys -sysDBAPassword MyPassword

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

5.清理残留文件

删除数据库相关文件:

复制代码
rm $ORACLE_HOME/dbs/init<sid>.ora     # 初始化参数文件
rm $ORACLE_HOME/dbs/spfile<sid>.ora   # 服务器参数文件
rm $ORACLE_HOME/dbs/orapw<sid>        # 密码文件

替换 为数据库实例名(如 rm $ORACLE_HOME/dbs/initORCLCDB.ora)。

删除数据文件目录(默认在 $ORACLE_BASE/oradata/<database_name>):

复制代码
rm -rf $ORACLE_BASE/oradata/<your_database_name>

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

复制代码
rm -rf $ORACLE_BASE/fast_recovery_area/<your_database_name>

6.可选清理

删除监听日志:

复制代码
rm $ORACLE_BASE/diag/tnslsnr/<hostname>/listener/alert/log.xml

移除 /etc/oratab 中的条目:

复制代码
sed -i '/^<your_database_name>:/d' /etc/oratab

验证结果

检查监听状态(应提示无监听器):

复制代码
lsnrctl status

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

复制代码
ps -ef | grep pmon

关键说明

保留的软件:$ORACLE_HOME 目录(包含 Oracle 二进制文件)未被删除,可重用。

备份建议:删除前确保已备份重要数据。

依赖项:如果数据库被其他应用使用,更新相关配置(如连接字符串)。

执行后,Oracle 软件仍可用于创建新数据库或监听器,但原数据库实例和监听配置已被彻底移除。

相关推荐
别来无恙1492 分钟前
SpringBoot的配置文件
java·数据库·spring boot
可观测性用观测云13 分钟前
Couchbase 可观测性最佳实践
数据库
哪里不会点哪里.1 小时前
EXPLAIN:你的SQL性能优化透视镜
sql·oracle·性能优化
体育分享_大眼1 小时前
足球数据 API 开发指南:从 0 到 1 搭建你的足球应用
数据结构·数据库·数据挖掘
宇钶宇夕2 小时前
EPLAN 电气制图(十): 继电器控制回路绘制(下)放料、放灰
运维·网络·数据库·程序人生·自动化
weixin_524749963 小时前
MVCC(多版本并发控制)介绍及实现原理
java·数据库
会编程的林俊杰3 小时前
事务~~~
数据库·mysql
盖世英雄酱581364 小时前
数据库占用内存过高如何解决
数据库·后端
一个天蝎座 白勺 程序猿4 小时前
以“融合进化 智领未来”之名,金仓Kingbase FlySync:国产数据库技术的突破与创新
运维·数据库·金融·数据库架构
bestsun9995 小时前
oracle 11g drop user 失败,报错ORA-00600
数据库·oracle