oracle重新新建实例记录
场景:数据库文件损坏且没有备份无法正常恢复,需要删除实例并且按照原有实例名重新新建实例,记录如下:
1. 停止数据库
sqlplus / as sysdba
sql> shutdown immediate
2.删除实例
如果数据库实例可以正常打开,可以使用dbca进行数据库实例删除,本次由于数据库损坏无法处于打开状态,所以采取删除文件目录的方式。
dcap删除实例命令: dbca -silent -deleteDatabase -sourcedb ycldb -sid ycldb;
#如果有多个实例,先设置实例
export ORACLE_SID=ycldb
#查找数据库实例涉及到的文件
find $ORACLE_BASE/ -name $ORACLE_SID
#本次操作实例涉及以下目录
rm -rf /u01/app/oracle/oradata/ycldb
rm -rf /u01/app/oracle/admin/ycldb
rm -rf /u01/app/oracle/diag/rdbms/ycldb
rm -rf /u01/app/oracle/diag/rdbms/ycldb/ycldb
rm -rf /u01/app/oracle/flash_recovery_area/ycldb
rm -rf /u01/app/oracle/cfgtoollogs/dbca/ycldb
rm -rf /u01/app/oracle/cfgtoollogs/emca/ycldb
#如果有,则删除,本地没有
find $ORACLE_BASE/* -name '*[Bb][Tt][Ss][Dd][Bb]2*' | grep -v admin| grep -v oradata
3.删除旧的实例配置项
vi /etc/oratab
#删除与删除实例相关的记录,一般在最后一行
ycldb:/u01/app/oracle/product/11.2.0/db_1:N
4.重新创建实例
由于有堡垒机,无法通过图形界面创建数据库实例,采用dbca命令行方式进行创建,创建实例时候要主要原有实例的字符集以及数据库文件存放位置。
#创建实例语句
dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbName ycldb -sid ycldb -responseFile NO_VALUE -sysPassword ycldb -systemPassword ycldb -redoLogFileSize 5120 -storageType FS -datafileDestination /oradata/data -characterset ZHS16GBK -nationalCharacterSet ZHS16GBK -obfuscatedPasswords false -sampleSchema false -databaseType OLTP -emConfiguration NONE
本文来自博客园,作者:bye0ond,转载请注明原文链接:https://www.cnblogs.com/bey0ond/p/16060822.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)