<style type="text/css">
<!--
p
{margin-bottom:0.21cm}
-->
</style>
备份集(BackupSet)
rman提供的一种存储备份信息的逻辑结构。
可以存储一个或多个文件的备份信息。
备份集由一个或多个备份片组成,每个备份片对应一个OS文件。
备份集只包含数据文件已用数据块的信息,而不包含空数据块,因此更节省存储空间。
备份集不仅可以存放到磁盘,而且可以存放到磁带。
默认每个备份集只包含一个备份片。
如果将一个备份集存储到多个存储设备上,可以将备份集分为几个备份片,每个备份片分布到不同磁盘/带上。
备份片(BackupPiece)
存储备份集信息的二进制文件。
可以包含多个文件。
备份集由一个或多个备份片组成。
映像副本(ImageCopy)
类似于用户管理的备份,是单个数据文件,单个控制文件或单个归档日志的完整备份文件,会占用更多的空间。
只能备份到磁盘,不能备份到磁带。
完全数据库备份集
数据库一致性备份与非一致性备份参考基于用户管理的备份与恢复
1)一致性备份
[oracle@localhost~]$ rman target sys/oracle@oralife nocatalog
RMAN>shutdown immediate
RMAN>startup mount
RMAN>backup database format='/oracle/10g/oracle/rman/%d_%s.dbf';
2)非一致性备份
RMAN>backup database format='/oracle/10g/oracle/rman/%d_%s.dbf';
RMAN>sql 'alter system archive log current';
3)免除表空间
RMAN>configure exclude for tablespace testspc;
RMAN>backup database format='/oracle/10g/oracle/rman/%d_%s.dbf';
RMAN>sql 'alter system archive log current';
表空间备份集
只适用于archivelog模式
数据库必须处于open状态
RMAN>backup tablespace systemformat='/oracle/10g/oracle/rman/%d_%N_%s.dbf';
数据文件备份集
数据库可以处于mount或open状态
RMAN>backup datafile 5 format='/oracle/10g/oracle/rman/%d_%N_%f_%s.dbf';
控制文件备份集
备份当前控制文件
RMAN>backup current controlfileformat='/oracle/10g/oracle/rman/%d_%s.ctl';
备份数据文件1时,会自动备份当前控制文件。
备份其他数据文件时,通过指定includecurrent controlfile同时备份控制文件。
RMAN>backup datafile 5 format='/oracle/10g/oracle/rman/%d_%s.dbf'
2>include current controlfile;
spfile备份集
RMAN>backup spfile format='/oracle/10g/oracle/rman/%d_%s.par';
归档日志备份集
如备份过去一天所产生的归档日志:
RMAN>backup format='/oracle/10g/oracle/rman/%d_%s.arc'
2>archivelog from time='sysdate-1' until time='sysdate';
并行化备份集
使用configure命令或allocatechannel命令配置多个通道,如:
RMAN>configure device type disk parallelism 3;
RMAN>backup database format='/oracle/10g/oracle/%d_%s.dbf';
RMAN>configure device type disk clear;
建立多重备份
默认只会生成一个备份副本。
备份表空间system,并生成3个备份副本示例:
RMAN>backup copies 3 tablespace system
2>format='/oracle/%d_%s.dbf','/oracle/10g/%d_%s.dbf','/oracle/10g/oracle/%d_%s.dbf';'
可以存储到不同的磁盘。
备份备份集
RMAN>backup backupset 32 format='/oracle/10g/oracle/rman/%d_%s.bak';
建立多个备份片
RMAN>configure channel device type sbt maxpiecesize 4G;
RMAN>backup device type sbt format '%d_%s_%p.dbf' database; --需要指定%p匹配符
建立压缩备份集
使用ascompressed backupset选项。
能够节省存储空间,但会增加cpu开销。
RMAN>backup as compressed backupset
2>tablespace sysaux format='/oracle/10g/oracle/rman/%d_%s.dbf';
备份数据文件和归档日志
备份数据文件时可以通过指定plusarchivelog同时备份归档日志。
示例:备份表空间user及相关归档日志
RMAN>backup format '/oracle/10g/oracle/rman/%d_%s.bak'
2>tablespace user plus archivelog;
指定备份集标记
RMAN>backup format '/oracle/10g/oracle/rman/%d_%s.bak'
2>tablespace user tag='user';
<style type="text/css">
<!--
p
{margin-bottom:0.08in}
-->
</style>
<style type="text/css">
<!--
p
{margin-bottom:0.21cm}
-->
</style>
建立映像副本
建立数据文件映像副本
使用backupas copy或copy
RMAN>backup as copy format='/oracle/10g/oracle/rman/df_5.dbf' datafile 5;
RMAN>copy datafile 5 to '/oracle/10g/oracle/rman/df_5_.dbf';
建立控制文件映像副本
使用backupas copy或copy
RMAN>backup as copy format='/oracle/10g/oracle/rman/oralife_.ctl'
2>current controlfile;
RMAN>copy current controlfile to '/oracle/10g/oracle/rman/oralife__.ctl';
建立归档日志映像副本
SQL>set linesize 200
SQL>column name for a80
SQL>Select name, sequence#, first_change# FROM v$archived_log;
NAME SEQUENCE# FIRST_CHANGE#
------------------------------------------------------------------------------------------ -------------
/oracle/10g/oracle/log/archive_log/archive_1_21_757801926.arclog 21 735494
/oracle/10g/oracle/log/archive_log2/archive_1_21_757801926.arclog 21 735494
使用backupas copy或copy
示例备份日志序列号为88的归档日志:
RMAN>backup as copy format='/oracle/10g/oracle/rman/arc88.arc'
2>archivelog sequence 88;
RMAN>copy archivelog'/oracle/10g/oracle/log/archive_log2/archive_1_88_757801926.arclog'
2>to '/oracle/10g/oracle/rman/arc88_.arc'
3>;
并行化建立映像副本
使用backupas copy或copy
RMAN>configure device type disk parallelism 3;
RMAN>backup as copy format='/oracle/10g/oracle/rman/df_%f.dbf' datafile5,6,7;
RMAN>configure device type disk clear;
指定映像副本标记
使用backupas copy或copy
RMAN>backup as copy format='/oracle/10g/oracle/rman/df_%f_file.dbf'
2>datafile 5 tag=df_5;
RMAN>copy datafile 5 to '/oracle/10g/oracle/rman/df_%f_file5.dbf'
2>tag=df_file5;
增量备份与累积备份
增量备份:增量备份是指备份更低级别或相同级别最近一次备份以来变化的数据块,增量备份的基础是增量0级备份。
如:周日增量0级备份,周一、周二增量2级备份,周三增量一级备份,周4、周5、周六增量2级备份;
那么周日进行增量0级备份时会备份所有已用块;当周一执行增量2级备份时,会备份周一变化的所有数据块;当周二执行增量2级备份时,会备份周二变化的所有数据块;当周三执行1级增量备份时,会包含之前的所有增量2级备份,即会备份周日到周三之间变化的所有数据块。周4、周5、周六也同样如此。
要执行增量备份,backup要带有incrementallevel选项。
示例:
RMAN>backup incremental level 0 format='/oracle/10g/oracle/rman/%d_%s_inc.dbf'
2>tablespace users;
RMAN>backup incremental level 2 format='/oracle/10g/oracle/rman/%d_%s_inc.dbf'
2>tablespace users;
RMAN>backup incremental level 1 format='/oracle/10g/oracle/rman/%d_%s_inc.dbf'
2>tablespace users;
累积备份:累积备份是指备份更低级别或n-1级别最近一次备份以来变化的数据块。
增量备份可降低备份时间,但如果同一级别增量备份很多,当执行恢复时需要转储更多的备份集,这需要更多的恢复时间。
累积备份需要消耗更多时间,但在恢复时需要转储较少的备份集,可以减少恢复时间。
累积备份需要cumulative选项。
示例:在users表空间上依次执行增量0级、增量2级、累积2级、增量1级备份,
RMAN>backup incremental level 0 format='/oracle/10g/oracle/rman/%d_%s_inc.dbf'
2>tablespace users;
RMAN>backup incremental level 2 format='/oracle/10g/oracle/rman/%d_%s_inc.dbf'
2>tablespace users;
RMAN>backup incremental level 2cumulativeformat='/oracle/10g/oracle/rman/%d_%s_inc.dbf'
2>tablespace users;
RMAN>backup incremental level 1 format='/oracle/10g/oracle/rman/%d_%s_inc.dbf'
2>tablespace users;
<style type="text/css">
<!--
p
{margin-bottom:0.21cm}
-->
</style>
显示备份信息
v$archived_log
显示归档日志信息
SQL>col name format a100
SQL>select sequence#,name,first_change# from v$archived_log
2 where status='A';
v$backup_datafile
显示控制文件和数据文件的备份信息。关联v$backup_datafile,v$backup_piece显示所有数据文件的备份片信息:
SQL>col handle format a30
SQL>select a.file#,b.handle,a.blocks*a.block_size byte
2 from v$backup_datafile a,v$backup_piece b
3 where a.set_stamp=b.set_stamp and b.status='A';
file#标识数据文件(0表示控制文件),handle用于标识备份片所对应的文件名,set_stamp用于唯一标识备份集。
v$backup_redolog
显示归档日志备份集的信息。每个归档日志备份集可以包含一个或多个归档日志。关联v$backup_piece,v$backup_redolog显示备份文件所包含的归档日志备份信息:
SQL>select distinct a.handle,b.sequence#,b.first_change#,b.blocks
2 from v$backup_piece a,v$backup_redolog b
3 where a.set_stamp=b.set_stamp and a.status='A';
handle用于标识备份片所对应的文件名,set_stamp用于唯一标识备份集,sequence#用于标识日志序列号,first_change#用于标识起始scn值。
$backup_set和v$backup_piece
$backup_set显示备份集详细信息,v$backup_piece显示备份片详细信息。关联两者显示备份集所对应的备份片信息:
SQL>select b.handle,a.backup_type,a.pieces,a.elapsed_seconds
2 from v$backup_set a,v$backup_piece b
3 where a.set_stamp=b.set_stamp and b.status='A';
handle用于标识备份片所对应的文件名,set_stamp用于唯一标识备份集,backup_type用于标识备份片类型(D:数据文件完全备份,I:数据文件增量备份,L:归档日志备份),pieces标识备份片个数,elapsed_seconds标识消耗时间。
v$backup_corruption
显示执行backup命令时所检测到的损坏数据块信息。
SQL>select file#,block#,blocks,marked_corrupt
2 from v$backup_corruption;
block#标识损坏块的起始块编号,blocks标识被损坏的连续块个数。marked_corrupt是否标记为损坏(yes,是no,否)。
v$copy_corruption
显示执行copy命令时所检测到的损坏数据块信息。
SQL>select file#,block#,blocks,marked_corrupt
2 from v$copy_corruption;
分享到:
相关推荐
以下是对"RMAN备份脚本(详细)"的详细说明,以及如何在实际生产环境中应用这些脚本。 首先,了解RMAN的基本概念: 1. **通道(Channels)**:RMAN通过通道来执行备份和恢复任务,每个通道可以连接到一个设备,如...
RMAN备份命令详解 RMAN(Recovery Manager)是Oracle数据库备份和恢复的工具,提供了多种备份方式和恢复选项。下面是RMAN备份命令的详细解释: 一、切换服务器归档模式 在开始备份之前,需要切换服务器到归档模式...
二、RMAN备份基础 1. 连接RMAN:首先,我们需要连接到RMAN环境。可以使用以下命令: ``` rman target / ``` 或者 ``` rman target sys/password@database_name ``` 2. 创建备份集:RMAN的基本备份单位是备份...
Oracle 11g R2 的 RMAN (Recovery Manager) 是 Oracle 数据库管理系统中的一个关键工具,主要用于数据库的备份和恢复。RMAN 提供了一种高效且灵活的方式来管理和保护数据库,确保在数据丢失或系统故障时能够快速恢复...
RMAN 备份与恢复 RMAN(Recovery Manager)是 Oracle 官方提供的一种备份和恢复工具,旨在帮助数据库管理员快速、可靠地备份和恢复数据库。下面将详细介绍 RMAN 备份与恢复的相关知识点。 一、RMAN 连接 RMAN ...
本文将详细介绍Oracle数据库的RMAN备份与恢复技术,并探讨如何制定有效的备份策略。 首先,我们需要了解Oracle数据库的备份方式。Oracle数据库支持物理备份和逻辑备份两种方式。物理备份指的是对数据库文件进行备份...
《Oracle Database 11g RMAN备份与恢复》PDF版本下载
【RMAN备份详解】 在Oracle数据库管理中,RMAN( Recovery Manager)是一个强大的工具,用于执行数据库备份、恢复和维护任务。RMAN充分利用了Oracle数据库的特性,提供了一种高效且灵活的备份策略。 1. **数据库...
本文将深入探讨RMAN备份与恢复的基本概念、操作步骤以及实用案例。 一、RMAN备份基础 RMAN是Oracle数据库自带的一个命令行工具,它可以执行多种类型的备份,包括完整数据库备份、增量备份、表空间备份、数据文件...
### Oracle 11g RMAN备份与恢复初步方案解析 #### 一、RMAN备份与恢复概述 **RMAN(Recovery Manager)**是Oracle提供的一种强大工具,主要用于数据库的备份、还原及恢复操作。RMAN支持从Oracle 8及更高版本的...
rman备份恢复详解 RMAN(Recovery Manager)是一种Oracle数据库备份和恢复工具,能够帮助DBA快速备份和恢复数据库。下面将详细介绍RMAN自动备份和恢复的相关知识点。 一、为什么需要设置自动归档模式? 在使用...
ORACLE 数据库 RMAN 备份恢复 ORACLE 数据库 RMAN 备份恢复是指使用 ORACLE 的 Recovery Manager(RMAN)工具对数据库进行备份和恢复的过程。RMAN 是 ORACLE 数据库管理系统中的一种备份和恢复工具,能够对数据库...
本文将深入探讨“rman备份脚本(已测试)”这一主题,包括RMAN的基本概念、备份脚本的构成、以及如何在生产环境中应用。 RMAN是Oracle数据库自带的一个命令行工具,它提供了全面的数据保护方案,支持多种备份类型,如...
以下是Oracle RMAN备份与恢复的相关知识点: 备份恢复概述 备份恢复是DBA管理员的基本技能之一,旨在保护数据库中的数据免受意外损坏或丢失。 Oracle RMAN提供了强大的备份和恢复功能,帮助DBA管理员快速恢复...
### Oracle数据库Rman备份方案详解 #### 一、概述 Oracle RMAN(Recovery Manager)是一种功能强大的工具,用于管理Oracle数据库的备份、恢复及灾难恢复。本文将详细介绍如何使用RMAN来制定Oracle数据库的备份策略...
本文详细讲解了 RMAN 的备份机制以及如何备份,涵盖了数据库备份和 RMAN 备份的概念、RMAN 备份的类型、备份集和镜像副本、备份路径、备份限制等知识点。 一、数据库备份与 RMAN 备份的概念 数据库备份是指将...
"Linux环境下RMAN备份实例脚本" 本文档介绍了在Linux环境下使用RMAN进行数据库备份的实例脚本。RMAN(Recovery Manager)是Oracle数据库中的一个备份和恢复工具,用于管理和维护数据库的备份和恢复。 背景 _target...
RMAN备份与恢复步骤 RMAN(Recovery Manager)是Oracle数据库的备份和恢复工具,它提供了强大的备份和恢复功能。在本文中,我们将详细介绍RMAN的备份和恢复步骤。 切换服务器归档模式 在开始备份之前,我们需要将...
Oracle 数据库 RMAN 备份方案 Oracle 数据库 RMAN 备份方案是一个生产环境验证实施的备份解决方案,旨在保护 Oracle 数据库的数据安全和可用性。本方案通过使用 Oracle 的 RMAN 工具,提供了一个完整的备份和恢复...