1. BACKUPSET 备份
1. 备份全库:
RMAN> backup database format '/u01/app/oracle/backup/%U.full';
备份全库及控制文件、参数文件与所有归档日志,并删除旧的归档日志:
RMAN> backup database format '/u01/app/oracle/backup/%U_%d_%s.bak ' plus archivelog delete input skip inaccessible;
2. 备份表空间:
RMAN> backup tablespace users format '/u01/app/oracle/backup/%U.usersbak';
RMAN> backup tablespace system plus archivelog delete input;
3. 备份数据文件:
RMAN> backup datafile 16 format '/u01/app/oracle/backup/%U.16bak';
4. 备份归档日志:
RMAN> backup archivelog all delete input;
步骤:
1.alter system archive log current;归档当前日志
2.backup archivelog all;备份所有归档日志
RMAN> backup database plus archivelog;
步骤:
1.alter system archive log current;归档当前日志
2.backup archivelog all;备份所有归档日志
3.backup database;备份数据库
4.alter system archive log current;归档当前日志
5.backup archivelog recently generated;备份刚生成的归档日志
删除归档日志:
RMAN> backup database plus archivelog delete all input;
5. 备份控制文件:
RMAN> backup current controlfile;
6. 备份参数文件:
RMAN> backup spfile;
7. 备份恢复闪回区:
RMAN> backup recovery area;
8. 备份备份集:
RMAN> backup backupset 10; ---- RMAN不备份联机重做日志文件,临时文件,只备份数据文件,控制文件,参数文件,归档日志文件。
9. 常用命令:
RMAN> list backup; --- 查看所有备份
RMAN> report schema;--- 查看该模式下的所有信息
RMAN> report obsolete;--- 查看被标记成obsolete的备份
RMAN> delete backup;--- 删除所有备份
RMAN> delete obsolete; ---- 删除被标记成obsolete的备份
2. 映像备份
1. RMAN> backup as copy tablespace users format '/u01/app/oracle/backup/%U.bak';
2. 查看映像备份:
RMAN> list datafilecopy all;
RMAN> delete datafilecopy all;

