1 應用情境:
環境:
主機名稱 IP VIP SID DiskGroup
db1 1.1.1.1 1.1.1.11 bkjia DATA1
db2 1.1.1.2 1.1.1.12 bkjiadb DATA2
預期效果:
db1,db2可互為備份,此處以db1做主庫,db2作為備庫來講解,即在假定db1掛了,需在db2上mount磁碟組DATA1,DATA2,運行執行個體bkjia、bkjiadb;均採用虛擬IP作為用戶端的訪問;
2 操作步驟:
一、備份
1.在DB2器上預先建立DB1資料庫(bkjia)的參數檔案和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.11 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 bkjia -o $ORACLE_HOME
6.在DB2啟動資料庫:
方式1
#srvctl start db -d bkjia
方式2
1)修改ORACLE_SID為故障庫的sid
2)sqlplus / as sysdba
>startup
二、恢複:
1)在DB2上停止
#stop db -d bkjia
2)在DB2剔除Grid組
#srvctl remove db -d bkjia
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
更多Oracle相關資訊見Oracle 專題頁面 http://www.bkjia.com/topicnews.aspx?tid=12