首页 > Linux操作系统 > Linux操作系统 > RMAN的使用:备份数据库
RMAN使用方式:
。DATABASE CONTROL提供的图形接口
。batch模式
。管道接口
。RMAN可执行程序,这个用得最多。
1、 batch模式中的rman
使用unix的cron和windows的AT
2、 rman管道接口
使用DBMS_PIPE程序包。
Rman pipe rmpipe target sys/oracle@orcl
3、 使用rman可执行程序进行数据库备份
3.1 独立命令与作业/命令块命令
有些命令只用于独立命令:connect
有些命令只用于作业/命令块命令:allocate channel
有些命令两者都可以用:backup
3.2 创建备份集
联机备份
--磁盘备份 run { allocate channel d1 type disk; --启动了单个磁盘通道 backup as compressed backupset --生成的备份集是为压缩过的备份集 format '/u01/orcl/backup/%d_%u.dbf' --%d--数据库名 --%u--保证唯一性的,由8个字符组成的串 duration 8:00 minimize load --在8小时内对整个数据库进行备份; --minimize load 指示rman控制备份的速度。 filesperset 1 --这个备份集由一个备份片组成 database; sql 'alter system archive log current'; --实施日志切换和归档 backup as compressed backupset format '/u01/orcl/backup/%d_%u.arc' duration 8:00 mimimize load archivelog all delete all input; --归档日志备份完后,去除这些归档日志 } --磁带备份 run{ allocate channel t1 type sbt; allocate channel t2 type sbt; allocate channel t3 type sbt; allocate channel t4 type sbt; backup format '%d_%u.arc' database plus archivelog;} --归档日志备份 run{ allocate channel t1 type sbt; backup as backupset archivelog until time 'sysdate - 7';} –将7天前的归档日志备份到磁带中。 |
脱机备份
|
脱机备份在加载模式中完成,但是数据库必须被干净地关闭。
3.3 生成映像副本
Backup as copy database;
Backup as copy archivelog all delete all input;这条命令会将所有归档日志文件都复制到闪回恢复区。
3.4用于备份集和映像副本的标记(tag)
标记是一个逻辑名称,这个名称被用于引用一个备份集或一组映像副本。备份集和映像副本一旦生成就会被指派一个标记。
重写并指定标记 run{ allocate channel d1 type disk; backup as compressed backupset tablespace system,sysaux tag=dd_backup;} 根据标记删除不需要的备份集 Delete backupset tag=dd_backup; 重用标记 run{ allocate channel t1 type sbt; delete backupset tag monthly; backup as backupset database tag=monthly;} |
3.5增量备份
增量备份机制的基础是系统改变号。
增量备份不能应用于控制文件和归档文件,只能用于数据文件。
需要进行增量备份的原因:时间、空间以及对终端用户的影响。
增量备份的形式:
。增量0级备份:相当于一个完整备份,包含所有已用的数据文件块。
。增量1级差异备份:是默认的增量备份,包含从上一次备份(可以是0级增量备份, 1级差异备份, 1级累积备份)到最近的被更改的数据块。
。增量1级累积备份:包含从上一次0级增量备份到最近的被更改的数据块。
0级备份是后续的1级备份的基础。
0级备份 Backup incremental level 0 database; 1级差异备份 Backup incremental level 1 differential database; 1级累积备份 Backup incremental level 1 cumulative database; |
3.6 合并增量备份和映像副本
可以将增量备份应用于映像副本。
生成映像副本 Backup as copy incremental level 0 database tag db_whole_copy; 定期执行增量备份并将其应用于映像副本 run{ --1首先启动一个磁盘通道,接着生成数据库的增量备份 --并将其应用于原始备份(映像副本),随后删除了增量 --备份集。 --2使用标记标识与映像副本相关的备份,这意味着上述 --过程不会受正常的数据文件和归档日志备份调度的影响。 allocate channel d1 type disk; backup incremental level 1 for recover of copy with tag db_whole_copy database tag db_whole_upd; -- recover copy of database with tag db_whole copy; delete backupset tag db_copy_upd; } |
4、 块变化跟踪
增量备份的默认行为是完整地扫描要备份的数据文件,从而能够确定需要抽取的数据块。这种优点是允许RMAN查看块讹误,但是不能节省时间。
为了节省时间,需要启动块变化跟踪。
块变化跟踪:需要使用变化跟踪写入器后台进程(change tracking write,CTWR);CTWR进程在变化跟踪文件(change tracking file)的文件中记录所有已发生变化的数据块的地址。RMAN会在执行增量备份是通过读取变化跟踪文件来确定需要进行备份的数据块。
变化跟踪文件:默认在DB_CREATE_FILE_DEST参数所指定的目录;这个文件默认大小为10M,并且在需要时每次增大10M.
1启动块变化跟踪命令 sys@ORCL> alter database enable block change tracking using file 'e:\oracle\prod uct\10.2.0\oradata\orcl\change_tracking.dbf'; alter database enable block change tracking using file 'e:\oracle\product\10.2.0 \oradata\orcl\change_tracking.dbf' * 第 1 行出现错误: ORA-19752: 已经启用块更改跟踪 2监视块变化跟踪 sys@ORCL> select * from v$block_change_tracking;
STATUS FILENAME BYTES ---------- -------------------- ---------- ENABLED E:\TMP\TRACKING 11599872 |
5、 管理和监视rman备份
1.1 LIST, REPORT, DELETE 命令
。使用LIST命令列出已生成的备份。
命令 |
功能 |
RMAN> list backup; |
列出所有备份集。 |
RMAN> list copy; |
列出所有映像副本。 |
RMAN> list backup of database; |
列出数据库的所有备份集。 |
RMAN> list backup of datafile 1; RMAN> list backup of tablespace users; |
列出包含数据文件1的备份集以及包含user表空间备份。 |
RMAN> list backup of archivelog all; |
列出所有归档日志备份集备份。 |
RMAN> list copy of archivelog from time='sysdate-7'; |
列出最近7天生成的归档日志的映像副本。 |
RMAN> list backup of archivelog from sequence 10 until sequence 60; |
列出包含指定日志切换序列号的归档日志的所有备份集。 |
LIST命令最后可接VERBOSE(详细的)和SUMMARY(概要的)关键词。默认为VERBOSE。
。使用REPORT命令告知需要备份的对象。
命令 |
功能 |
RMAN> report schema; |
列出组成数据库的数据文件。 |
RMAN> report need backup; |
应用已配置的保留策略并列出所有为了符合该策略而至少需要一个备份的数据文件盒归档日志文件。 |
RMAN> report need backup days 3; |
列出3天内未进行备份的所有对象。 |
RMAN> report need backup redundancy 3; |
列出少于3个备份的所有文件。 |
RMAN> report obsolete; |
对此使用指定保留策略生成的RMAN备份,列出由于不再需要而需要被删除的备份 |
。使用DELETE命令删除不需要的备份。
命令 |
功能 |
RMAN> delete obsolete; |
删除被认为不再需要的备份 |
RMAN> delete obsolete redundancy 2; |
删除过多的备份 |
RMAN> delete backupset 4; RMAN> delete copy of datafile 6 tag file6_extra; |
通过数字或标记来删除单独的备份。 |
1.2 动态视图
视图 |
显示内容 |
v$backup_files |
每个已备份的文件和RMAN创建的每个备份片的记录。 |
v$backup_set |
每个备份集的记录 |
V$backup_piece |
每个备份片的记录 |
V$backup_redolog |
每个已备份的归档日志的记录 |
V$backup_spfile |
针对服务器参数文件生成的每个备份的记录 |
V$backup_device |
列出与rman连接的sbt设备的名称 |
V$rman_configuration |
除了默认值之外的每个配置的记录。 |
例子:管理备份
1 使用RMAN连接目标数据库 C:\>rman target /
恢复管理器: Release 10.2.0.1.0 - Production on 星期一 5月 7 11:13:43 2012
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到目标数据库: ORCL (DBID=1308114557) 2 设置保留策略 RMAN> configure retention policy clear;
旧的 RMAN 配置参数: CONFIGURE RETENTION POLICY TO REDUNDANCY 1; RMAN 配置参数已成功重置为默认值 3 删除所有备份集和映像副本 RMAN> delete backupset;
使用通道 ORA_DISK_1
备份段列表 BP 关键字 BS 关键字 Pc# Cp# 状态 设备类型段名称 ------- ------- --- --- ----------- ----------- ---------- 1 1 1 1 AVAILABLE DISK E:\ORCL_BACKUP\RMAN_BACKUP_USER01.DBF 5 5 1 1 AVAILABLE DISK E:\ORACLE\PRODUCT\10.2.0\FLASH_R ECOVERY_AREA\ORCL\BACKUPSET\2012_05_04\O1_MF_NNNDF_TAG20120504T143047_7T6XWRNZ_.BKP 6 6 1 1 AVAILABLE DISK E:\ORACLE\PRODUCT\10.2.0\FLASH_R ECOVERY_AREA\ORCL\BACKUPSET\2012_05_04\O1_MF_NCSNF_TAG20120504T143047_7T6Y1V00_.BKP
是否确定要删除以上对象 (输入 YES 或 NO)? yes 已删除备份段 备份段 handle=E:\ORCL_BACKUP\RMAN_BACKUP_USER01.DBF recid=1 stamp=781801195 已删除备份段 备份段 handle=E:\ORACLE\PRODUCT\10.2.0\ FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2012_05_04\O1_MF_NNNDF_TAG20120 504T143047_7T6XWRNZ_.BKP recid=5 stamp=782404248 已删除备份段备份段 handle=E:\ORACLE\PRODUCT\10.2.0\ FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2012_05_04\O1_MF_NCSNF_TAG20120 504T143047_7T6Y1V00_.BKP recid=6 stamp=7824044103 对象已删除
RMAN> delete copy;
释放的通道: ORA_DISK_1 分配的通道: ORA_DISK_1 通道 ORA_DISK_1: sid=139 devtype=DISK 说明与恢复目录中的任何存档日志均不匹配
4 根据已配置的保留策略,列出需要备份的项 RMAN> report need backup;
RMAN 保留策略将应用于该命令 将 RMAN 保留策略设置为冗余 1 文件冗余备份少于1个 文件 #bkps 名称 ---- ----- ----------------------------------------------------- 1 0 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DATAFILE\O1_MF_SYSTEM_7RBDD3PY_ .DBF 2 0 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DATAFILE\O1_MF_UNDOTBS1_7RBDDGN 0_.DBF 3 0 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DATAFILE\O1_MF_SYSAUX_7RBDDK4D_ .DBF 4 0 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DATAFILE\O1_MF_USERS_7RBDDPSW_. DBF 5 0 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DATAFILE\OCP10GDATA01.DBF 6 0 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DATAFILE\UNDO02.DBF 7 0 E:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\UNDO_NG01.DBF 8 0 E:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\UNDO_G01.DBF 5 选择一个数据文件进行备份 RMAN> backup datafile 6;
启动 backup 于 07-5月 -12 使用通道 ORA_DISK_1 通道 ORA_DISK_1: 启动全部数据文件备份集 通道 ORA_DISK_1: 正在指定备份集中的数据文件 输入数据文件 fno=00006 name=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DATAFILE\UNDO0 2.DBF 通道 ORA_DISK_1: 正在启动段 1 于 07-5月 -12 通道 ORA_DISK_1: 已完成段 1 于 07-5月 -12 段句柄=E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2012_05_07\O1 _MF_NNNDF_TAG20120507T113832_7TGJXS0H_.BKP 标记=TAG20120507T113832 注释=NONE 通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:03 完成 backup 于 07-5月 -12
启动 Control File and SPFILE Autobackup 于 07-5月 -12 段 handle=E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\AUTOBACKUP\2012_05_0 7\O1_MF_S_782653116_7TGJXWRF_.BKP comment=NONE 完成 Control File and SPFILE Autobackup 于 07-5月 -12 6 重复4,已备份的文件不会再被列出 RMAN> report need backup;
RMAN 保留策略将应用于该命令 将 RMAN 保留策略设置为冗余 1 文件冗余备份少于1个 文件 #bkps 名称 ---- ----- ----------------------------------------------------- 1 0 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DATAFILE\O1_MF_SYSTEM_7RBDD3PY_ .DBF 2 0 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DATAFILE\O1_MF_UNDOTBS1_7RBDDGN 0_.DBF 3 0 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DATAFILE\O1_MF_SYSAUX_7RBDDK4D_ .DBF 4 0 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DATAFILE\O1_MF_USERS_7RBDDPSW_. DBF 5 0 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DATAFILE\OCP10GDATA01.DBF 7 0 E:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\UNDO_NG01.DBF 8 0 E:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\UNDO_G01.DBF 7 列出已生成的备份 RMAN> list backup;
备份集列表 ===================
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间 ------- ---- -- ---------- ----------- ------------ ---------- 7 Full 168.00K DISK 00:00:02 07-5月 -12 BP 关键字: 7 状态: AVAILABLE 已压缩: NO 标记: TAG20120507T113832 段名:E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2012_05_07\O1_M F_NNNDF_TAG20120507T113832_7TGJXS0H_.BKP 备份集 7 中的数据文件列表 文件 LV 类型 Ckp SCN Ckp 时间 名称 ---- -- ---- ---------- ---------- ---- 6 Full 1587412 07-5月 -12 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DATAF ILE\UNDO02.DBF
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间 ------- ---- -- ---------- ----------- ------------ ---------- 8 Full 6.83M DISK 00:00:01 07-5月 -12 BP 关键字: 8 状态: AVAILABLE 已压缩: NO 标记: TAG20120507T113836 段名:E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\AUTOBACKUP\2012_05_07\O1_ MF_S_782653116_7TGJXWRF_.BKP 包括的控制文件: Ckp SCN: 1587418 Ckp 时间: 07-5月 -12 包含的 SPFILE: 修改时间: 07-5月 -12 8 根据已配置的保留策略,报告和删除不再需要的备份 RMAN> report obsolete;
RMAN 保留策略将应用于该命令 将 RMAN 保留策略设置为冗余 1 未找到已废弃的备份
RMAN> delete obsolete;
RMAN 保留策略将应用于该命令 将 RMAN 保留策略设置为冗余 1 使用通道 ORA_DISK_1 未找到已废弃的备份 |
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9537053/viewspace-723072/,如需转载,请注明出处,否则将追究法律责任。