RAC模式下的備份策略以及RMAN備份指令碼

BTxigua發表於2007-08-30

增量備份的級別是一個0到4之間的整數。
增量備份有兩種型別:差異型和累積型。
差異備份拷貝最近進行的同級或低階增量備份以來所有改變的資料塊。當備份命令中使用了incremental關鍵字時,則預設使用差異備份作為增量備份的方式。
累積備份拷貝最近低階別增量備份以來的所有改變的資料塊。

備份策略:
週日進行一次零級備份,週一、週二、週三進行二級備份;週四進行一級備份;週五、週六進行二級備份。
在執行備份的時候,我們考慮將資料檔案的全備和歸檔日誌備份分開執行,避免造成一些不必要的麻煩。在進行全備的時候,由於RAC的兩個節點是共享的所有資料檔案,控制檔案,所以我們只連線其中的一個節點db1來進行備份。在進行歸檔日誌的備份的時候,由於歸檔日誌並非共享,而是在每個節點本地儲存的,所以我們需要分別連線到兩個節點進行歸檔日誌的備份。

下面是詳細的備份指令碼:


零級備份指令碼:
#!/bin/sh

# define env
export ORACLE_BASE=
export ORACLE_HOME=
export ORACLE_SID=
export PATH=

# 先登陸本地rman,再分配遠端連線通道到rac節點db1,進行資料的零級備份
rman nocatalog target username/passwd ALLOCATE CHANNEL d1 DEVICE TYPE DISK CONNECT 'username/passwd@db1' ;
ALLOCATE CHANNEL d2 DEVICE TYPE DISK CONNECT 'username/passwd@db1' ;
backup incremental level 0 database tag 'fullbak_level0' format '/backup/back/full_level0_%U';
backup current controlfile format '/backup/back/control_bak_%T';
release CHANNEL d1 ;
release CHANNEL d2 ;
}
exit;
!EOF

# 先登陸本地rman,再分配遠端連線通道,備份歸檔日誌
rman nocatalog target username/passwd ALLOCATE CHANNEL d3 DEVICE TYPE DISK CONNECT 'username/passwd@db1' format '/backup/back/ARC_rac1_%U';
ALLOCATE CHANNEL d4 DEVICE TYPE DISK CONNECT 'username/passwd@db2' format '/backup/back/ARC_rac2_%U';
sql 'alter system archive log current';
backup filesperset 3 archivelog all delete all input;
release channel d3;
release channel d4;
}
exit;
!

一級備份指令碼:
#!/bin/sh

# define env
export ORACLE_BASE=
export ORACLE_HOME=
export ORACLE_SID=
export PATH=

# 先登陸本地rman,再分配遠端連線通道到rac節點db1,進行資料的一級備份
rman nocatalog target username/passwd ALLOCATE CHANNEL d1 DEVICE TYPE DISK CONNECT 'username/passwd@db1' ;
ALLOCATE CHANNEL d2 DEVICE TYPE DISK CONNECT 'username/passwd@db1' ;
backup incremental level 1 database tag 'bak_level1' format '/backup/back/bak_level1_%U';
backup current controlfile format '/backup/back/control_bak_%T';
release CHANNEL d1 ;
release CHANNEL d2 ;
}
exit;
!EOF

# 先登陸本地rman,再分配遠端連線通道,備份歸檔日誌
rman nocatalog target username/passwd ALLOCATE CHANNEL d3 DEVICE TYPE DISK CONNECT 'username/passwd@db1' format '/backup/back/ARC_rac1_%U';
ALLOCATE CHANNEL d4 DEVICE TYPE DISK CONNECT 'username/passwd@db2' format '/backup/back/ARC_rac2_%U';
sql 'alter system archive log current';
backup filesperset 3 archivelog all delete all input;
release channel d3;
release channel d4;
}
exit;
!

二級備份指令碼:

#!/bin/sh

# define env
export ORACLE_BASE=
export ORACLE_HOME=
export ORACLE_SID=
export PATH=

# 先登陸本地rman,再分配遠端連線通道到rac節點db1,進行資料的二級備份
rman nocatalog target username/passwd ALLOCATE CHANNEL d1 DEVICE TYPE DISK CONNECT 'username/passwd@db1' ;
ALLOCATE CHANNEL d2 DEVICE TYPE DISK CONNECT 'username/passwd@db1' ;
backup incremental level 2 database tag 'bak_level2' format '/backup/back/bak_level1_%U';
backup current controlfile format '/backup/back/control_bak_%T';
release CHANNEL d1 ;
release CHANNEL d2 ;
}
exit;
!EOF

# 先登陸本地rman,再分配遠端連線通道,備份歸檔日誌
rman nocatalog target username/passwd ALLOCATE CHANNEL d3 DEVICE TYPE DISK CONNECT 'username/passwd@db1' format '/backup/back/ARC_rac1_%U';
ALLOCATE CHANNEL d4 DEVICE TYPE DISK CONNECT 'username/passwd@db2' format '/backup/back/ARC_rac2_%U';
sql 'alter system archive log current';
backup filesperset 3 archivelog all delete all input;
release channel d3;
release channel d4;
}
exit;
!

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10867315/viewspace-194839/,如需轉載,請註明出處,否則將追究法律責任。

相關文章