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

相关推荐
运维行者_5 小时前
企业无线网络监控的挑战与智能化演进趋势
大数据·运维·服务器·网络·数据库
国强_dev5 小时前
技术探讨:使用 stunnel 加密转发数据库连接时,如何获取客户端真实 IP?
数据库·网络协议·tcp/ip
@insist1235 小时前
系统规划与管理师-信息系统规划核心工作要点解析
数据库·软考·系统规划与管理师·软件水平考试·系统规划与管理工程师
超级数据查看器5 小时前
超级数据查看器 v10.0 发布
java·大数据·数据库·sqlite·安卓
数安3000天6 小时前
增量数据如何自动分类分级,避免目录“过期“?
大数据·数据库
南墙上的石头7 小时前
麒麟 V10 重装人大金仓 V8R6 踩坑实录(含 MySQL 兼容模式)
数据库·mysql
画中有画8 小时前
论向量数据库在项目中的应用
数据库
spider_xcxc8 小时前
Redis 数据库高质量实践指南(一)
运维·数据库·redis·oracle·云计算
l1t9 小时前
在linux和windows中解决duckdb 1.6dev版本输出执行计划报错问题
linux·运维·数据库·windows·duckdb
执子手 吹散苍茫茫烟波9 小时前
RC 隔离级别下 MySQL InnoDB 死锁典型案例
数据库·mysql