生产上有套RAC,主机已运行超5年,最近一段时间常常出现物理主机无端宕机的状态,宕机没有规律,并且是两个节点交替宕机,看监控宕机前主机负载也不高,硬件厂商看过也没找出具体缘由。因而想把主机换掉,但因为数据量较大将近50T,搭建DataGuard耗时长,还须要double的存储空间,不合适。就想到只把集群相关的LUN映射到新集群中,在新集群中MOUNT磁盘组作迁移。下面是测试环境的基本步骤。sql
用户、权限、目录、软件版本、PSU版本与旧集群一致
安装集群及打PSU步骤省略,新集群只划分OCR和ACFS的磁盘用于安装集群软件及配置ACFS共享目录。数据库
/usr/sbin/groupadd -g 508 oinstall /usr/sbin/groupadd -g 502 dba /usr/sbin/groupadd -g 503 oper /usr/sbin/groupadd -g 504 asmadmin /usr/sbin/groupadd -g 506 asmdba /usr/sbin/groupadd -g 507 asmoper /usr/sbin/useradd -u 508 -g oinstall -G asmadmin,asmdba,asmoper -d /home/grid grid /usr/sbin/useradd -u 509 -g oinstall -G dba,oper,asmdba,asmadmin -d /home/oracle oracle
在存储上把旧集群的磁盘映射到新集群上,只映射数据般和备份盘。
配置多路径,把旧集群多路径配置multipath.conf和udev中的配置文件复制到新集群中,注意不要把新集群的配置覆盖掉oracle
cd /odc ./ggsci stop * stop mgr !
srvctl stop database -d racdb
crsctl stop crs
crsctl disable crs
# ACFS为已有配置,是新集群ACFS共享磁盘使用,DATA为旧集群中的数据磁盘组。 sqlplus / as sysdba alter system set asm_diskgroups='ACFS DATA' scope=both sid='+ASM1'; alter system set asm_diskgroups='ACFS DATA' scope=both sid='+ASM2'; #在新集群mount磁盘组 (两个节点) sqlplus / as sysasm SQL> alter diskgroup data mount;
scp /oracle/db11g/dbs/* oracle@11.111.26.xx:/oracle/db11g/dbs/ scp /oracle/db11g/network/admin/tnsnames.ora oracle@11.111.26.xx:/oracle/db11g/network/admin/
mkdir -p /oracle/admin/racdb/adump
srvctl add database -d racdb -o $ORACLE_HOME srvctl add instance -d racdb -i racdb1 -n racdb1 srvctl add instance -d racdb -i racdb2 -n racdb2
#若是scan名称与旧集群中不一致,则须要修改spfile中的remote_listener参数 create pfile='/home/oracle/pfile_racdb.ora' from spfile=''; vi /home/oracle/pfile_racdb.ora #修改成新的scan:1521 create spfile='' from pfile='/home/oracle/pfile_racdb.ora'; srvctl start database -d racdb
cd /odc ./ggsci start mgr start *
# 中止集群 crsctl stop crs # 修改bond0网卡地址,并重启网卡 # 修改新集群 /etc/hosts # 启动新集群 crsctl start crs # 修改scanip srvctl config scan srvctl stop scan_listener srvctl stop scan srvctl status scan srvctl modify scan -n 11.111.26.x srvctl config scan srvctl start scan srvctl start scan_listener
umount /dbbak umount /dbbak2 vgchange -a n vg_dbbak vgchange -a n vg_dbbak2 vgexport vg_dbbak
vgimport vg_dbbak vgimport vg_dbbak2 mount /dev/vg_dbbak/lv_dbbak /dbbak mount /dev/vg_dbbak/lv_dbbak2 /dbbak
scp -r /home/oracle/* oracle@11.111.26.xx:/home/oracle
# 中止ogg cd /odc ./ggsci stop * stop mgr ! # 中止数据库 srvctl stop database -d racdb # 中止集群(两个节点) crsctl stop crs # 中止集群自启动(两个节点) crsctl disable crs
vi /etc/sysconfig/network-scripts/ifcfg-bond0 vi /etc/hosts
# 开启集群自启动(两个节点) crsctl enable crs # 启动集群(两个节点) crsctl start crs # 启动数据库 srvctl start database -d racdb # 启动ogg cd /odc ./ggsci start mgr start *
umount /dbbak umount /dbbak2 vgchange -a n vg_dbbak vgchange -a n vg_dbbak2 vgexport vg_dbbak
vgimport vg_dbbak vgimport vg_dbbak2 mount /dev/vg_dbbak/lv_dbbak /dbbak mount /dev/vg_dbbak/lv_dbbak2 /dbbak
验证auto_ftp_mid是否启动ide