RAC节点丢失且被强制改成单节点后,重新改造成RAC的步骤
2016-06-23 17:12
351 查看
2.2作业步骤
以下步骤在计划时间内按照顺序执行,执行前需要确认业务已经停止,执行过程核对输出结果。1、正常关闭数据库和ASM实例(预计10分钟)
[oracle@fjdb1~]$ export ORACLE_SID=orcl1
[oracle@fjdb1~]$ sqlplus / as sysdba
SQL>shutdown immediate;
SQL>exit
[oracle@fjdb1~]$ export ORACLE_SID=+ASM1
[oracle@fjdb1~]$ sqlplus / as sysdba
SQL>shutdown immediate;
SQL>exit
2、关闭CRS服务(预计5分钟)
[root@fjdb1~]# /oracle/crs/bin/crsctl stop crs
3、两节点网络配置(IP地址、/etc/hosts解析文件)恢复到构建单机前的状态(预计12分钟)
[root@fjdb1~]# cat /etc/hosts #恢复原host文件
[root@fjdb1~]# cd /etc/sysconfig/network-scripts/ #检查ifcfg-eth0 ifcfg-eth0:0 ifcfg-eth0:1文件并重启网卡
4、重命名原RAC相关目录及文件(预计5分钟)
mv/etc/rc.d/rc5.d/S96init.crs /etc/rc.d/rc5.d/S96init.crs.bak
mv/etc/rc.d/init.d/init.crs /etc/rc.d/init.d/init.crs.bak
mv/etc/rc.d/rc4.d/K96init.crs /etc/rc.d/rc4.d/K96init.crs.bak
mv/etc/rc.d/rc6.d/K96init.crs /etc/rc.d/rc6.d/K96init.crs.bak
mv/etc/rc.d/rc1.d/K96init.crs /etc/rc.d/rc1.d/K96init.crs.bak
mv/etc/rc.d/rc0.d/K96init.crs /etc/rc.d/rc0.d/K96init.crs.bak
mv/etc/rc.d/rc2.d/K96init.crs /etc/rc.d/rc2.d/K96init.crs.bak
mv/etc/rc.d/rc3.d/S96init.crs /etc/rc.d/rc3.d/S96init.crs.bak
mv/etc/oracle /etc/oracle.bak
mv/etc/oraInst.loc /etc/oraInst.loc.bak
mv/etc/oratab /etc/oratab.bak
mv/etc/init.d/init.cssd /etc/init.d/init.cssd.bak
mv/etc/init.d/init.crs /etc/init.d/init.crs.bak
mv/etc/init.d/init.crsd /etc/init.d/init.crsd.bak
mv/etc/init.d/init.evmd /etc/init.d/init.evmd.bak
mv/etc/rc2.d/K96init.crs /etc/rc2.d/K96init.crs.bak
mv/etc/rc2.d/S96init.crs /etc/rc2.d/S96init.crs.bak
mv/etc/rc3.d/K96init.crs /etc/rc3.d/K96init.crs.bak
mv/etc/rc3.d/S96init.crs /etc/rc3.d/S96init.crs.bak
mv/etc/rc5.d/K96init.crs /etc/rc5.d/K96init.crs.bak
mv/etc/rc5.d/S96init.crs /etc/rc5.d/S96init.crs.bak
mv/etc/inittab.crs /etc/inittab.crs.bak
mv/usr/local/bin/coraenv /usr/local/bin/coraenv.bak
mv/usr/local/bin/dbhome /usr/local/bin/dbhome.bak
mv/usr/local/bin/oraenv /usr/local/bin/oraenv.bak
mv/tmp/.oracle /tmp/.oracle.bak
# 以上直接运行
mv/etc/inittab /etc/inittab.bak
cp/etc/inittab.orig /etc/inittab
#以上交互式运行,并检查inittab文件为原始inittab文件
5、两节点Oracle安装目录备份及重建(预计3分钟)
[root@fjdb1oracle]# mv crs crs.bak
[root@fjdb1oracle]# mv db db.bak
[root@fjdb1oracle]# mv oraInventory oraInventory.bak
[root@fjdb1oracle]# mkdir crs db oraInventory
[root@fjdb1oracle]# chown -R oracle:oinstall crs db oraInventory
6、重启两台服务器(预计10分钟)
[root@fjdb1~]# reboot
7、两节点间等效性及两节点时间差确认(预计3分钟)
ssh fjdb1date;
sshfjdb1-priv date;
ssh fjdb2date;
sshfjdb2-priv date;
如失败需要重新构建oracle用户节点间等效性,并调整两节点时间差
8、安装环境预检查(预计5分钟)
[oracle@fjdb1cluvfy]$ pwd
/soft/clusterware/cluvfy
[oracle@fjdb1cluvfy]$ ./runcluvfy.sh stage -pre crsinst -n fjdb1,fjdb2 -verbose
Performingpre-checks for cluster services setup
Checkingnode reachability...
Check:Node reachability from node "fjdb1"
Destination Node Reachable?
------------------------------------ ------------------------
fjdb1 yes
fjdb2 yes
Result:Node reachability check passed from node "fjdb1".
......
Check:User existence for "nobody"
Node Name Status Comment
------------ ------------------------ ------------------------
fjdb2 exists passed
fjdb1 exists passed
Result:User existence check passed for "nobody".
Systemrequirement passed for 'crs'
Pre-checkfor cluster services setup was successful.
9、运行rootpre.sh脚本(预计2分钟)
[root@fjdb1rootpre]# pwd
/soft/clusterware/rootpre
[root@fjdb1rootpre]# ./rootpre.sh
No OraCMrunning
10、在节点一上清空ocr磁盘和表决磁盘(预计5分钟)
[root@fjdb1~]# dd if=/dev/zero of=/dev/raw/raw1 bs=1M count=100
[root@fjdb1~]# dd if=/dev/zero of=/dev/raw/raw2 bs=1M count=100
[root@fjdb1~]# dd if=/dev/zero of=/dev/raw/raw3 bs=1M count=100
[root@fjdb1~]# dd if=/dev/zero of=/dev/raw/raw4 bs=1M count=100
#切勿动到数据磁盘
11、安装CRS,安装结束后按顺序执行脚本(预计35分钟)
[root@fjdb1~]# /oracle/oraInventory/orainstRoot.sh
[root@fjdb2~]# /oracle/oraInventory/orainstRoot.sh
[root@fjdb1~]# /oracle/crs/root.sh
[root@fjdb2~]# /oracle/crs/root.sh
Expectingthe CRS daemons to be up within 600 seconds.
CSS isactive on these nodes.
fjdb1
fjdb2
CSS isactive on all nodes.
Waitingfor the Oracle CRSD and EVMD to start
OracleCRS stack installed and running under init(1M)
Runningvipca(silent) for configuring nodeapps
Creating VIP application resource on (2) nodes...
Creating GSD application resource on (2) nodes...
Creating ONS application resource on (2) nodes...
Starting VIP application resource on (2) nodes...
Starting GSD application resource on (2) nodes...
Starting ONS application resource on (2) nodes...
Done.
12、安装Oracle数据库软件(预计30分钟)
# 选择“Install Software Only”
13、升级CRS软件版本(预计30分钟)
# 使用升级包升级CRS版本到10.2.0.4
# 提示执行root102.sh脚本时,先停crs再执行root102.sh脚本
14、升级DB软件版本(预计30分钟)
# 使用升级包升级DB版本到10.2.0.4
15、恢复监听和TNS文件(预计5分钟)
$ cp/oracle/db.bak/network/admin/listener.ora /oracle/db/network/admin/listener.ora
$ cp /oracle/db.bak/network/admin/tnsnames.ora/oracle/db/network/admin/tnsnames.ora
16、注册数据库和实例(预计5分钟)
[oracle@fjdb1orcl]$ srvctl add database -d orcl -o /oracl
4000
e/db
[oracle@fjdb1orcl]$ srvctl add instance -d orcl -i orcl1 -n fjdb1
[oracle@fjdb1orcl]$ srvctl add instance -d orcl -i orcl2 -n fjdb2
[oracle@fjdb1orcl]$ /oracle/crs/bin/crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora....SM1.asmapplication ONLINE ONLINE fjdb1
ora....B1.lsnrapplication ONLINE ONLINE fjdb1
ora.fjdb1.gsd application ONLINE ONLINE fjdb1
ora.fjdb1.ons application ONLINE ONLINE fjdb1
ora.fjdb1.vip application ONLINE ONLINE fjdb1
ora....SM2.asmapplication ONLINE ONLINE fjdb2
ora....B2.lsnrapplication ONLINE ONLINE fjdb2
ora.fjdb2.gsd application ONLINE ONLINE fjdb2
ora.fjdb2.ons application ONLINE ONLINE fjdb2
ora.fjdb2.vip application ONLINE ONLINE fjdb2
ora.orcl.db application OFFLINE OFFLINE
ora....l1.inst application OFFLINE OFFLINE
ora....l2.inst application OFFLINE OFFLINE
17、修改实例到ASM的注册关系(预计5分钟)
[oracle@fjdb1orcl]$ srvctl modify instance -d orcl -i orcl1 -s +ASM1
[oracle@fjdb1orcl]$ srvctl modify instance -d orcl -i orcl2 -s +ASM2
18、创建两节点实例对应的pfile指针指向本次故障之前的spfile的路径,即ASM实例下的spfile(预计5分钟)
[oracle@fjdb1~]$ vi /oracle/db/dbs/initorcl1.ora
SPFILE='+DATA/ORCL/PARAMETERFILE/spfileorcl.ora'
[oracle@fjdb2~]$ vi /oracle/db/dbs/initorcl2.ora
SPFILE='+DATA/ORCL/PARAMETERFILE/spfileorcl.ora'
如无spfile,可先用pfile启动。
19、启动数据库服务(预计5分钟)
[oracle@fjdb1dbs]$ srvctl start database -d orcl
[oracle@fjdb1dbs]$ /oracle/crs/bin/crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora....SM1.asmapplication ONLINE ONLINE fjdb1
ora....B1.lsnrapplication ONLINE ONLINE fjdb1
ora.fjdb1.gsd application ONLINE ONLINE fjdb1
ora.fjdb1.ons application ONLINE ONLINE fjdb1
ora.fjdb1.vip application ONLINE ONLINE fjdb1
ora....SM2.asmapplication ONLINE ONLINE fjdb2
ora....B2.lsnrapplication ONLINE ONLINE fjdb2
ora.fjdb2.gsd application ONLINE ONLINE fjdb2
ora.fjdb2.ons application ONLINE ONLINE fjdb2
ora.fjdb2.vip application ONLINE ONLINE fjdb2
ora.orcl.db application ONLINE ONLINE fjdb1
ora....l1.instapplication ONLINE ONLINE fjdb1
ora....l2.instapplication ONLINE ONLINE fjdb2
20、补充参数配置(预留5分钟)
确认 /etc/sysctl.conf 里信号量kernel.sem = 250 32000 100 128,然后修改processes值
SQL>alter system set processes=2000 scope=spfile;
SQL>shutdown immediate;
SQL>startup
以上顺利完成后,检查应用,确认都正常后,则此次作业结束。否则进入回退步骤章节。
当在预计时间内未完成上述作业时,启用回退方案B,将数据库回退到作业前的状态,确保业务正常运行。
1、停止Oracle数据库,如数据库已经停止,略过此步骤(预计5分钟)
[oracle@fjdb1~]$ srvctl stop database -d orcl
2、停用两节点CRS服务和资源,如CRS服务未启动,略过此步骤(预计5分钟)
[root@fjdb1~]# /oracle/crs/bin/crsctl stop crs
3、恢复原有网络配置(IP地址、/etc/hosts解析文件)到作业前状态(预计5分钟)
# 恢复IP地址配置,暂不启用虚拟网卡
# 恢复/etc/hosts解析文件
4、重命名此次操作新生成的文件,注意后缀为newbak(预计5分钟)
mv/etc/rc.d/rc5.d/S96init.crs /etc/rc.d/rc5.d/S96init.crs.newbak
mv/etc/rc.d/init.d/init.crs /etc/rc.d/init.d/init.crs.newbak
mv/etc/rc.d/rc4.d/K96init.crs /etc/rc.d/rc4.d/K96init.crs.newbak
mv/etc/rc.d/rc6.d/K96init.crs /etc/rc.d/rc6.d/K96init.crs.newbak
mv/etc/rc.d/rc1.d/K96init.crs /etc/rc.d/rc1.d/K96init.crs.newbak
mv/etc/rc.d/rc0.d/K96init.crs /etc/rc.d/rc0.d/K96init.crs.newbak
mv/etc/rc.d/rc2.d/K96init.crs /etc/rc.d/rc2.d/K96init.crs.newbak
mv/etc/rc.d/rc3.d/S96init.crs /etc/rc.d/rc3.d/S96init.crs.newbak
mv/etc/oracle /etc/oracle.newbak
mv /etc/oraInst.loc/etc/oraInst.loc.newbak
mv/etc/oratab /etc/oratab.newbak
mv/etc/init.d/init.cssd /etc/init.d/init.cssd.newbak
mv/etc/init.d/init.crs /etc/init.d/init.crs.newbak
mv/etc/init.d/init.crsd /etc/init.d/init.crsd.newbak
mv/etc/init.d/init.evmd /etc/init.d/init.evmd.newbak
mv/etc/rc2.d/K96init.crs /etc/rc2.d/K96init.crs.newbak
mv/etc/rc2.d/S96init.crs /etc/rc2.d/S96init.crs.newbak
mv/etc/rc3.d/K96init.crs /etc/rc3.d/K96init.crs.newbak
mv/etc/rc3.d/S96init.crs /etc/rc3.d/S96init.crs.newbak
mv/etc/rc5.d/K96init.crs /etc/rc5.d/K96init.crs.newbak
mv/etc/rc5.d/S96init.crs /etc/rc5.d/S96init.crs.newbak
mv/etc/inittab.crs /etc/inittab.crs.newbak
mv/usr/local/bin/coraenv /usr/local/bin/coraenv.newbak
mv/usr/local/bin/dbhome /usr/local/bin/dbhome.newbak
mv/usr/local/bin/oraenv /usr/local/bin/oraenv.newbak
mv/tmp/.oracle /tmp/.oracle.newbak
mv/etc/inittab /etc/inittab.newbak
5、恢复作业前备份的文件,注意后缀为bak(预计5分钟)
mv/etc/rc.d/rc5.d/S96init.crs.bak /etc/rc.d/rc5.d/S96init.crs
mv/etc/rc.d/init.d/init.crs.bak /etc/rc.d/init.d/init.crs
mv/etc/rc.d/rc4.d/K96init.crs.bak /etc/rc.d/rc4.d/K96init.crs
mv/etc/rc.d/rc6.d/K96init.crs.bak /etc/rc.d/rc6.d/K96init.crs
mv/etc/rc.d/rc1.d/K96init.crs.bak /etc/rc.d/rc1.d/K96init.crs
mv/etc/rc.d/rc0.d/K96init.crs.bak /etc/rc.d/rc0.d/K96init.crs
mv/etc/rc.d/rc2.d/K96init.crs.bak /etc/rc.d/rc2.d/K96init.crs
mv/etc/rc.d/rc3.d/S96init.crs.bak /etc/rc.d/rc3.d/S96init.crs
mv/etc/oracle.bak /etc/oracle
mv/etc/oraInst.loc.bak /etc/oraInst.loc
mv/etc/oratab.bak /etc/oratab
mv/usr/local/bin/coraenv.bak /usr/local/bin/coraenv
mv/usr/local/bin/dbhome.bak /usr/local/bin/dbhome
mv/usr/local/bin/oraenv.bak /usr/local/bin/oraenv
mv/etc/init.d/init.cssd.bak /etc/init.d/init.cssd
mv/etc/init.d/init.crs.bak /etc/init.d/init.crs
mv/etc/init.d/init.crsd.bak /etc/init.d/init.crsd
mv/etc/rc2.d/K96init.crs.bak /etc/rc2.d/K96init.crs
mv/etc/rc2.d/S96init.crs.bak /etc/rc2.d/S96init.crs
mv/etc/rc3.d/K96init.crs.bak /etc/rc3.d/K96init.crs
mv/etc/rc3.d/S96init.crs.bak /etc/rc3.d/S96init.crs
mv/etc/rc5.d/K96init.crs.bak /etc/rc5.d/K96init.crs
mv/etc/rc5.d/S96init.crs.bak /etc/rc5.d/S96init.crs
mv/etc/inittab.crs.bak /etc/inittab.crs
mv/tmp/.oracle.bak /tmp/.oracle
# 以上直接运行
cp/etc/inittab /etc/inittab.orig
mv/etc/inittab.bak /etc/inittab
# 着重核对/etc/inittab内容,确认与作业前的文件内容一致
6、在两节点备份并恢复crs和db目录(预计2分钟)
[root@fjdb1oracle]# mv crs crs.newbak
[root@fjdb1oracle]# mv db db.newbak
[root@fjdb1oracle]# mv crs.bak crs
[root@fjdb1oracle]# mv db.bak db
7、启动ASM及Oracle实例(预计5~10分钟)
[oracle@fjdb1~]$ export ORACLE_SID=ASM1
[oracle@fjdb1~]$ sqlplus / as sysdba
SQL> startup;
SQL>exit
[oracle@fjdb1~]$ export ORACLE_SID=+orcl1
[oracle@fjdb1~]$ sqlplus / as sysdba
SQL> startuppfile='/oracle/db/dbs/initORCL.ora';
SQL>exit
8、补充参数配置(预计10分钟)
1、修改pfile的processes参数值到2000,并重启数据库
2、配置虚拟网卡,使eth0:0对应地址192.168.40.11,eth0:1对应地址192.168.40.13
9、确认正常后,删除newbak文件(预计3分钟)
rm/etc/rc.d/rc5.d/S96init.crs.newbak
rm/etc/rc.d/init.d/init.crs.newbak
rm/etc/rc.d/rc4.d/K96init.crs.newbak
rm/etc/rc.d/rc6.d/K96init.crs.newbak
rm/etc/rc.d/rc1.d/K96init.crs.newbak
rm/etc/rc.d/rc0.d/K96init.crs.newbak
rm/etc/rc.d/rc2.d/K96init.crs.newbak
rm/etc/rc.d/rc3.d/S96init.crs.newbak
rm/etc/oracle.newbak
rm/etc/oraInst.loc.newbak
rm/etc/oratab.newbak
rm/etc/init.d/init.cssd.newbak
rm/etc/init.d/init.crs.newbak
rm/etc/init.d/init.crsd.newbak
rm/etc/rc2.d/K96init.crs.newbak
rm/etc/rc2.d/S96init.crs.newbak
rm/etc/rc3.d/K96init.crs.newbak
rm/etc/rc3.d/S96init.crs.newbak
rm/etc/rc5.d/K96init.crs.newbak
rm/etc/rc5.d/S96init.crs.newbak
rm/etc/inittab.crs.newbak
rm/usr/local/bin/coraenv.newbak
rm/usr/local/bin/dbhome.newbak
rm/tmp/.oracle.newbak
rm/usr/local/bin/oraenv.newbak
rm/etc/inittab.newbak
相关文章推荐
- MCMC(马尔科夫蒙特卡洛)——qjzcy的博客
- Cassandra 3.7.0集群在ubuntu上的安装
- 162. Find Peak Element
- android 调试工具ADB命令详解
- 使用SVG开发音乐播放器(一)
- android 调试工具ADB命令详解
- SQL中如何取消数字前面的0 字母
- NC列表界面能监听列表界面鼠标所选数据变化
- AD账户锁定排错(已解决) 推荐
- solr之模糊搜索(Fuzzy matching)
- swiper的基础使用(七)
- The certificate used to sign "XXX" has either expired or has been revoked
- Spring AOP 实现功能权限校验功能
- 基础总结篇之二:Activity的四种launchMode
- Unity 使用自己创建的certificate通过www进行https请求
- AFNetworking原理及常用操作
- 网站博客等资源收录(资源)
- windows 安装MongoDB(64位)
- linux网络配置-参考文档
- iOS开发之第三方分享微博分享、微博分享失败原因总结,史上最新最全第三方分享微博方式实现。 微博分享各种坑总结