1 应用场景:
  
   环境:
       主机名    IP          VIP            SID   DiskGroup
           db1    1.1.1.1    1.1.1.11       alex         DATA1
           db2    1.1.1.2     1.1.1.12      alexdb      DATA2
 
  预期效果:
db1,db2可互为备份,此处以db1做主库,db2作为备库来讲解,即在假定db1挂了,需在db2上mount磁盘组DATA1,DATA2,运行实例alex、alexdb;均采用虚拟IP作为客户端的访问;
 
2  操作步骤:
   一、备份
 
1.在DB2器上 预先创建DB1数据库(alex)的参数文件和pwd文件,同时在 $ORACLE_BASE/admin/$SID目录下创建adump、dpdump、pfile目录
在DB1(1.1..1.1)使用oracle用户操作:
#scp $ORACLE_HOME/dbs/init$SID.ora     1.1.1.2:$ORACLE_HOME/dbs/
# scp $ORACLE_HOME/dbs/orapw$SID.     1.1.1.2:$ORACLE_HOME/dbs/
#scp $ORACLE_HOME/dbs/spfile$SID.ora     1.1.1.2:$ORACLE_HOME/dbs/
#ssh 1.1.1.2    mkdir -p $ORACLE_BASE/admin/$SID/adump
#ssh 1.1.1.2 mkdir -p $ORACLE_BASE/admin/$SID/dpdump
#ssh 1.1.1.2mkdir -p $ORACLE_BASE/admin/$SID/hdump
#ssh 1.1.1.2    mkdir -p $ORACLE_BASE/admin/$SID/pfile
 
2.在DB2上mount磁盘组;
 #sqlplus / as sysasm
 sql>alter diskgroup data1 mount;
 
 
3.在DB2增加网络监听;
 linux :增加第二地址:ifconfig eth0:1 1.1.11/24 up          
 HP:增加第二地址: ifconfig lan0 :1 inet 1 .1.1. 1 1 netmask 255.255.255.0 up
 AIX:    增加第二地址:ifconfig en9 1.1.1.1 netmask 255.255.255.0 alias 
          ifconfig en9 1.1.1.1 netmask 255.255.255.0 delete #删除地址 
          #add to /etc/rc.net 开机自启动;
4.在 DB2添加磁盘组到asm的参数文件;(可选)
alter system set asm_diskgroups='data1' scope=spfile;
5.在 DB2加入到当前GRID组中;
 使用oracle用户:
#srvctl add db -d alex -o $ORACLE_HOME
 
6.在DB2启动数据库:
        方式1
        #srvctl start db -d alex
 方式 2
 1)修改ORACLE_SID为故障库的sid
 2)sqlplus / as sysdba
    >startup
 
二、恢复:
    1)在DB2上停止
       #stop db -d alex
    2)在DB2剔除Grid组
        #srvctl remove db -d alex
   3)在DB2上umount数据磁盘组
     #sqlplus as sysasm
    >alter diskgroup data1 dismount   
   4)在DB2剔除磁盘组
     #srvctl remove diskgroup -g data1
  
   5)在DB1重新mount,启动数据库
     #alter diskgroup data1 mount
     #sqlplus / as sysdba
     >startup