1、做数据库全备,并且确认数据库全备的session report正常。
2、停数据库
2.1、停listener
2.1.1、lsnrctl stop LISTENER_2 停rac02上的侦听
2.1.2、lsnrctl status LISTENER_2 确认rac02上的侦听是否正常停止
2.1.3、约过半小时ps -ef |grep LOCAL=NO 检查是否还有进程连在数据库上没有释放。
如果没有释放,执行kill -9 `ps -ef|grep LOCAL=NO |awk '{print $2}'`
2.1.4、检查rac02上的session是否还有僵死进程。
2.2、停instance
2.2.1、alter system switch logfile;执行三次,将buffer中的数据写入数据文件
2.2.2、alter system checkpoint;执行三次。
2.2.3、shutdown immediate;正常关闭数据库。
(若数据库在1小时内还无法正常关闭,执行shutdown abort;再startup;
startup后尝试再次正常关闭数据库shutdown immediate;
如在1小时内还是不能正常关闭,算本次重启失败,执行shutdown abort;再startup;将数据库启动,不再进行下面的操作)
2.1.4、检查数据库进程是否还存在ps -ef |grep -i ora
3、停VCS
hastatus -sum
hastop local
3.1 登陆vcs图形界面,将rac02相关service group offline;
3.2 通过图形界面及命令行(hastatus -sum)检查rac02相关service group及resources状态;
4、停主机并重启主机
bdf
ioscan -fnCdisk
vxdisk list
vxdg list
shutdown -ry 0 #重启系统
5、启动VSC
hastart
bdf
ioscan -fnCdisk
hastatus -sum
vxdisk list
vxdg list
5.1 登陆vcs图形界面,将rac02相关service group offline;
5.2 通过图形界面及命令行(hastatus -sum)检查rac02相关service group及resources状态;
6、启动数据库
6.1、启动instance
6.1.1、startup 同时在另一窗口观察alterlog
6.2、启动listener
6.2.1、lsnrctl start LISTENER_2
6.2.2、lsnrctl status LISTENER_2 检查侦听是否正常启动
6.2.3、ps -ef |grep LOCAL=NO检查是否有进程连接过来
6.2.4、select machine,count(*) from v$session group by machine;检查数据库中的session情况。
7、检查io链路情况以及对策
bdf
ioscan -fnCdisk
hastatus -sum
vxdisk list
vxdg list
7.1 使用ioscan检查相关disk状态
7.2 使用xpinfo检查相关disk状态
7.3 使用diskinfo检查相关disk状态
7.4 通过以上检查,若发现原有的故障现象不再出现,视为故障现象暂时消失,真正效果有待进一步观察。[@more@]