oracle之rman備份
本文中目錄資料庫和目標資料庫在不同的伺服器上,目錄資料庫sid=orcl2,目標資料庫sid=orcl
一 恢復目錄資料庫建立
1 資料庫安裝本文不作詳細敘述
2 建立表空間cattabs,大小為50MB
create tablespace cattabs datafile '/u01/app/oracle/oradata/orcl2/catdata01.dbf' size 50m autoextend on next 50m maxsize unlimited
3 建立儲存目錄的使用者
create user rman identified by rman
default tablespace cattabs
temporary tablespace temp;
alter user rman quota unlimited on cattabs;
4 為rman使用者授權,必須授予recovery_catalog_owner許可權
grant connect,resource to rman;
grant recovery_catalog_owner to rman;
5 啟動rman,在目錄與rman直接建立連線
rman
connect catalog rman/rman
6 建立恢復目錄
create catalog tablespace cattabs;
7 與目標資料庫建立連線
connect target sys@orcl
8 註冊目標資料庫
register database;
9 手動同步目標資料庫和目錄資料庫控制檔案
resync catalog;
10 帶catalog連線目標資料庫
rman target sys@orcl catalog rman/rman@orcl2
二 備份
備份指令碼
cat orabackup.sh
#!/bin/bash
TMP=/tmp;export TMP
TMPDIR=$TMP;export TMPDIR
ORACLE_BASE=/u01/app/oracle;export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1;export ORACLE_HOME
ORACLE_SID=orcl;export ORACLE_SID
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
RMAN_LOG=${ORACLE_BASE}/flash_recovery_area/ORCL2/rman.log
SCRIPTS_PATH=${ORACLE_BASE}/backups/
TARGET_USER=sys
TARGET_PASSWORD=sys
CATALOG_USER=rman
CATALOG_PASSWORD=rman
WEEK=`date +%w`
#週日0級備份,週一週二週四週五週六2級備份,週三1級備份
case $WEEK in
0)
SCRIPTS_FILE=rman_level_0
;;
1|2|4|5|6)
SCRIPTS_FILE=rman_level_2
;;
3)
SCRIPTS_FILE=rman_level_1
;;
esac
nohup rman target ${TARGET_USER}/${TARGET_PASSWORD}@orcl catalog ${CATALOG_USER}/${CATALOG_PASSWORD}@orcl2 log=${RMAN_LOG} cmdfile=${SCRIPTS_PATH}${SCRIPTS_FILE} >/dev/null 2>&1 &
全備
cat rman_full
run{
CONFIGURE RETENTION POLICY TO REDUNDANCY 7;
allocate channel ch1 type disk;
backup full tag 'full' format '/u01/app/oracle/flash_recovery_area/ORCL/backupset/full_%T%t'
database include current controlfile;
sql 'alter system archive log current';
backup archivelog all format '/u01/app/oracle/flash_recovery_area/ORCL/backupset/log/db_arch_%T_%U'
delete all input;
delete noprompt obsolete;
release channel ch1;
}
0級備份
cat rman_level_0
run {
CONFIGURE RETENTION POLICY TO REDUNDANCY 7;
allocate channel ch1 type disk;
backup incremental level 0
tag 'inc0'
format '/u01/app/oracle/flash_recovery_area/ORCL/backupset/rman_inc0_%T%t'
database include current controlfile;
sql 'alter system archive log current';
backup archivelog all
format '/u01/app/oracle/flash_recovery_area/ORCL/backupset/log/db_arch_%T_%U'
delete all input;
delete noprompt obsolete;
release channel ch1;
}
1級備份
cat rman_level_1
run {
CONFIGURE RETENTION POLICY TO REDUNDANCY 7;
allocate channel ch1 type disk;
backup incremental level 1
tag 'inc1'
format '/u01/app/oracle/flash_recovery_area/ORCL/backupset/rman_inc1_%T%t'
database include current controlfile;
sql 'alter system archive log current';
backup archivelog all
format '/u01/app/oracle/flash_recovery_area/ORCL/backupset/log/db_arch_%T_%U'
delete all input;
delete noprompt obsolete;
release channel ch1;
}
2級備份
cat rman_level_2
run {
CONFIGURE RETENTION POLICY TO REDUNDANCY 7;
allocate channel ch1 type disk;
backup incremental level 2
tag 'inc2'
format '/u01/app/oracle/flash_recovery_area/ORCL/backupset/rman_inc2_%T%t'
database include current controlfile;
sql 'alter system archive log current';
backup archivelog all
format '/u01/app/oracle/flash_recovery_area/ORCL/backupset/log/db_arch_%T_%U'
delete all input;
delete noprompt obsolete;
release channel ch1;
}
一 恢復目錄資料庫建立
1 資料庫安裝本文不作詳細敘述
2 建立表空間cattabs,大小為50MB
create tablespace cattabs datafile '/u01/app/oracle/oradata/orcl2/catdata01.dbf' size 50m autoextend on next 50m maxsize unlimited
3 建立儲存目錄的使用者
create user rman identified by rman
default tablespace cattabs
temporary tablespace temp;
alter user rman quota unlimited on cattabs;
4 為rman使用者授權,必須授予recovery_catalog_owner許可權
grant connect,resource to rman;
grant recovery_catalog_owner to rman;
5 啟動rman,在目錄與rman直接建立連線
rman
connect catalog rman/rman
6 建立恢復目錄
create catalog tablespace cattabs;
7 與目標資料庫建立連線
connect target sys@orcl
8 註冊目標資料庫
register database;
9 手動同步目標資料庫和目錄資料庫控制檔案
resync catalog;
10 帶catalog連線目標資料庫
rman target sys@orcl catalog rman/rman@orcl2
二 備份
備份指令碼
cat orabackup.sh
#!/bin/bash
TMP=/tmp;export TMP
TMPDIR=$TMP;export TMPDIR
ORACLE_BASE=/u01/app/oracle;export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1;export ORACLE_HOME
ORACLE_SID=orcl;export ORACLE_SID
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
RMAN_LOG=${ORACLE_BASE}/flash_recovery_area/ORCL2/rman.log
SCRIPTS_PATH=${ORACLE_BASE}/backups/
TARGET_USER=sys
TARGET_PASSWORD=sys
CATALOG_USER=rman
CATALOG_PASSWORD=rman
WEEK=`date +%w`
#週日0級備份,週一週二週四週五週六2級備份,週三1級備份
case $WEEK in
0)
SCRIPTS_FILE=rman_level_0
;;
1|2|4|5|6)
SCRIPTS_FILE=rman_level_2
;;
3)
SCRIPTS_FILE=rman_level_1
;;
esac
nohup rman target ${TARGET_USER}/${TARGET_PASSWORD}@orcl catalog ${CATALOG_USER}/${CATALOG_PASSWORD}@orcl2 log=${RMAN_LOG} cmdfile=${SCRIPTS_PATH}${SCRIPTS_FILE} >/dev/null 2>&1 &
全備
cat rman_full
run{
CONFIGURE RETENTION POLICY TO REDUNDANCY 7;
allocate channel ch1 type disk;
backup full tag 'full' format '/u01/app/oracle/flash_recovery_area/ORCL/backupset/full_%T%t'
database include current controlfile;
sql 'alter system archive log current';
backup archivelog all format '/u01/app/oracle/flash_recovery_area/ORCL/backupset/log/db_arch_%T_%U'
delete all input;
delete noprompt obsolete;
release channel ch1;
}
0級備份
cat rman_level_0
run {
CONFIGURE RETENTION POLICY TO REDUNDANCY 7;
allocate channel ch1 type disk;
backup incremental level 0
tag 'inc0'
format '/u01/app/oracle/flash_recovery_area/ORCL/backupset/rman_inc0_%T%t'
database include current controlfile;
sql 'alter system archive log current';
backup archivelog all
format '/u01/app/oracle/flash_recovery_area/ORCL/backupset/log/db_arch_%T_%U'
delete all input;
delete noprompt obsolete;
release channel ch1;
}
1級備份
cat rman_level_1
run {
CONFIGURE RETENTION POLICY TO REDUNDANCY 7;
allocate channel ch1 type disk;
backup incremental level 1
tag 'inc1'
format '/u01/app/oracle/flash_recovery_area/ORCL/backupset/rman_inc1_%T%t'
database include current controlfile;
sql 'alter system archive log current';
backup archivelog all
format '/u01/app/oracle/flash_recovery_area/ORCL/backupset/log/db_arch_%T_%U'
delete all input;
delete noprompt obsolete;
release channel ch1;
}
2級備份
cat rman_level_2
run {
CONFIGURE RETENTION POLICY TO REDUNDANCY 7;
allocate channel ch1 type disk;
backup incremental level 2
tag 'inc2'
format '/u01/app/oracle/flash_recovery_area/ORCL/backupset/rman_inc2_%T%t'
database include current controlfile;
sql 'alter system archive log current';
backup archivelog all
format '/u01/app/oracle/flash_recovery_area/ORCL/backupset/log/db_arch_%T_%U'
delete all input;
delete noprompt obsolete;
release channel ch1;
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/27181165/viewspace-775866/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle備份之RMAN工具(四)Oracle
- Oracle備份之RMAN工具(三)Oracle
- Oracle備份之RMAN工具(二)Oracle
- Oracle備份之RMAN工具(一)Oracle
- 揭祕ORACLE備份之----RMAN之二(備份方式)Oracle
- 揭秘ORACLE備份之----RMAN之五(CATALOG)Oracle
- 探索ORACLE之RMAN_05備份策略Oracle
- Oracle RMAN 增量備份Oracle
- oracle rman備份命令Oracle
- 【轉】Oracle rman備份Oracle
- 揭祕ORACLE備份之----RMAN之五(CATALOG)Oracle
- Oracle 備份恢復篇之RMAN catalogOracle
- Oracle 11g RMAN備份-增量備份Oracle
- 揭祕ORACLE備份之----RMAN之四(塊跟蹤)Oracle
- RMAN備份與恢復之加密備份加密
- Oracle RMAN備份實戰Oracle
- Oracle OCP(60):RMAN 備份Oracle
- oracle RMAN備份指令碼Oracle指令碼
- ORACLE rman備份之ORA-00230Oracle
- Oracle資料庫備份與恢復之RMANOracle資料庫
- Oracle資料庫RMAN小結之備份部分Oracle資料庫
- Oracle 11g RMAN備份-備份標籤Oracle
- RMAN筆記之備份集和備份片筆記
- [Oracle] rman備份指令碼(2)Oracle指令碼
- ORACLE RMAN備份及還原Oracle
- oracle rman備份指令碼收集Oracle指令碼
- Oracle裡邏輯備份、物理備份、Rman備份的區別Oracle
- Oracle備份及備份策略及基於Linux下 Oracle 備份策略(RMAN)OracleLinux
- RMAN備份之備份多個備份集到帶庫(三)
- RMAN備份之備份多個備份集到帶庫(二)
- RMAN備份之備份多個備份集到帶庫(一)
- RMAN加密備份之口令加密加密
- Oracle 11g RMAN備份-一致備份Oracle
- 揭祕ORACLE備份之----RMAN之一(引數配置)Oracle
- RMAN備份、恢復實驗室 之 備份篇 【rman: can't open target】
- oracle rman備份驗證和備份進度監控Oracle
- Oracle RMAN中全備份與0級備份區別Oracle
- 【原】Oracle學習系列—資料庫備份—RMAN備份Oracle資料庫