TSM for Oracle備份指令碼及策略說明
TSM在實現對Oracle資料庫的備份時,實際上是呼叫RMAN工具來完成的,為了使後期備份檢查更加方便,在此介紹下我經常使用的一些方式:
1.編寫bak_full.sh指令碼檔案,主要為針對Oracle資料庫的0級備份
2.編寫schedule_full.sh指令碼檔案,該檔案直接在TSM中呼叫執行(每週六)
3.編寫bak_incr.sh指令碼檔案,主要為針對Oracle資料庫的1級備份
4.編寫schedule_incr.sh指令碼檔案,該指令碼直接在TSM中呼叫執行(每週一至週五)
5.所有的備份指令碼放置於/home/oracle/tsm_script目錄下 (以AIX環境為例)
6.另外生成的日誌放置於/home/oracle/tsm_script/baklog目錄下(產生的日誌檔案打上時間戳)
7.定期檢測和刪除磁帶中的RMAN過期備份版本,以實現空間回收(每月一次)
指令碼檔案資訊:
bak_full.sh內容:
=========================================================================
connect catalog rman/rman@rmanlog
connect target /
run {
allocate channel t1 type sbt;
allocate channel t2 type sbt;
send 'ENV=(TDPO_OPTFILE=/usr/tivoli/tsm/client/oracle/bin64/tdpo.opt)';
backup incremental level 0
format 'orcl_full_%T_%t_%U'database;
sql 'alter system archive log current';
backup format 'orcl_arhc_%T_%t_%U' archivelog all delete all input;
release channel t1;
release channel t2;
}
=========================================================================
schedule_full.sh內容:
=========================================================================
CMDFILE=/home/oracle/tsm_script/bak_full.sh
LOGFILE=/home/oracle/tsm_script/baklog/full_baklog_`date +%y%m%d`.log
rman cmdfile $CMDFILE msglog $LOGFILE
=========================================================================
bak_incr.sh內容:
=========================================================================
connect catalog rman/rman@rmanlog
connect target /
run {
allocate channel t1 type sbt;
allocate channel t2 type sbt;
send 'ENV=(TDPO_OPTFILE=/usr/tivoli/tsm/client/oracle/bin64/tdpo.opt)';
backup incremental level 1
format 'orcl_incr_%T_%t_%U'database;
sql 'alter system archive log current';
backup format 'orcl_arhc_%T_%t_%U' archivelog all delete all input;
release channel t1;
release channel t2;
}
==========================================================================
schedule_incr.sh內容:
==========================================================================
CMDFILE=/home/oracle/tsm_script/bak_incr.sh
LOGFILE=/home/oracle/tsm_script/baklog/incr_baklog_`date +%y%m%d`.log
rman cmdfile $CMDFILE msglog $LOGFILE
==========================================================================
說明:生成的日誌檔案自動打上(年份+月份+日期),在實現方面:
AIX環境下為XXXX_baklog_`date +%y%m%d`.log
Windows環境下為XXXX_baklog_%date:~4,6%.log
另外如要定期回收磁帶空間,還需要設定RMAN的過期版本刪除指令碼
bak_maintenance.sh內容:
==========================================================================
connect catalog rman/rman@rmanlog
connect target /
allocate channel for maintenance type sbt;
send 'ENV=(TDPO_OPTFILE=/usr/tivoli/tsm/client/oracle/bin64/tdpo.opt)';
report obsolete;
delete noprompt obsolete;
release channel;
==========================================================================
1.編寫bak_full.sh指令碼檔案,主要為針對Oracle資料庫的0級備份
2.編寫schedule_full.sh指令碼檔案,該檔案直接在TSM中呼叫執行(每週六)
3.編寫bak_incr.sh指令碼檔案,主要為針對Oracle資料庫的1級備份
4.編寫schedule_incr.sh指令碼檔案,該指令碼直接在TSM中呼叫執行(每週一至週五)
5.所有的備份指令碼放置於/home/oracle/tsm_script目錄下 (以AIX環境為例)
6.另外生成的日誌放置於/home/oracle/tsm_script/baklog目錄下(產生的日誌檔案打上時間戳)
7.定期檢測和刪除磁帶中的RMAN過期備份版本,以實現空間回收(每月一次)
指令碼檔案資訊:
bak_full.sh內容:
=========================================================================
connect catalog rman/rman@rmanlog
connect target /
run {
allocate channel t1 type sbt;
allocate channel t2 type sbt;
send 'ENV=(TDPO_OPTFILE=/usr/tivoli/tsm/client/oracle/bin64/tdpo.opt)';
backup incremental level 0
format 'orcl_full_%T_%t_%U'database;
sql 'alter system archive log current';
backup format 'orcl_arhc_%T_%t_%U' archivelog all delete all input;
release channel t1;
release channel t2;
}
=========================================================================
schedule_full.sh內容:
=========================================================================
CMDFILE=/home/oracle/tsm_script/bak_full.sh
LOGFILE=/home/oracle/tsm_script/baklog/full_baklog_`date +%y%m%d`.log
rman cmdfile $CMDFILE msglog $LOGFILE
=========================================================================
bak_incr.sh內容:
=========================================================================
connect catalog rman/rman@rmanlog
connect target /
run {
allocate channel t1 type sbt;
allocate channel t2 type sbt;
send 'ENV=(TDPO_OPTFILE=/usr/tivoli/tsm/client/oracle/bin64/tdpo.opt)';
backup incremental level 1
format 'orcl_incr_%T_%t_%U'database;
sql 'alter system archive log current';
backup format 'orcl_arhc_%T_%t_%U' archivelog all delete all input;
release channel t1;
release channel t2;
}
==========================================================================
schedule_incr.sh內容:
==========================================================================
CMDFILE=/home/oracle/tsm_script/bak_incr.sh
LOGFILE=/home/oracle/tsm_script/baklog/incr_baklog_`date +%y%m%d`.log
rman cmdfile $CMDFILE msglog $LOGFILE
==========================================================================
說明:生成的日誌檔案自動打上(年份+月份+日期),在實現方面:
AIX環境下為XXXX_baklog_`date +%y%m%d`.log
Windows環境下為XXXX_baklog_%date:~4,6%.log
另外如要定期回收磁帶空間,還需要設定RMAN的過期版本刪除指令碼
bak_maintenance.sh內容:
==========================================================================
connect catalog rman/rman@rmanlog
connect target /
allocate channel for maintenance type sbt;
send 'ENV=(TDPO_OPTFILE=/usr/tivoli/tsm/client/oracle/bin64/tdpo.opt)';
report obsolete;
delete noprompt obsolete;
release channel;
==========================================================================
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31344955/viewspace-2103777/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Mysqldump備份說明及資料庫備份指令碼分享-運維筆記MySql資料庫指令碼運維筆記
- Oracle備份及備份策略及基於Linux下 Oracle 備份策略(RMAN)OracleLinux
- TSM+RMAN 自動備份指令碼 on aix指令碼AI
- ORACLE tsm 備份錯誤Oracle
- TSM ORACLE 備份排程Oracle
- ORACLE備份指令碼Oracle指令碼
- oracle 備份指令碼Oracle指令碼
- ORACLE日常備份指令碼Oracle指令碼
- Oracle 集中備份指令碼Oracle指令碼
- oracle RMAN備份指令碼Oracle指令碼
- oracle_備份指令碼Oracle指令碼
- RAC模式下的備份策略以及RMAN備份指令碼模式指令碼
- oracle rman備份及策略設定Oracle
- RAC模式下的備份策略以及RMAN備份指令碼(轉)模式指令碼
- RAC模式下的備份策略以及RMAN備份指令碼(ZF)模式指令碼
- TSM + Oracle備份出現問題Oracle
- 基於tsm的oracle資料庫備份及恢復Oracle資料庫
- 使用TSM備份30天前生成的檔案的指令碼指令碼
- Oracle冷備份(一致備份)指令碼Oracle指令碼
- [Oracle] rman備份指令碼(2)Oracle指令碼
- oracle for linux 備份指令碼OracleLinux指令碼
- Oracle邏輯備份指令碼Oracle指令碼
- oracle rman備份指令碼收集Oracle指令碼
- Oracle物理冷備份指令碼Oracle指令碼
- ORACLE 備份故障,原因是tsm密碼過期Oracle密碼
- ORACLE備份策略Oracle
- 分享Oracle Rman的備份指令碼Oracle指令碼
- ORACLE常用定時備份指令碼Oracle指令碼
- oracle自動冷備份指令碼Oracle指令碼
- oracle rman 定時備份指令碼Oracle指令碼
- ORACLE自動備份shell指令碼Oracle指令碼
- Oracle用指令碼執行備份Oracle指令碼
- [Oracle] rman備份的指令碼(1)Oracle指令碼
- ORACLE RMAN備份的指令碼配置Oracle指令碼
- Oracle物理熱備份指令碼(ZT)Oracle指令碼
- oracle備份指令碼_user_passwordOracle指令碼
- SQLSERVER 備份BCP命令說明SQLServer
- MySQL 5.5 mysqldump備份說明MySql