RAC環境下的RMAN 備份指令碼一例
這幾天磁帶機壞了,於是只能手工寫RMAN的備份指令碼。
為了防止共享儲存發生意外,所以RMAN的備份集沒有放到 ASM共享儲存中。而且RAC節點本地都有不小的剩餘空間,但是完全備份到一臺節點中,空間又不夠,於是想到把備份集分別放置在各自節點的本地硬碟中。
根據以前提供的指令碼發現一個問題就是,在刪除過期備份集中,只能刪除一個節點的備份集,不能刪除另外一個的。
如果你的備份集放置在共享儲存中,沒有任何問題。但是備份集放置在各自本地盤中,就會出現另外一個節點備份集 無法刪除。
為了防止共享儲存發生意外,所以RMAN的備份集沒有放到 ASM共享儲存中。而且RAC節點本地都有不小的剩餘空間,但是完全備份到一臺節點中,空間又不夠,於是想到把備份集分別放置在各自節點的本地硬碟中。
根據以前提供的指令碼發現一個問題就是,在刪除過期備份集中,只能刪除一個節點的備份集,不能刪除另外一個的。
如果你的備份集放置在共享儲存中,沒有任何問題。但是備份集放置在各自本地盤中,就會出現另外一個節點備份集 無法刪除。
-
ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE disk;
-
run{
-
allocate channel d1 device type disk;
-
allocate channel d2 device type disk;
-
backup as compressed backupset DATABASE include CURRENT controlfile;
-
delete noprompt obsolete redundancy 1;
-
release channel d1;
-
release channel d2;
- }
經過多次嘗試,終於寫好了正確的指令碼,刪除各自的過期備份,就是需要分配2個維護通道。
正確的指令碼應該是:
此指令碼,必須保證 各個節點都需要有 /back/目錄
這樣一個備份指令碼,只需要在一臺節點中執行,即可完成備份和刪除操作。
檢視各節點備份集:
節點1:
nwdb1:/nwback/backup#ls -l
total 419874736
-rw-r----- 1 oracle dba 69699559424 Jan 10 01:27 full_45otm6fh_1_1_19589
-rw-r----- 1 oracle dba 68617748480 Jan 10 01:44 full_47otm7ft_1_1_19591
-rw-r----- 1 oracle dba 8249638912 Jan 10 01:46 full_49otm8gq_1_1_19593
-rw-r----- 1 oracle dba 68406444032 Jan 10 01:59 full_4aotm8ko_1_1_19594
節點2:
nwdb2:/nwback/backup#ls -l
total 262353984
-rw-r----- 1 oracle dba 64775233536 Jan 10 01:28 full_46otm6f3_1_1_19590
-rw-r----- 1 oracle dba 69548843008 Jan 10 01:48 full_48otm7h8_1_1_19592
點選(此處)摺疊或開啟
-
run{
-
ALLOCATE CHANNEL ch00 TYPE DISK connect 'sys/oracle@rac1';
-
ALLOCATE CHANNEL ch01 TYPE DISK connect 'sys/oracleV@rac2';
-
backup filesperset 20 database format '/back/backup/full_%U_%s' plus archivelog format '/back/arch_%U_%s_%h' DELETE all INPUT ;
-
release channel ch00;
-
release channel ch01;
-
}
-
ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE disk connect 'sys/oracle@racj1';
-
ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE disk connect 'sys/oracle@rac2';
-
crosscheck backup device type disk;
-
report obsolete device type disk;
- delete noprompt obsolete redundancy 1 device type disk;
這樣一個備份指令碼,只需要在一臺節點中執行,即可完成備份和刪除操作。
檢視各節點備份集:
節點1:
nwdb1:/nwback/backup#ls -l
total 419874736
-rw-r----- 1 oracle dba 69699559424 Jan 10 01:27 full_45otm6fh_1_1_19589
-rw-r----- 1 oracle dba 68617748480 Jan 10 01:44 full_47otm7ft_1_1_19591
-rw-r----- 1 oracle dba 8249638912 Jan 10 01:46 full_49otm8gq_1_1_19593
-rw-r----- 1 oracle dba 68406444032 Jan 10 01:59 full_4aotm8ko_1_1_19594
節點2:
nwdb2:/nwback/backup#ls -l
total 262353984
-rw-r----- 1 oracle dba 64775233536 Jan 10 01:28 full_46otm6f3_1_1_19590
-rw-r----- 1 oracle dba 69548843008 Jan 10 01:48 full_48otm7h8_1_1_19592
因為主機以前是磁帶庫備份的,所以list backup 會產生很多磁帶庫備份的資訊和磁碟的資訊。
如果只想檢視磁碟的備份資訊,只需要在後面加上 deice type disk;
同樣,刪除或者檢查備份資訊 都加上 deice type disk;
所以我在指令碼中 加上了
crosscheck backup device type disk;
report obsolete device type disk;
如果只想檢視磁碟的備份資訊,只需要在後面加上 deice type disk;
同樣,刪除或者檢查備份資訊 都加上 deice type disk;
所以我在指令碼中 加上了
crosscheck backup device type disk;
report obsolete device type disk;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/501889/viewspace-1069142/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- RAC模式下的備份策略以及RMAN備份指令碼模式指令碼
- aix下rac環境rman備份策略部署AI
- RAC模式下的備份策略以及RMAN備份指令碼(轉)模式指令碼
- RAC模式下的備份策略以及RMAN備份指令碼(ZF)模式指令碼
- Oracle生產環境RMAN備份指令碼Oracle指令碼
- hacmp環境下的rman備份ACM
- Linux環境下的一個rman備份的例項指令碼Linux指令碼
- Windows下RMAN備份指令碼Windows指令碼
- RMAN備份恢復——RAC環境資料庫的備份(zt)資料庫
- RMAN備份恢復--RAC環境資料庫的備份(十)資料庫
- RMAN備份恢復——RAC環境資料庫的備份(一)資料庫
- Linux環境下的一個rman備份的例項指令碼(轉載)Linux指令碼
- Oracle ADG環境下的RMAN備份策略Oracle
- rman 備份指令碼指令碼
- rman備份指令碼指令碼
- linux 下RMAN備份shell指令碼Linux指令碼
- windows下rman自動備份指令碼Windows指令碼
- 使用rman備份的指令碼指令碼
- Rman備份的shell指令碼指令碼
- rman備份和增量備份指令碼指令碼
- 【RAC】rac環境下的資料庫備份與還原資料庫
- Nocatalog 下的RMAN 增量備份 shell指令碼指令碼
- rman 全備份指令碼指令碼
- rman增量備份指令碼指令碼
- windows rman備份指令碼Windows指令碼
- RMAN常用備份指令碼指令碼
- oracle RMAN備份指令碼Oracle指令碼
- RAC模式下的rman指令碼模式指令碼
- mysqldump備份指令碼一例MySql指令碼
- 簡單有效的windows下的RMAN備份指令碼Windows指令碼
- 生產環境備份shell指令碼薦指令碼
- Windows環境PgSql自動備份指令碼WindowsSQL指令碼
- RAC環境歸檔NFS掛載方式RMAN備份錯誤NFS
- 分享Oracle Rman的備份指令碼Oracle指令碼
- [Oracle] rman備份的指令碼(1)Oracle指令碼
- rman備份的shell指令碼(例子)指令碼
- ORACLE RMAN備份的指令碼配置Oracle指令碼
- [Oracle] rman備份指令碼(2)Oracle指令碼