1 RMAN> backup as copy tablespace memeda format '/u01/app/oracle/backup/%U.bak'; 2 3 Starting backup at 2021-01-21 22:36:22 4 using channel ORA_DISK_1 5 channel ORA_DISK_1: starting datafile copy 6 input datafile file number=00017 name=/u01/app/oracle/oradata/OCP12C/memeda01.dbf 7 output file name=/u01/app/oracle/backup/data_D-OCP12C_I-671397679_TS-MEMEDA_FNO-17_1kvl7if7.bak tag=TAG20210121T223622 RECID=2 STAMP=1062455783 8 channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01 9 Finished backup at 2021-01-21 22:36:24 10 11 Starting Control File and SPFILE Autobackup at 2021-01-21 22:36:24 12 piece handle=/u01/app/oracle/product/12.2.0.1/db_1/dbs/c-671397679-20210121-0f comment=NONE 13 Finished Control File and SPFILE Autobackup at 2021-01-21 22:36:25 14 15 RMAN> list datafilecopy all; 16 17 List of Datafile Copies 18 ======================= 19 20 Key File S Completion Time Ckp SCN Ckp Time Sparse 21 ------- ---- - ------------------- ---------- ------------------- ------ 22 2 17 A 2021-01-21 22:36:23 6033091 2021-01-21 22:36:23 NO 23 Name: /u01/app/oracle/backup/data_D-OCP12C_I-671397679_TS-MEMEDA_FNO-17_1kvl7if7.bak 24 Tag: TAG20210121T223622 25 26 27 RMAN> delete datafilecopy 2; 28 29 released channel: ORA_DISK_1 30 allocated channel: ORA_DISK_1 31 channel ORA_DISK_1: SID=25 device type=DISK 32 List of Datafile Copies 33 ======================= 34 35 Key File S Completion Time Ckp SCN Ckp Time Sparse 36 ------- ---- - ------------------- ---------- ------------------- ------ 37 2 17 A 2021-01-21 22:36:23 6033091 2021-01-21 22:36:23 NO 38 Name: /u01/app/oracle/backup/data_D-OCP12C_I-671397679_TS-MEMEDA_FNO-17_1kvl7if7.bak 39 Tag: TAG20210121T223622 40 41 42 Do you really want to delete the above objects (enter YES or NO)? y 43 deleted datafile copy 44 datafile copy file name=/u01/app/oracle/backup/data_D-OCP12C_I-671397679_TS-MEMEDA_FNO-17_1kvl7if7.bak RECID=2 STAMP=1062455783 45 Deleted 1 objects 46 47 48 RMAN> list datafilecopy all; 49 50 specification does not match any datafile copy in the repository 51 52 RMAN>
3. 增量备份
1. 只备份某次备份以来发生变化的块;
2. 两种类型
1. 差异增量备份(Differential incremental backup):以某次以来同级别或低级别的备份作为基础备份
2. 累计增量备份(Cumulative incremental backup):以某次以来比自己级别低的备份作为基础备份
3. 命令:
RMAN> backup incremental level 0 database; ---- 0级差异增量备份
RMAN> backup cumulative incremental level 1 database ; ---- 1级累计增量备份
4. 块变更跟踪(block change tracking)
1. 概念:增量备份总是小于完整备份,但是备份时节省的时间并不像想象的那样少,原因是增量备份默认的是要扫描整个要备份的数据文件块,以便确定哪些块需要提取,这当然有一个好处就是可以顺便检查坏块,如果想要增量备份能快些,oracle还提供了一个机制,叫做块变更跟踪。块变更跟踪在后台启动一个进程叫CTWR,这个进程向变更跟踪文件中记录每个已更改的块的地址。如果启用了块跟踪,增量备份时就去检查块跟踪文件,这比遍历整个数据文件块要快的多。
2. 开启/关闭块变更跟踪:
SQL> alter database enable block change tracking using file '/u01/app/oracle/bakcup/trac.dbf';
SQL> alter database disable block change tracking;
5. 增量更新备份
1. 概念:增量更新特性是以一个image copy为基础,将增量备份应用到这个image copy,由于在做每日的imcremental level 1时,image copy是不断的累积的,好处是这个累积的image copy的scn越来越新,且恢复数据库是不需要还原。
2. RUN代码块:
RMAN> run {
recover copy of database with tag 'daily_inc';
backup incremental level 1 for recover of copy with tag 'daily_inc' datafile 7;
}

