【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 软件仍可用于创建新数据库或监听器,但原数据库实例和监听配置已被彻底移除。

相关推荐
chushiyunen1 分钟前
r树索引、mysql对r树的支持
数据库·mysql
会编程的土豆2 分钟前
Redis Sorted Set(有序集合)详解
数据库·redis·bootstrap
Xiacqi114 分钟前
Java数据库连接--JDBC--DRUID
数据库·后端
Yushan Bai17 分钟前
ORACLE Enterprise Manager Cloud Control 系列测试3-Data Masking
数据库·oracle
罗超驿27 分钟前
16.深入理解数据库事务:从转账场景剖析ACID四大特性与回滚(Rollback)机制
数据库·mysql
Yushan Bai1 小时前
ORACLE Enterprise Manager Cloud Control 系列测试2- 日常管理和SQL优化
数据库·oracle
AI技术控1 小时前
RAG 怎么做 Query 改写?从工程实践看检索增强生成的第一道关键关卡
人工智能·语言模型·自然语言处理·oracle·nlp
-To be number.wan1 小时前
数据库单表查询全攻略
数据库·学习
文心快码BaiduComate1 小时前
520,Comate Mission模式跨越界限,和你达成最「深」联动
前端·数据库·后端
杨云龙UP2 小时前
Oracle RAC/ODA环境下如何准确查询PDB表空间已分配大小?一次说清Oracle表空间逻辑大小和ASM三副本实际占用_2026-05-19
linux·运维·数据库·sql·oracle·ffmpeg