rman备份
脱机备份:
将数据库加载至mount状态.
shutdown immediate;
startup mount;
backup database;
备份归档日志:
使用backup archivelog all 命令备份以前尚未备份的归档日志。还可以使用backup database archivelog plus archivelog 命令 备份数据库以及任意归档日志文件。rman不允许备份联机重做日志,如果redo log丢失 则意味着丢失数据。
backup database plus archivelog;
backup archivelog all;
backup archivelog from time 'sysdate -1';
backup archivelog from sequence 489;
备份时,若使用 delete input,则会删除完成备份的归档日志文件,但是必须满足先前配置好的归档日志保留策略。configure archivelog deletion policy 规定的限制。
联机备份:
backup database plus archivelog;
在执行此命令时,
首先:进程使用alter system archivelog current 归档当前日志,然后,将现存归档日志备份到,接着,开始执行实际的数据库备份;此时会发生另外一个日志切换。alter system archivelog current,同时,rman备份剩余的归档日志。最后执行控制文件和spfile的自动备份.
RMAN> backup database plus archivelog;
启动 backup 于 26-5月 -13
当前日志已存档 --归档当前日志
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=75 设备类型=DISK
分配的通道: ORA_DISK_2
通道 ORA_DISK_2: SID=135 设备类型=DISK
通道 ORA_DISK_1: 正在启动归档日志备份集 --先启动归档日志备份
通道 ORA_DISK_1: 正在指定备份集内的归档日志
输入归档日志线程=1 序列=17 RECID=11 STAMP=815245474
输入归档日志线程=1 序列=18 RECID=12 STAMP=815246053
输入归档日志线程=1 序列=19 RECID=13 STAMP=815246326
输入归档日志线程=1 序列=20 RECID=14 STAMP=816022784
输入归档日志线程=1 序列=21 RECID=15 STAMP=816043113
输入归档日志线程=1 序列=22 RECID=16 STAMP=816282718
输入归档日志线程=1 序列=23 RECID=17 STAMP=816376533
通道 ORA_DISK_1: 正在启动段 1 于 26-5月 -13
通道 ORA_DISK_2: 正在启动归档日志备份集
通道 ORA_DISK_2: 正在指定备份集内的归档日志
输入归档日志线程=1 序列=24 RECID=18 STAMP=816377352
输入归档日志线程=1 序列=25 RECID=19 STAMP=816377353
输入归档日志线程=1 序列=26 RECID=20 STAMP=816377498
输入归档日志线程=1 序列=27 RECID=21 STAMP=816377499
输入归档日志线程=1 序列=28 RECID=22 STAMP=816377557
输入归档日志线程=1 序列=29 RECID=23 STAMP=816389898
输入归档日志线程=1 序列=30 RECID=24 STAMP=816448251
通道 ORA_DISK_2: 正在启动段 1 于 26-5月 -13
通道 ORA_DISK_1: 已完成段 1 于 26-5月 -13
段句柄=D:\APP\ADMIN\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2013_05_26\O1_MF_ANNNN_TA
G20130526T151053_8T3FCZCY_.BKP 标记=TAG20130526T151053 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:11
通道 ORA_DISK_2: 已完成段 1 于 26-5月 -13
段句柄=D:\APP\ADMIN\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2013_05_26\O1_MF_ANNNN_TA
G20130526T151053_8T3FD3V8_.BKP 标记=TAG20130526T151053 注释=NONE
通道 ORA_DISK_2: 备份集已完成, 经过时间:00:00:07
完成 backup 于 26-5月 -13
启动 backup 于 26-5月 -13
使用通道 ORA_DISK_1
使用通道 ORA_DISK_2
通道 ORA_DISK_1: 正在启动全部数据文件备份集 --启动实际的数据库文件备份
通道 ORA_DISK_1: 正在指定备份集内的数据文件
输入数据文件: 文件号=00001 名称=D:\APP\ADMIN\ORADATA\ORCL\SYSTEM01.DBF
输入数据文件: 文件号=00006 名称=D:\APP\ADMIN\ORADATA\ORCL\USERS02.DBF
输入数据文件: 文件号=00007 名称=D:\APP\ADMIN\ORADATA\ORCL\UNDOTBS02.DBF
通道 ORA_DISK_1: 正在启动段 1 于 26-5月 -13
通道 ORA_DISK_2: 正在启动全部数据文件备份集
通道 ORA_DISK_2: 正在指定备份集内的数据文件
输入数据文件: 文件号=00002 名称=D:\APP\ADMIN\ORADATA\ORCL\SYSAUX01.DBF
输入数据文件: 文件号=00003 名称=D:\APP\ADMIN\ORADATA\ORCL\UNDOTBS01.DBF
输入数据文件: 文件号=00005 名称=D:\APP\ADMIN\ORADATA\ORCL\EXAMPLE01.DBF
输入数据文件: 文件号=00004 名称=D:\APP\ADMIN\ORADATA\ORCL\USERS01.DBF
通道 ORA_DISK_2: 正在启动段 1 于 26-5月 -13
通道 ORA_DISK_1: 已完成段 1 于 26-5月 -13
段句柄=D:\APP\ADMIN\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2013_05_26\O1_MF_NNNDF_TA
G20130526T151107_8T3FDF1Y_.BKP 标记=TAG20130526T151107 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:01:07
通道 ORA_DISK_2: 已完成段 1 于 26-5月 -13
段句柄=D:\APP\ADMIN\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2013_05_26\O1_MF_NNNDF_TA
G20130526T151107_8T3FDHN2_.BKP 标记=TAG20130526T151107 注释=NONE
通道 ORA_DISK_2: 备份集已完成, 经过时间:00:01:05
完成 backup 于 26-5月 -13
启动 backup 于 26-5月 -13
当前日志已存档 --启动另外一个日志切换,归档当前日志
使用通道 ORA_DISK_1
使用通道 ORA_DISK_2
通道 ORA_DISK_1: 正在启动归档日志备份集 --备份现存归档日志
通道 ORA_DISK_1: 正在指定备份集内的归档日志
输入归档日志线程=1 序列=31 RECID=25 STAMP=816448335
通道 ORA_DISK_1: 正在启动段 1 于 26-5月 -13
通道 ORA_DISK_1: 已完成段 1 于 26-5月 -13
段句柄=D:\APP\ADMIN\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2013_05_26\O1_MF_ANNNN_TA
G20130526T151215_8T3FGHHP_.BKP 标记=TAG20130526T151215 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:01
完成 backup 于 26-5月 -13
启动 Control File and SPFILE Autobackup 于 26-5月 -13 --控制文件和spfile的自动备份
段 handle=D:\APP\ADMIN\FLASH_RECOVERY_AREA\ORCL\AUTOBACKUP\2013_05_26\O1_MF_S_81
6448336_8T3FGKQ6_.BKP comment=NONE
完成 Control File and SPFILE Autobackup 于 26-5月 -13
表空间备份:
在表空间释放一个分区前,或者在表空间修改为read only属性后,可能都需要执行表空间备份。
RMAN> backup tablespace users;
RMAN> backup tablespace users plus archivelog;
RMAN> backup tablespace users include current controlfile plus archivelog;
我们要备份表空间,实际上是想备份表空间的数据文件,因此也可以直接备份数据文件。
数据文件备份:
RMAN> backup datafile 2;
RMAN> backup datafile 'u01/oracle/product/oradata/orcl/users01.dbf';
RMAN> backup datafile 'u01/oracle/product/oradata/orcl/users01.dbf' plus archivelog;
RMAN> backup datafile 'u01/oracle/product/oradata/orcl/users01.dbf' incrude current controlfile plus archivelog;
备份归档日志:
有时候,我们需要只备份归档的日志文件,而不备份数据库
RMAN> backup archivelog all;
RMAN> backup archivelog from time 'sysdate -1';
RMAN> backup archivelog from sequence 489;
RMAN> backup archivelog not backed up 3 times;
此命令会确保至少备份3次重做日志,且不会在备份已经备份过3次的日志。
RMAN> backup archivelog until time 'sysdate-2' delete all input;
注:delete input 与not backed up 互斥,不管归档日志备份的次数为多少,delete input都会删除这个归档重做日志。
备份集备份:
我们可能先在磁盘上生成备份集,然后再磁带上备份备份集。只能讲备份集从磁盘备份到磁盘,或者从磁盘备份到磁带;不能从磁带到磁带或者磁带到磁盘的备份集备份。backup backupset completed before 'sysdate-2'
RMAN> backup backupset all;
RMAN> backup backupset completed before 'sysdate-2';
RMAN> backup backupset completed before 'sysdate-2' delete all input;
backup backupset completed before 'sysdate-2';命令,会备份最近两天的备份集。
闪回恢复区备份:
使用backup recovery area 命令 可以备份整个闪回恢复区。但并不是备份FRA中所有的文件。
backup recovery area备份的文件包括:完整备份集合增量备份集、控制文件自动备份、归档的日志、以及数据文件副本。但是有时候,FRA还包含了 闪回日志,当前控制文件、联机重做日志文件,backup recovery area不会备份这些文件。
映像副本:
rman可以创建数据库文件、归档日志文件、控制文件的精确副本。映像副本只能在磁盘上生成,不能再磁带上,也不能压缩。映像副本生成的时候,必须加载或打开数据库。生成的映像副本的记录存储于控制文件中。
映像副本可以与普通的备份集(增量备份和归档重做日志备份)结合,完成数据库恢复。
backup as copy database;
backup as copy tablespace users;
backup as copy datafile 2;
backup as copy datafile 'u01/oracle/product/oradata/orcl/users01.dbf';
backup as copy current controlfile format 'c:/controlfile.ctl' reuse;
增量备份:
rman增量备份,运行用户只备份上次增量备份以来被修改过的数据库。
增量备份优点:
1、更少的使用磁带或者磁盘
2、降低网络带宽要求
3、节约备份时间
块更改跟踪文件:
执行alter system enable block change tracking 命令,可以启动更改跟踪,改命令创建块跟踪文件BCTF.
可以同时查询v$bolck_change_tracking 来查看是否开启了块跟踪,如果已经开启,可以通过alter database rename file 命令移动BCTF.
--开启块跟踪
alter database enable block change tracking using file 'u01/orace/pruduct/tepm/block_change.file';
如果已经存在 则需要用reuse
alter database enable block change tracking using file 'u01/orace/pruduct/tepm/block_change.file' reuse;
使用 alter database disable block change tracking 可以禁用数据库块跟踪
差异增量备份、累积增量备份
差异备份:是rman增量备份的默认类型,会备份自上一次同级或低级增量备份以来所有发生变化的块。
备份时,若使用 delete input,则会删除完成备份的归档日志文件,但是必须满足先前配置好的归档日志保留策略。configure archivelog deletion policy 规定的限制。
backup incremental level =1 database;
累积备份:可以备份自上一次0级备份以来所有发生的变化的块,忽略之前的1级备份,需要指出cumulative关键字。
backup incremental level =1 cumulative database;
更新增量备份
rman提供了增量更新备份。这种备份避免了采用数据文件的完整映像副本进行备份的开销。合并的增量备份默认情况下为累积增量备份。
run {
recover copy of database with tag='incre_update';
backup incremental level 1 for recover of copy with tag='incre_update' database;
}
recover copy of database 并没有真正的恢复数据库,但它使rman将任何增量备份应用于与列出的标记关联的数据文件副本。
该命令分三个阶段创建备份:
一:使用次命令首次备份,将创建0级备份,备份期间会出现一些错误,例如:数据文件没有副本可恢复。是因此此时还没有数据文件副本。
二:再次运行上述命令,将会创建一个一级增量备份
三:先前第二部创建的一级增量备份,会被应用到第一步创建的0集备份中,产生新的0级增量备份(recover copy of database with tag='incre_update';)。
然后参数一个当前的一级增量备份(backup incremental level 1 for recover of copy with tag='incre_update' database)。
如果将命令位置顺序置换:
run {
backup incremental level 1 for recover of copy with tag='incre_update' database;
recover copy of database with tag='incre_update';}
此命令会导致1级增量备份立即被应用到0级备份中产生新的0级备份,不会又任何延迟。这种方式使得基本备份尽可能与当前数据库一致。