oracle重新安装集群软件后挂盘启动数据库

现有情况是恢复灾备环境的oracle集群备库,灾备端一直和主端做的数据同步,但是之前主端的三块OCR磁盘出现过故障,更换过磁盘,但是灾备端虽然一直做数据同步,但是只同步了DATA和FRA两个磁盘组。
如今需要使用灾备端来做测试,需要恢复灾备端的Oracle数据库集群使用。由于灾备端也更换了新的三块OCR存储,所以我们需要先铲除掉之前安装的集群和数据库软件,重新安装集群和软件之后挂上两个sam磁盘组,之后再在集群添加数据库或实例的配置信息。
强制关闭集群(2 个节点执行)

#(ROOT)
crsctl stop crs -f

ps -ef | grep grid 
ps -ef | grep oracle

删除文件(2 个节点执行)
这里删除需要谨慎,我是把数据库集群文件都放在/opt/oracle目录下面,大家删除前要按自己的安装目录为主

#(ROOT)
rm -rf /opt/ora*   --这里是我安装数据库集群软件目录
rm -rf /etc/ora* 
rm -rf /usr/local/ora* 
rm -rf /opt/ORCLfmap 
rm -rf /etc/oraInst.loc 
rm -rf /opt/ORCLfmap 
rm -f /etc/init.d/init.cssd 
rm -f /etc/init.d/init.crs 
rm -f /etc/init.d/init.crsd
rm -f /etc/init.d/init.evmd 
rm -f /etc/rc2.d/K96init.crs 
rm -f /etc/rc2.d/S96init.crs 
rm -f /etc/rc3.d/K96init.crs 
rm -f /etc/rc3.d/S96init.crs 
rm -f /etc/rc5.d/K96init.crs 
rm -f /etc/rc5.d/S96init.crs 
rm -rf /etc/oracle/scls_scr 
rm -f /etc/inittab.crs
rm -f /etc/ohasd
rm -f /etc/oraInst.loc 
rm -rf /tmp/.oracle 
rm -rf /tmp/ora*
rm -rf /var/tmp/.oracle 
rm -rf /tmp/CVU*
rm -rf /tmp/Ora*
rm -rf /home/grid/.oracle 
rm -rf /usr/app/*
rm -rf /etc/init.d/init.ohasd
rm -rf /usr/local/bin/dbhome
rm -rf /usr/local/bin/oraenv 
rm	-rf /usr/local/bin/coraenv 
rm -rf /etc/oratab
rm -rf /tmp/*oracle* 
rm -rf /tmp/OraInst*
rm -rf /etc/systemd/system/oracle*


dd 磁盘(1 节点执行)

#(ROOT)
dd if=/dev/zero of=/dev/asm-ocr1 bs=1024 count=5000 
dd if=/dev/zero of=/dev/asm-ocr2 bs=1024 count=5000 
dd if=/dev/zero of=/dev/asm-ocr3 bs=1024 count=5000 

确认磁盘清空(2 个节点执行)

#(ROOT)
hexdump -n 1024 -C /dev/asm-ocr1 
hexdump -n 1024 -C /dev/asm-ocr2 
hexdump -n 1024 -C /dev/asm-ocr3 

重新创建 oracle 目录(2 个节点执行)

#(ROOT)
mkdir -p /opt/app/19/grid 
mkdir -p /opt/app/grid
mkdir -p /opt/app/oracle/product/19/db_1 chown -R grid:oinstall /u01/app
chown -R oracle:oinstall /opt/app/oracle
chmod -R 775 /opt/app

然后从安装集群步骤开始重新搭建
集群安装可以参考一下文章
Centos 7.7下Oracle 11g RAChttps://blog.csdn.net/weixin_45833902/article/details/107176663

集群和数据库软件安装完毕后不需要安装数据库
需要先在两个节点挂载data和far两个asm磁盘组

#(GRID)
sqlplus / as sysasm
SQL > alter diskgroup data mount;
SQL > alter diskgroup fra mount;

添加数据库或实例的配置信息

#(ORACLE)
srvctl add database -d database_name  -o oracle_home  -p oracle_spfile

srvctl add instance -d tyyd -o /opt/oracle/app/oracle/product/19.0.0/db_1 -p +DATA/TYYD/PARAMETERFILE/SPFILE.268.11

这里-o是指$ORACLE_HOME(用来确定lsnrctl和Oracle等命令路径)
-p是指数据库启动的spfile文件位置
-d是数据库名称

向数据库添加实例

#(ORACLE)
srvctl add instance -d tyyd -i TYYD1 -n dcbjsora1

srvctl add instance -d tyyd -i TYYD2 -n dcbjsora1

这里-i 是数据库实例名字,要注意实例名的大小写
-n 是指两个节点的主机名

显示保存在SRVM配置文件中的配置信息

#(ORACLE)
srvctl config database -d tyyd

启动数据库

#(ORACLE)
srvctl start database -d tyyd

你可能感兴趣的:(数据库,oracle)