Backup policy:
Sunday level 0
Monday, two, four, five or six levels
Level 1 on Wednesday
-- Local
Mkdir/home/Oracle/backup
Mkdir/home/Oracle/backup/script
Mkdir/home/Oracle/backup/log
Mkdir/home/Oracle/backup/Export
-- Backup destination
Mkdir/home/Oracle/rman_backup
Create tablespace rman_tbs datafile '/oradata/Luke/rman_tbs01.dbf' size 1024 m;
Create user RMAN identified by RMAN default tablespace rman_tbs temporary tablespace temp;
Grant connect, resource, recovery_catalog_owner to RMAN;
RMAN catalog RMAN/RMAN
Create catalog tablespace rman_tbs;
Connect target sys/lukewhx @ Luke
Register database;
Report Schema;
Configure retention policy to redundancy 2;
Configure retention policy to recovery window of 7 days;
-- Returns the RMAN user data script exp_rman.par.
Userid = RMAN/RMAN
File =/home/Oracle/backup/export/RMAN. dmp
Log =/home/Oracle/backup/log/RMAN. Log
-- Reverse the RMAN data shell script exp_rman.sh
#! /Bin/bash
CD $ home
.. Bash_profile
CD $ home/backup/script
Exp parfile = exp_rman.par
-- Zero-level backup RMAN script level0_backup.rcv
Connect catalog RMAN/RMAN
Connect target sys/unumall @ unu2
Run {
Allocate channel D1 type disk;
Allocate channel D2 type disk;
Backup incremental level 0 database format'/home/Oracle/rman_backup/level0 _ % d _ % S _ % P _ % u. Bak'
Tag = 'level 0' include current controlfile;
SQL 'alter system archive log current ';
Backup archivelog all format'/home/Oracle/rman_backup/log _ % d _ % S _ % P _ % u. Bak 'Delete all input;
Release Channel D2;
Release channel D1;
}
Crosscheck backup;
Delete noprompt expired backup;
Delete noprompt obsolete;
Resync Catalog;
-- Level0_backup.sh of the zero-level backup shell script
#! /Bin/bash
CD $ home
.. Bash_profile
CD $ home/backup/script
RMAN Upload File = level0_backup.rcv msglog = $ home/backup/log/level0_backup.log
./Home/Oracle/backup/script/exp_rman.sh
-- Level 1 differential Incremental Backup RMAN script level1_backup.rcv
Connect catalog RMAN/RMAN
Connect target sys/Luke @ Luke
Run {
Allocate channel D1 type disk;
Backup incremental Level 1 format'/home/Oracle/rman_backup/level1 _ % d _ % S _ % P _ % u. Bak 'tag = 'Level 1' database;
SQL 'alter system archive log current ';
Backup archivelog all format'/home/Oracle/rman_backup/log _ % d _ % S _ % P _ % u. Bak 'Delete all input;
Release channel D1;
}
Crosscheck backup;
Delete noprompt expired backup;
Delete noprompt obsolete;
Resync Catalog;
-- Level 1 differential Incremental Backup shell script level1_backup.sh#! /Bin/bash
CD $ home
.. Bash_profile
CD/home/Oracle/backup/script
RMAN history file = levelhistory backup.rcv msglog = $ home/backup/log/level1.log
./Home/Oracle/backup/script/exp_rman.sh
-- Level 2 Differential Incremental Backup RMAN script level2_backup.rcv
Connect catalog RMAN/RMAN
Connect target sys/Luke @ Luke
Run {
Allocate channel D1 type disk;
Backup incremental Level 2 format'/home/Oracle/rman_backup/level2 _ % d _ % S _ % P _ % u. Bak 'tag = 'Level 2' database;
SQL 'alter system archive log current ';
Backup archivelog all format'/home/Oracle/rman_backup/log _ % d _ % S _ % P _ % u. Bak 'Delete all input;
Release channel D1;
}
Crosscheck backup;
Delete noprompt expired backup;
Delete noprompt obsolete;
Resync Catalog;
-- Two-level differential Incremental Backup shell script level2_backup.sh
#! /Bin/bash
CD $ home
.. Bash_profile
CD/home/Oracle/backup/script
RMAN synchronized file = level2_backup.rcv msglog = $ home/backup/log/level2.log
./Home/Oracle/backup/script/exp_rman.sh
Improve RMAN Incremental backup performance
Alter database enable block change tracking using File
'/U01/APP/Oracle/admin/devdb/bdump/Luke. log ';
Desc v $ block_change_tracking;