1 RMAN> backup as copy datafile 7 format '/u01/app/oracle/backup/%U.7bak'; 2 3 Starting backup at 2021-01-21 23:11:59 4 using channel ORA_DISK_1 5 channel ORA_DISK_1: starting datafile copy 6 input datafile file number=00007 name=/u01/app/oracle/oradata/OCP12C/users01.dbf 7 output file name=/u01/app/oracle/backup/data_D-OCP12C_I-671397679_TS-USERS_FNO-7_1mvl7khv.7bak tag=TAG20210121T231159 RECID=3 STAMP=1062457919 8 channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01 9 Finished backup at 2021-01-21 23:12:00 10 11 Starting Control File and SPFILE Autobackup at 2021-01-21 23:12:00 12 piece handle=/u01/app/oracle/product/12.2.0.1/db_1/dbs/c-671397679-20210121-10 comment=NONE 13 Finished Control File and SPFILE Autobackup at 2021-01-21 23:12:01 14 15 run { 16 recover copy of database with tag 'daily_inc'; 17 backup incremental level 1 for recover of copy with tag 'daily_inc' datafile 7; 18 4> } 19 20 Starting recover at 2021-01-21 23:12:14 21 using channel ORA_DISK_1 22 no copy of datafile 1 found to recover 23 no copy of datafile 3 found to recover 24 no copy of datafile 4 found to recover 25 no copy of datafile 5 found to recover 26 no copy of datafile 6 found to recover 27 no copy of datafile 7 found to recover 28 no copy of datafile 8 found to recover 29 no copy of datafile 9 found to recover 30 no copy of datafile 10 found to recover 31 no copy of datafile 11 found to recover 32 no copy of datafile 12 found to recover 33 no copy of datafile 15 found to recover 34 no copy of datafile 16 found to recover 35 no copy of datafile 17 found to recover 36 no copy of datafile 18 found to recover 37 no copy of datafile 19 found to recover 38 no copy of datafile 20 found to recover 39 no copy of datafile 21 found to recover 40 no copy of datafile 22 found to recover 41 no copy of datafile 23 found to recover 42 Finished recover at 2021-01-21 23:12:14 43 44 Starting backup at 2021-01-21 23:12:14 45 using channel ORA_DISK_1 46 no parent backup or copy of datafile 7 found 47 channel ORA_DISK_1: starting datafile copy 48 input datafile file number=00007 name=/u01/app/oracle/oradata/OCP12C/users01.dbf 49 output file name=/u01/app/oracle/product/12.2.0.1/db_1/dbs/data_D-OCP12C_I-671397679_TS-USERS_FNO-7_1ovl7kie tag=DAILY_INC RECID=4 STAMP=1062457935 50 channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:02 51 Finished backup at 2021-01-21 23:12:16 52 53 Starting Control File and SPFILE Autobackup at 2021-01-21 23:12:16 54 piece handle=/u01/app/oracle/product/12.2.0.1/db_1/dbs/c-671397679-20210121-11 comment=NONE 55 Finished Control File and SPFILE Autobackup at 2021-01-21 23:12:19 56 57 run { 58 recover copy of database with tag 'daily_inc'; 59 backup incremental level 1 for recover of copy with tag 'daily_inc' datafile 7; 60 4> } 61 62 Starting recover at 2021-01-21 23:12:23 63 using channel ORA_DISK_1 64 no copy of datafile 1 found to recover 65 no copy of datafile 3 found to recover 66 no copy of datafile 4 found to recover 67 no copy of datafile 5 found to recover 68 no copy of datafile 6 found to recover 69 no copy of datafile 7 found to recover 70 no copy of datafile 8 found to recover 71 no copy of datafile 9 found to recover 72 no copy of datafile 10 found to recover 73 no copy of datafile 11 found to recover 74 no copy of datafile 12 found to recover 75 no copy of datafile 15 found to recover 76 no copy of datafile 16 found to recover 77 no copy of datafile 17 found to recover 78 no copy of datafile 18 found to recover 79 no copy of datafile 19 found to recover 80 no copy of datafile 20 found to recover 81 no copy of datafile 21 found to recover 82 no copy of datafile 22 found to recover 83 no copy of datafile 23 found to recover 84 Finished recover at 2021-01-21 23:12:23 85 86 Starting backup at 2021-01-21 23:12:23 87 using channel ORA_DISK_1 88 channel ORA_DISK_1: starting incremental level 1 datafile backup set 89 channel ORA_DISK_1: specifying datafile(s) in backup set 90 input datafile file number=00007 name=/u01/app/oracle/oradata/OCP12C/users01.dbf 91 channel ORA_DISK_1: starting piece 1 at 2021-01-21 23:12:23 92 channel ORA_DISK_1: finished piece 1 at 2021-01-21 23:12:24 93 piece handle=/u01/app/oracle/product/12.2.0.1/db_1/dbs/1qvl7kin_1_1 tag=DAILY_INC comment=NONE 94 channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01 95 Finished backup at 2021-01-21 23:12:24 96 97 Starting Control File and SPFILE Autobackup at 2021-01-21 23:12:24 98 piece handle=/u01/app/oracle/product/12.2.0.1/db_1/dbs/c-671397679-20210121-12 comment=NONE 99 Finished Control File and SPFILE Autobackup at 2021-01-21 23:12:27 100 101 run { 102 recover copy of database with tag 'daily_inc'; 103 backup incremental level 1 for recover of copy with tag 'daily_inc' datafile 7; 104 4> } 105 106 Starting recover at 2021-01-21 23:12:30 107 using channel ORA_DISK_1 108 no copy of datafile 1 found to recover 109 no copy of datafile 3 found to recover 110 no copy of datafile 4 found to recover 111 no copy of datafile 5 found to recover 112 no copy of datafile 6 found to recover 113 no copy of datafile 8 found to recover 114 no copy of datafile 9 found to recover 115 no copy of datafile 10 found to recover 116 no copy of datafile 11 found to recover 117 no copy of datafile 12 found to recover 118 no copy of datafile 15 found to recover 119 no copy of datafile 16 found to recover 120 no copy of datafile 17 found to recover 121 no copy of datafile 18 found to recover 122 no copy of datafile 19 found to recover 123 no copy of datafile 20 found to recover 124 no copy of datafile 21 found to recover 125 no copy of datafile 22 found to recover 126 no copy of datafile 23 found to recover 127 channel ORA_DISK_1: starting incremental datafile backup set restore 128 channel ORA_DISK_1: specifying datafile copies to recover 129 recovering datafile copy file number=00007 name=/u01/app/oracle/product/12.2.0.1/db_1/dbs/data_D-OCP12C_I-671397679_TS-USERS_FNO-7_1ovl7kie 130 channel ORA_DISK_1: reading from backup piece /u01/app/oracle/product/12.2.0.1/db_1/dbs/1qvl7kin_1_1 131 channel ORA_DISK_1: piece handle=/u01/app/oracle/product/12.2.0.1/db_1/dbs/1qvl7kin_1_1 tag=DAILY_INC 132 channel ORA_DISK_1: restored backup piece 1 133 channel ORA_DISK_1: restore complete, elapsed time: 00:00:01 134 Finished recover at 2021-01-21 23:12:32 135 136 Starting backup at 2021-01-21 23:12:32 137 using channel ORA_DISK_1 138 channel ORA_DISK_1: starting incremental level 1 datafile backup set 139 channel ORA_DISK_1: specifying datafile(s) in backup set 140 input datafile file number=00007 name=/u01/app/oracle/oradata/OCP12C/users01.dbf 141 channel ORA_DISK_1: starting piece 1 at 2021-01-21 23:12:32 142 channel ORA_DISK_1: finished piece 1 at 2021-01-21 23:12:33 143 piece handle=/u01/app/oracle/product/12.2.0.1/db_1/dbs/1svl7kj0_1_1 tag=DAILY_INC comment=NONE 144 channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01 145 Finished backup at 2021-01-21 23:12:33 146 147 Starting Control File and SPFILE Autobackup at 2021-01-21 23:12:33 148 piece handle=/u01/app/oracle/product/12.2.0.1/db_1/dbs/c-671397679-20210121-13 comment=NONE 149 Finished Control File and SPFILE Autobackup at 2021-01-21 23:12:34 150 151 RMAN> list datafilecopy all; 152 153 List of Datafile Copies 154 ======================= 155 156 Key File S Completion Time Ckp SCN Ckp Time Sparse 157 ------- ---- - ------------------- ---------- ------------------- ------ 158 5 7 A 2021-01-21 23:12:31 6038256 2021-01-21 23:12:23 NO 159 Name: /u01/app/oracle/product/12.2.0.1/db_1/dbs/data_D-OCP12C_I-671397679_TS-USERS_FNO-7_1ovl7kie 160 Tag: DAILY_INC 161 162 3 7 A 2021-01-21 23:11:59 6038122 2021-01-21 23:11:59 NO 163 Name: /u01/app/oracle/backup/data_D-OCP12C_I-671397679_TS-USERS_FNO-7_1mvl7khv.7bak 164 Tag: TAG20210121T231159