生產上有套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