RMAN准备工作:
建立恢复目录的步骤
(1)建立恢复目录表空间
sql>create tablespace dyk_rman datafile
‘E:ORACLEORABACKoradb1dyk_rman1.dbf’ size 2048M;
(2)建立恢复目录所有者
sql>create user rmans identified by rman_2010 default tablespace dyk_rman
(3)授予恢复目录所有者角色。恢复目录所有者必须具有 recovery_catalog_owner角色。
另外,当建立恢复目录时,需要连接到数据库,并且在恢复目录表空间上创建表,因
此还应该为恢复目录所有者授予 connect和 resource角色
sql>grant connect,resource,recovery_catalog_owner to rman
(4)建立恢复目录。
c:>rman catalog rman/rman@catadb.
rman>create catalog;
(5)注册目标数据库。在建立了恢复目录之后,为了将目标数据库的 rman元数据存放
到恢复目录中,必须连接到目标数据库,并使用 register database命令注册目标数据库,
可以使用 report schema命令检查是否注册成功。
c:>rman catalog rman/rman@oradb1
rman>connect target sys/oracle@oradb1
rman>register database
rman>report schema;
一、RMAN备份概念
通道:RMAN允许用户对目标数据库和辅助数据库进行备份和恢复操作,且备份目标
的存放支持磁盘和磁带。通过引入通道的概念,RMAN可以方便的支持上面的功能,
而且可以方便的实现并行、带宽控制、命名转化等更多的功能。
备份集:RMAN的 BACKUP命令产生的备份集的格式是 RMAN特有的。它和用户管
理的备份方式产生的数据文件的拷贝的格式不同。备份集的最大特点应该是多路复用
和压缩。RMAN仅仅备份包含数据的 block,并把多个数据文件以一定的格式存储在
一个备份集中。
备份类型:RMAN支持三种类型的备份,全备份、增量备份和差异备份。
控制文件和系统参数文件自动备份:RMAN的新增功能,如果设置了控制文件的自动
备份。一旦用户发出了 BACKUP和 COPY命令,则自动包括控制文件和系统参数文
件的备份。而且,数据库的物理结构一旦发生变化,则立刻自动备份控制文件和系统
参数文件。
备份保留策略:RMAN提供了窗口和冗余两种策略来判断以前的备份是否已经陈旧。
备份优化策略:定义了 RMAN在何种情况下可以跳过对只读、脱机等自上次备份后未
发生变化的数据文件的备份。
映像拷贝:RMAN的 COPY命令支持对数据文件进行映像拷贝,这种方式生成的备份
格式和用户管理备份方式生成的格式是一样的。因此,也可以配置 RMAN支持用户管
理备份方式生成的备份文件。
差异增量备份:
差异增量是备份上级或同级备份以来变化的块。在 oracle9i上数据恢复时间比较长,
oracle10g上速度较快,因为在 oracle10g数据库中。
累计增量备份:
累计增量是备份上级备份以来变化的块。如果备份 level 1级备份,要扫描数据库中中
所有的 BLOCK,以检查是否有改变。level 2级备份,需要扫描 level 1级备份以后变
化的 block块。累计增量增加了备份的时间,但是因为恢复的时候,需要从更少的备份
集中恢复数据,所以,为了减少恢复的时候,累计增量备份将比差异增量备份更有效。
非归档模式下 RMAN备份,非归档模式下的恢复方案可选性很小,一般情况下只能有
一种恢复方式,就是数据库的冷备份的完全恢复,仅仅需要拷贝原来的备份就可以
(restore),不需要 recover;这种情况下的恢复,可以完全恢复到备份的点上,但是在
备份之后与崩溃之前的数据将全部丢失;不管毁坏了多少数据文件或是联机日志或是
控制文件,都可以通过这个办法恢复,因为这个恢复过程是 Restore所有的冷备份文件,
而这个备份点上的所有文件是一致的,与最新的数据库没有关系,就好比把数据库又
放到了一个以前的“点“上;在非归档模式下,RMAN冷备份效果不好,因为 RMAN
不备份联机日志,restore不能根本解决问题;
归档模式下 RMAN备份:采用热备份,需要运行在归档模式下,可以实现数据库的完
全恢复,也就是说,从备份后到数据库崩溃时的数据都不会丢失;可以采用全备份数据
库的方式备份,对于特殊情况,也可以只备份特定的数据文件,如只备份用户表空间
(一般情况下对于某些写入操作特别频繁的数据文件,可以单独加大备份频率);如果
在恢复过程中,发现损坏的是多个数据文件,即可以采用单个数据文件的恢复方法,
也可以采用整个数据库的恢复方法;
二、RMAN命令和脚本介绍
(1)命令介绍:
validate:备份集有效性验证命令,可以用于校验备份集有效性
操作:
restore validate controlfile;验证控制文件备份是否有效
restore validate spfile;验证 spfile文件备份是否有效
restore validate database;验证数据库备份是否有效
list:列出备份相关信息命名
操作:
列出数据文件备份集
rman>list backup of tablespace user01;
列出控制文件备份集
rman>list backup of controlfile;
列出归档日志备份集
rman>list backup of archivelog all;
列出 spfile备份集
rman>list backup of spfile;
列出数据文件映像副本
rman>list copy of database;
列出特定表空间数据文件的映像副本
rman>list copy of tablespace;
列出特定数据文件的映像副本
rman>list copy of datafile 5
列出控制文件映像副本
rman>list copy of controlfile
列出归档日志映像副本
rman>list copy of archivelog all;
列出数据库副本每次使用 resetlogs选项打开数据库之后都会生成一个新的数据库副本
rman>list incarnation of database;
configure:备份配置策略设置命令
操作:
保存策略 (retention policy)
configure retention policy to recovery window of 3 days;
configure retention policy to redundancy 3;
configure retention policy clear;
备份优化 backup optimization
configure backup optimization on;
configure backup optimization off;
configure backup optimization clear;
默认设备 default device type
configure default device type to disk;
configure default device type to stb;
configure default device type clear;
控制文件 controlfile
configure controlfile autobackup on;
configure controlfile autobackup format for device type disk to
“E:oracleorabackconf_%F”;
configure controlfile autobackup clear;
configrue controlfile autobackup format for device type disk clear;
configrue snapshot controlfile name to “E:oracleorabackcontrol_%U.snp”;
configrue snapshot controlfile name clear;
并行数(通道数) device type disk|stb pallelism n;
configure device type disk|stb parallelism 2;
configure device type disk|stb clear;
configure channel device type disk format “E:oracleoraback_%U”;
configure channel device type disk maxpiecesize 100m
configure channel device type disk rate 1200K
configure channel 1 device type disk format “E:oracleoraback_%U”;
configure channel 2 device type disk format “E:oracleoraback_%U”;
configure channel 1 device type disk maxpiecesize 100m
生成备份副本 datafile|archivelog backup copies
configure datafile backup copies 2;
configure archivelog backup copies 2;
show:备份配置参数查看命令
show all
rman配置参数为:
configure retention policy to recovery window of 7 days;
configure backup optimization on;
configure default device type to disk;
configure controlfile autobackup on;
configure controlfile autobackup format for device type disk to
‘e:oracleoraback_%f’;
configure device type disk parallelism 3;
configure datafile backup copies for device type disk to 1; # default
configure archivelog backup copies for device type disk to 1; # default
configure maxsetsize to unlimited;
configure snapshot controlfile name to ‘e:oracleora92databasesncforadb1.ora’; #
default
report:显示 rman备份物理信息
操作:
报告数据库物理结构
report schema;
报告陈旧备份
report obsolete;
报告不可恢复的数据文件
report unrecoverable;
copy:建立数据文件映像副命令,只能基于数据文件、控制文件、归档日志建立映像副
本,而不能基本 spfile建立映像副本。映像副本只能建在磁盘上,而不能建在磁带上。
oracle database 10g之前,只能使用 copy命令来完成;从 oracle db 10g开始,不仅
可以使用 copy命令建立映像副本,而且可以使用 backup命令的 as copy选项建立映
像副本。
建立数据文件映像副本。
rman> backup as copy format=’e:oracleorabackdf_4.dbf’ datafile 4;
rman> copy datafile 1 to ‘e:oracleoraback_1.dbf’;
建立控制文件映像副本。
rman> backup as copy format=’e:oracleorabackdyk.ctl’ current controlfile;
rman> copy current controlfile to ‘e:oracleorabackdyk.ctl’;
建立归档日志映像副本。
rman> backup as copy format=’e:oracleorabackdyk.log’ archivelog sequence 23;
rman> copy archivelog ‘e:oracleorabackdyk1.log’ to
‘e:oracleorabackdyk2.log’;
并行化建立映像副本。
rman> configure device type disk parallelism 3;
rman> backup as copy format=’e:oracleorabackdyk_%f.dfb’ datafile 2,3,4;
rman> configure device type disk clear;
指定映像副本标记。
rman> backup as copy format=’e:oracleorabackdyk_%f.dbf’ datafile 4 tag=df_4;
rman> copy datafile 1 to ‘e:oracleorabackdyk_%f.dbf’ tag=df_1;
backup:rman数据库备份命令
完全数据库备份集
一致性备份。
c:>rman target sys/oracle@mydb1 nocatalog
rman> shutdown immediate
rman> backup database format=’e:oracleorabackdyk_%d_%s.dbf’;
rman> sql ‘alter system archive log current’;
sql语句: alter system archive log current
(2)非一致性备份。
rman> alter database open;
rman> backup database format=’e:oracleorabackdyk_%d_%s.dbf’;
rman> sql ‘alter system archive log current’;
sql语句: alter system archive log current
(3)免除表空间。
rman> configure exclude for tablespace users;
rman> backup database format=’e:oracleorabackdyk_%d_%s.dbf’;
rman> sql ‘alter system archive log current’;
sql语句: alter system archive log current
rman> configure exclude for tablespace users clear;
表空间备份集
rman> backup tablespace users format=’e:oracleorabackdyk_%d_%n_%s.dbf’;
数据文件备份集
rman> backup datafile 4 format=’e:oracleorabackdyk_%d_%n_%f_%s.dbf’;
控制文件备份集
rman> backup current controlfile format=’e:oracleorabackdyk_%d_%s.ctl’;
备份数据文件 1时,会自动备份当前控制文件。当备份其他数据文件时,通过指定
include current controlfile选项可以同时备份控制文件
rman> backup datafile 4 format=’e:oracleorabackdyk_%d_%s.dbf’ include current
controlfile;
spfile备份集
rman> backup spfile format=’e:oracleorabackdyk_%d_%s.par’;
归档日志备份集
rman> backup format=’e:oracleorabackdyk_%d_%s.arc’ archivelog from
time=’sysdate-1′ until time=’sysdate’;
并行化备份集
rman> backup database format=’e:oracleorabackdyk_%d_%s.dbf’;
建立多重备份
rman> backup copies 3 tablespace users
format=’e:oracleorabackdyk1_%d_%n_%s.dbf’,’e:oracleorabackdyk2_%d_%n_
%
s.dbf’,’e:oracleorabackdyk3_%d_%n_%s.dbf’;
备份备份集
rman> backup backupset 60 format=’e:oracleorabackdyk_%d_%s.bak’;
建立多个备份片
rman> configure channel device type disk maxpiecesize 500m;
rman> backup device type disk format=’e:oracleorabackdyk_%d_%s_%p.dbf’
database;
rman> configure device type disk clear;
建立压缩备份集
rman> backup as compressed backupset tablespace users
format=’e:oracleorabackdyk_%d_%n_%s.dbf’;
备份数据文件和归档日志
rman> backup format ‘e:oracleorabackdyk_%d_%s.bak’ tablespace users plus
archivelog;
指定备份集标记
rman> backup format ‘e:oracleorabackdyk_%d_%s.bak’ tablespace users
tag=’sj_data’;
增量备份
差异增量备份。
增量备份是指备份更低级别或相同级别最近一次备份以来变化的数据块,增量备份的
基础是增量 0级备份。
rman> backup incremental level 0 format=’e:oracleorabackdyk%d_%s.dbf’
tablespace sj_data;
rman> backup incremental level 2 format=’e:oracleorabackdyk%d_%s.dbf’
tablespace sj_data;
rman> backup incremental level 1 format=’e:oracleorabackdyk%d_%s.dbf’
tablespace sj_data;
累积增量备份。
累积备份是指备份更低级别或 n-1级别最近一次备份以来变化的数据块。
rman> backup incremental level 0 format=’e:oracleorabackdyk%d_%s.dbf’
tablespace sj_data;
rman> backup incremental level 2 format=’e:oracleorabackdyk%d_%s.dbf’
tablespace sj_data;
rman> backup incremental level 2 cumulative
format=’e:oracleorabackdyk%d_%s.dbf’ tablesp ace sj_data;
rman> backup incremental level 1 format=’e:oracleorabackdyk%d_%s.dbf’
tablespace sj_data;
restore:rman数据转储命令
转储数据库所有数据文件,该命令只能在 mount下使用:
restore database;
转储特定表空间的数据文件,该命令只能在 open下使用:
restore tablespace;
转储特定数据文件,该命令既可以在 open下使用,也可以在 mount下使用:
restore datafile;
转储控制文件,该命令只能在 nomount下使用:
restore controlfile;
转储归档日志,该命令既可以在 mount下使用,也可以在 open下使用:
restore archivelog;
转储服务器参数文件,该命令只能在 nomount状态下使用:
restore spfile;
recover:rman数据库恢复命令
恢复数据:
recover database;
恢复数据库表空间对应文件:
recover datafile 12;
crosscheck:该命令用于核对磁盘和磁带上的备份文件,以确保 rman资料库与备份文件
保持同步。该命令只会检查 rman资料库所记载的备份文件。当执行 crosscheck命令
时,如果资料库记录不匹配于备份文件的物理状态,那么该命令会更新资料库记录的
状态信息。当使用 crosscheck命令核对备份文件之后,备份文件的状态会包括 avaliable、
unavaliable和 expired三种,如果备份文件处于 expired状态,则说明物理文件已经被
手工删除或者损坏。注意,如果备份文件处于 expired状态,应该使用 delete命令删除
该备份文件:
核对所有备份集
rman>crosscheck backup;
核对所有数据文件的备份集
rman>crosscheck backup of database;
核对特定表空间的备份集
rman>crosscheck backup of tablespace system;
核对特定数据文件的备份集
rman>crosscheck backup of datafile 4;
核对控制文件的备份集
rman>crosscheck backup of controlfile;
核对 spfile的备份集
rman>crosscheck backup of spfile;
核对归档日志的备份集
rman>crosscheck backup of archivelog sequence 3;
核对所有映像副本
rman>crosscheck copy;
核对所有数据文件的映像副本
rman>crosscheck copy of database;
核对特定表空间的映像副本
rman>crosscheck copy of tablespace users;
核对特定数据文件的映像副本
rman>crosscheck copy of datafile 4;
核对控制文件的映像副本
rman>crosscheck copy of controlfile;
核对归档日志的映像副本
rman>crosscheck copy of archivelog sequence 4;
change:备份属性设置命名
改变备份集状态:
可用 change backupset .. unavailable/available来改变一个备份集的状态
rman>change backupset 22 unavailable
改变映像副本状态:
数据文件:change datafilecopy .. available/unavailable
控制文件:change controlfilecopy .. available/unavailable
归档日志:change archivelog .. available/unavailable
rman>change datafilecopy ‘e:oracleorabacksj_data.bak’ unavailable;
建立长期备份:长期备份是指被长期保留的备份文件,使用长期备份的目的是为了可
以将数据库恢复到过去的特定时间点。当设置了长期备份之后,rman会从设备冗余策
略中免除该备份文件,也就是说,长期备份文件不会被标记为陈旧备份。
命令:change .. keep/nokeep
使备份集 17永久保留
rman>change backupset 17 keep forever logs;
使备份集 12保留 60天
rman>change backupset 12 keep until time ‘sysdate+60’ logs;
免除备份集 15的保留期限
rman>change backupset 15 nokeep
delete:删除 rman备份记录及相应的物理文件
操作:
删除陈旧备份
rman>delete obsolete;
删除 expired备份集
当使用 os命令删除了备份集对应的备份片文件后,如果执行 crosscheck命令核对备份
集,那么会将该备份集标记为 expired状态。
rman>delete noprompt expired backup;
删除 expired副本
rman>delete noprompt expired copy;
删除特定备份集
rman>delete noprompt backupset 19;
删除特定备份片
rman>delete noprompt backuppiece ‘e:oracleorabacksj_data.bak’;
删除所有备份集
rman>delete noprompt backup;
删除特定映像副本
rman>delete noprompt datafilecopy ‘e:oracleorabacksj_data.bak’;
删除所有映像副本
rman>delete noprompt copy;
在备份后删除输入对象当使用 backup命令备份归档日志或备份集时,在备份完成之后
可以删除原有输入对象
rman>backup archivelog all delete input;
rman>backup backupset 22 format=’e:oracleorabacksj_%u.bak’ delete input;
注意:以下是 RMAN备份相关的命令:
allocate, alter, backup,beginline, blockrecover, catalog, change, connect, copy,
create, crosscheck, configure, duplicate, debug, delete, drop, exit, endinline, host, {,
library, list, mount, open, print, quit, recover, register, release, replace, report,
renormalize, reset, restore, resync, rman, run, rpctest, set, setlimit, sql, spool, startup,
shutdown, send, show, test, upgrade, validate
(2)脚本介绍:
批处理命令 run:
rman命令执行方式:在运行 rman命令的方式,共有 4种运行方式。
1)单个执行
rman>backup database;
2)批处理:批处理方式实质是将原来单个执行的命令组合到一起,并放在 run{}之间,
这种方式最大的好处是所有在 run中的命令被视为一个作业,如果作业中任何一条命
令执行失败,则整个命令停止执行,即失败命令后的其它命令都不会再被执行。这种
方式是最常使用的方式,特别对于后台执行。
rman>run{ …… }
3)运行脚本:
rman target / @backup_db.rman
rman> @backup_db.rman
rman> run { @backup_db.rman }
运行存储在恢复目录中的脚本(需要首先为 rman创建恢复目录)
rman> run { execute script backup_whole_db };
4)操作系统脚本(linux,windows环境下小有差异,但只是操作系统命令的不同)
rman cmdfile=backup_db.rman
在写脚本之前,先明确目标:
(1)每天夜间 1点执行;
(2)数据库全备,同时备份控制文件及归档日志文件,备份文件保存至:E:oracleoraback
目录下,并在完成归档日志文件备份后,自动删除已备份的归档日志;
(3)备份保留 7天,过期则自动删除;
(4)保留操作日志备查;
1)编写 man批处理文件
保存至:e:oracleorabackdatabase_backup_data.rman
run {
configure retention policy to recovery window of 7 days;
configure controlfile autobackup on;
configure controlfile autobackup format for device type disk to ‘ e:oracleoraback
%f’;
allocate channel ch1 device type disk format ‘ e:oracleoraback%u’;
backup database skip inaccessible filesperset 10
plus archivelog filesperset 20
delete all input;
release channel ch1;
}
allocate channel for maintenance device type disk;
crosscheck backupset;
delete noprompt obsolete;
SKIP INACCESSIBLE参数介绍:
SKIP选项
说明
SKIP INACCESSIBLE:表示跳过不可读的文件。对于一些 offline的数据文件只要存
在于磁盘上就仍然可被读取,但是可能有些文件已经被删除或移到它处造成不可读,
加上这个参数就会跳过这些文件;
SKIP OFFLINE:跳过 offline的数据文件;
SKIP READONLY:跳过那些所在表空间为 read-only的数据文件;
2)编写 dos批处理
保存至:E:oracleorabackdatabase_backup_dyk.bat
设定要备份的数据库 sid为 oradb1,将日志按照日期输出到 E:oracleorabacklogs目
录。
set oracle_sid=oradb1
rman target / msglog E:oracleorabacklogs%date:~0,10%.log
cmdfile=E:oracleorabackdatabase_backup_oradb1.rman
3)设定执行计划
控制面板->任务计划中添加计划,运行
E:oracleorabackdatabase_backup_dyk.bat
即可。
恢复数据库
(1)所有数据文件被删除。
RMAN> shutdown immediate
RMAN> run
2> {
3> host “del E:ORACLEORADATAORADB1SYSTEM01.DBF”;
4> host “del E:ORACLEORADATAORADB1SYSAUX01.DBF”;
5> host “del E:ORACLEORADATAORADB1USERS01.DBF”;
6> host “del E:ORACLEORADATAORADB1UNDOTBS01.DBF”;
7> }
RMAN> run
2> {
3> restore database;
4> recover database;
5> sql ‘alter database open’;
6> }
RMAN> run
2> {
3> shutdown immediate;
4> startup force mount;
5> set newname for datafile 1 to
‘E:ORACLEORADATAoradb1SYSTEM01.DBF’;
6> set newname for datafile 2 to
‘E:ORACLEORADATAoradb1UNDOTBS01.DBF’;
7> set newname for datafile 3 to
‘E:ORACLEORADATAoradb1SYSAUX01.DBF’;
8> set newname for datafile 4 to ‘E:ORACLEORADATAoradb1USERS01.DBF’;
9> restore database;
10> switch datafile all;
11> recover database;
12> sql ‘alter database open’;
13> }
(1) SYSTEM表空间的数据文件被误删除。
RMAN> run
2> {
3> shutdown immediate;
4> startup force mount;
5> restore datafile 1;
6> recover datafile 1;
7> sql ‘alter database open’;
8> }
(2) SYSTEM表空间数据文件所在磁盘出现故障。
RMAN> run
2> {
3> shutdown immediate;
4> startup force mount;
5> set newname for datafile 1 to ‘E:ORACLEORADATAoradb1system01.dbf’;
6> restore datafile 1;
7> switch datafile 1;
8> recover datafile 1;
9> sql ‘alter database open’;
10> }
11>
在 OPEN状态下恢复关闭后意外丢失的数据文件
SQL> conn / as sysdba
已连接到空闲例程。
SQL> startup
ORACLE例程已经启动。
Total System Global Area 167772160 bytes
Fixed Size
Variable Size
1247900 bytes
71304548 bytes
Database Buffers 92274688 bytes
Redo Buffers
2945024 bytes
数据库装载完毕。
ORA-01157:无法标识/锁定数据文件 4 –请参阅 DBWR跟踪文件
ORA-01110:数据文件 4: ‘E:ORACLEORADATAORADB1\USERS01.DBF’
(1)数据文件被误删除。
RMAN> run
2> {
3> shutdown immediate;
4> startup force mount;
5> sql ‘alter database datafile 4 offline’;
6> sql ‘alter database open’;
7> restore datafile 4;
8> recover datafile 4;
9> sql ‘alter database datafile 4 online’;
10> }
(2)数据文件所在磁盘出现介质损坏。
RMAN> run
2> {
3> shutdown immediate;
4> startup force mount;
5> sql ‘alter database datafile 4 offline’;
6> sql ‘alter database open’;
7> set newname for datafile 4 to ‘E:ORACLEORADATAoradb1users01.dbf’;
8> restore datafile 4;
9> switch datafile 4;
10> recover datafile 4;
11> sql ‘alter database datafile 4 online’;
12> }
在 OPEN状态下恢复打开时意外丢失的数据文件。
SQL> select * from scott.emp;
select * from scott.emp
*
第 1行出现错误:
ORA-00376:此时无法读取文件 4
ORA-01110:数据文件 4: ‘E:ORACLEORADATAORADB1USERS01.DBF’
(1)数据文件被误删除。
RMAN> run
2> {
3> sql ‘alter database datafile 4 offline’;
4> restore datafile 4;
5> recover datafile 4;
6> sql ‘alter database datafile 4 online’;
7> }
(2)数据文件所在磁盘出现故障。
RMAN> run
2> {
3> sql ‘alter database datafile 4 offline’;
4> set newname for datafile 4 to ‘E:ORACLEORADATAoradb1\users01.dbf’;
5> restore datafile 4;
6> switch datafile 4;
7> recover datafile 4;
8> sql ‘alter database datafile 4 online’;
9> }
11.2.5
(1)数据文件被误删除。
RMAN> run
2> {
3> startup force mount;
4> sql ‘alter database datafile 5 offline’;
5> sql ‘alter database open’;
6> restore datafile 5;
7> recover datafile 5;
8> sql ‘alter database datafile 5 online’;
9> }
(2)数据文件所在磁盘出现故障。
RMAN> run
2> {
3> shutdown immediate;
4> startup mount;
5> sql ‘alter database datafile 5 offline’;
6> sql ‘alter database open’;
7> set newname for datafile 5 to ‘c:demouser03.dbf’;
8> restore datafile 5;
9> switch datafile 5;
10> recover datafile 5;
11> sql ‘alter database datafile 5 online’;
12> }
全库备份脚本
run{
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
backup full tag ‘dbfull’ format ‘/u01/oradata/backup/full%u_%s_%p’ database
include current controlfile;
sql ‘alter system archive log current’;
backup fileaperset 3 format ‘/u01/oradata/backup/arch%u_%s_%p’
archivelog all delete input; #备份归档可选,可以单独定期备份
release channel c1;
release channel c2;
release channel c3;
}
零级备份脚本
run{
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
backup incremental level 0 tag ‘db0’ format ‘/u01/oradata/backup/db0%u_%s_%p’
database skip readonly;
sql ‘alter system archive log current’;
backup fileaperset 3 format ‘/u01/oradata/backup/arch%u_%s_%p’
archivelog all delete input; #备份归档可选,可以单独定期备份
release channel c1;
release channel c2;
release channel c3;
}
一级备份脚本
run{
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
backup incremental level 1 tag ‘db1’ format ‘/u01/oradata/backup/db1%u_%s_%p’
database skip readonly;
sql ‘alter system archive log current’;
backup fileaperset 3 format ‘/u01/oradata/backup/arch%u_%s_%p’
archivelog all delete input; #备份归档可选,可以单独定期备份
release channel c1;
release channel c2;
release channel c3;
}