ORACLE_OCP之执行备份
- 文章目标:
- 执行完整和增量备份
- 使用Oracle建议的备份策略
- 报告和管理备份
- 开始完善您的基本备份:
- 配置块更改跟踪
- 执行1级增量备份
- 恢复0级备份和1级增量备份
一、RMAN 备份类型
- 完整备份包含所有使用的数据文件的块。
- 0级增量备份等效于已标记为0级的完整备份。
- 累积增量备份(1级)仅包含自上次0级增量备份以来已修改的块。
- 差异增量备份(1级)仅包含自上次增量备份以来已修改的块。
二、差异增量备份(1级)
- 说明:
- 星期天:0级备份将备份此数据库中曾使用过的所有块
- 周一至周六:在星期一到星期六的每一天,1级差异增量备份将备份自级别1或0的最新增量备份以来已更改的所有块。星期一备份自星期日0级备份以来更改的块,星期二备份复制块自星期一1级备份以来发生了变化,以此类推
- 使用方法:
RMAN>backup incremental level 1 database format ‘/full/orcl_1-%d.%s.%p.%T’;
三、累计增量备份(1级)
- 说明:
- 星期天:0级备份将备份此数据库中曾使用过的所有块
- 周一至周六:1级累积增量备份会备份自最近的0级备份以来更改的所有块。
- 由于最新的0级备份是在星期日创建的,因此星期一到星期六每天的1级备份会备份自星期日备份以来更改的所有块。
- 使用方法:
RMAN>backup incremental level 1 cumulative database format ‘/full/orcl_1c-%d.%s.%p.%T’;
四、RMAN创建多级增量备份
-
RMAN可以如下创建多级增量备份:
- 差异:增量备份的默认类型,该备份类型是在级别1或级别0的最新增量备份之后备份所有块的更改的默认类型
- 累积:备份在级别0的最新备份之后更改的所有块
- 例子:
- 要在级别0上执行增量备份,请使用以下命令:
RMAN>BACKUP INCREMENTAL LEVEL 0 DATABASE
- 要在级别0上执行增量备份,请使用以下命令:
-
要执行差异增量备份,请使用以下命令:
RMAN>BACKUP INCREMENTAL LEVEL 1 DATABASE;
-
要执行累积增量备份,请使用以下命令:
RMAN>BACKUP INCREMENTAL LEVEL 1 CUMULATIVE DATABASE;
-
如果未指定FULL或INCREMENTAL,则RMAN默认情况下进行完整备份。将数据文件备份到备份集时,即使是完全备份,未使用的块压缩也会导致从未写入的块被跳过。
-
完全备份不会影响后续的增量备份,也不会被视为任何增量备份策略的一部分,尽管可以通过使用RECOVER命令应用增量备份来增量更新完全映像副本备份。
注意:可以执行处于NOARCHIVELOG模式的数据库的任何类型的备份(完全或增量备份),当然,数据库是不能打开的。另请注意,恢复仅限于上次备份的时间。仅当数据库处于ARCHIVELOG模式时,才能将数据库恢复到最后提交的事务。
五、增量更新的备份
- 镜像副本将使用所有更改进行更新,直到增量备份的SCN。
- 增量备份减少了介质恢复所需的时间。
- 对于增量更新的备份,可以在恢复操作期间使用SWITCH命令。
六、增量更新备份:示例
-
如果每天执行这些命令:
RMAN> recover copy of database with tag ‘daily_inc’;
RMAN> backup incremental level 1 for recover of copy
2> with tag ‘daily_inc’ database; -
这是结果:
七、快速增量备份
- 通过块更改的跟踪来实现, :
- 维护自上次备份以来已更改的数据块的记录
- 生成REDO时,将此记录写入文件
- 备份完成后自动访问,可以使备份更快地完成
- 针对多达八个增量备份进行了优化
- 如果数据库变化小于20%,建议使用
八、维护数据块变更跟踪文件
- DB_CREATE_FILE_DEST初始化参数提供了默认目标路径.
- 启用或禁用:
- ALTER DATABASE{ENABLE|DISABLE} BLOCK CHANGE TRACKING
[USING FILE ‘…’]
- ALTER DATABASE{ENABLE|DISABLE} BLOCK CHANGE TRACKING
- 使用ALTER DATABASE RENAME命令重命名块更改跟踪文件(数据库必须处于MOUNT状态)。
九、Monitoring Block Change Tracking
SQL> SELECT filename, status, bytes
2 FROM v$block_change_tracking;
SQL> SELECT file#, avg(datafile_blocks),
2 avg(blocks_read),
3 avg(blocks_read/datafile_blocks)
4 * 100 AS PCT_READ_FOR_BACKUP,
5 avg(blocks)
5 FROM v$backup_datafile
6 WHERE used_change_tracking = ‘YES’
7 AND incremental_level > 0
8 GROUP BY file#;
十、自动磁盘到磁盘备份和恢复
- 集成的磁盘到磁盘备份和恢复:用于快速恢复区的低成本磁盘
- 快速增量备份:仅备份更改的块
- 每晚增量备份前滚恢复区域的备份:无需执行完整备份
十一、Oracle建议的备份
- 提供基于备份目标的即用型备份策略
- 设置用于备份管理的恢复窗口
- 安排定期和即时备份:
十二、备份报告
- RMAN命令:
- LIST:显示有关记录在存储库中的备份集,代理备份和镜像副本的信息
- REPORT:对存储库进行详细分析
- REPORT NEED BACKUP:列出所有需要备份的数据文件
- REPORT OBSOLETE:标识不再满足备份保留策略的文件
- Enterprise Manager Cloud Control:
- Graphical, customizable interface
十三、Using Dynamic Views 使用动态性能视图
- 在目标数据库中查询以下动态视图,以获取有关备份的信息:
- V$BACKUP_SET:已经创建备份集
- V$BACKUP_PIECE:存在的备份片
- V$DATAFILE_COPY:磁盘上数据文件的副本
- V$BACKUP_FILES:有关创建备份时创建的所有文件的信息
十四、管理备份: Cross-Checking and Deleting
- 使用以下RMAN命令来管理备份:
- CROSSCHECK:针对磁盘或磁带之类的介质,验证记录在RMAN存储库中的备份和副本的状态
- DELETE EXPIRED:仅删除存储库中状态为EXPIRED的文件(已经被物理删除的数据库备份或归档日志备份等)
- DELETE OBSOLETE:删除不再需要的备份(已经不再满足备份策略的备份 包括数据库备份或归档备份)
- EXPIRED后面可以加BACKUP.OBSOLETE不可以加BACKUP;