1应用场景:环境:主机名 IP VIP SID DiskGroup db11.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.ora1.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.ora1.1.1.2:$ORACLE_HOME/dbs/ #ssh1.1.1.2mkdir -p $ORACLE_BASE/admin/$SID/adump #ssh1.1.1.2mkdir -p $ORACLE_BASE/admin/$SID/dpdump #ssh1.1.1.2mkdir -p $ORACLE_BASE/admin/$SID/hdump #ssh 1.1.1.2mkdir -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.11 netmask 255.255.255.0 up AIX:增加第二地址:ifconfig en91.1.1.1 netmask 255.255.255.0 alias ifconfig en91.1.1.1 netmask 255.255.255.0 delete#删除地址
#add to/etc/开机自启动; 4.在DB2添加磁盘组到asm的参数文件;(可选) alter system set asm_diskgroups='data1' scope=spfile; 5.在DB2加入到当前GRID组中; 使用oracle用户: #srvctl add db -dalex -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 data1dismount 4)在DB2剔除磁盘组 #srvctl remove diskgroup -g data1 5)在DB1重新mount,启动数据库 #alter diskgroup data1 mount #sqlplus / as sysdba >startup