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備份指令碼Oracle指令碼
- oracle自動冷備份指令碼Oracle指令碼
- 分享Oracle Rman的備份指令碼Oracle指令碼
- ORACLE常用定時備份指令碼Oracle指令碼
- ORACLE備份策略(轉)Oracle
- Oracle邏輯備份與恢復選項說明Oracle
- ORACLE備份策略二(轉)Oracle
- oracle自帶指令碼說明(rdbms,ctx,sqlplus,javavm)Oracle指令碼SQLJava
- oracle資料庫使用rman備份指令碼Oracle資料庫指令碼
- 【MySQL】Xtrabackup備份及恢復指令碼MySql指令碼
- 備份指令碼指令碼
- rman 備份指令碼指令碼
- mysql備份指令碼MySql指令碼
- MySQL 5.7 mysqlpump 備份工具說明MySql
- 自動備份指令碼指令碼
- windows mysqldump備份指令碼WindowsMySql指令碼
- 【DATAPUMP】Oracle資料泵定時備份刪除指令碼Oracle指令碼
- oracle10g RMAN增量備份策略Oracle
- 【ORACLE】Oracle常用SQL及重點功能說明OracleSQL
- LightDB常用備份恢復命令說明
- expdp 邏輯備份指令碼指令碼
- 資料庫備份指令碼資料庫指令碼
- 兩套mysql備份指令碼MySql指令碼
- Oracle ADG環境下的RMAN備份策略Oracle
- NBU指令碼:檢視啟用或未啟用加速的備份策略指令碼
- ORACLE NBU調取oracle rman指令碼備份歸檔不自動刪除歸檔Oracle指令碼
- MOGDB/openGauss資料庫gs_dump備份指令碼及清理資料庫指令碼
- MySQL中binlog備份指令碼分享MySql指令碼
- 使用shell 指令碼備份資料指令碼
- 備份保留策略
- Oracle Latch 說明Oracle
- 雙機熱備與資料備份的關係說明一二
- Mysql定時備份資料指令碼MySql指令碼
- 檢查備份情況的指令碼指令碼
- MySQL:Windows下分庫備份指令碼MySqlWindows指令碼
- windows 全量+增量備份指令碼batWindows指令碼BAT
- oracle orapwd使用說明Oracle
- 【ROWID】Oracle rowid說明Oracle