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
posted @ 2022-03-26 20:52  bye0ond  阅读(266)  评论(0编辑  收藏  举报