什么是完全备份,差异备份,增量备份 详细03

如题所述

从备份策略来讲,现在的备份可分为三种:完全备份,差异备份,增量备份,累积备份,现在来讲讲这几种备份之间的区别: 完全备份:指的是拷贝给定计算机或文件系统的所有文件,而不管它是否改变。 差异备份:只备份在上一次完全备份后有变化的部分数据。 增量备份:备份上一次备份后增加、改动的部分数据,增量备份可以分为:累积增量备份和非累积增量备份。 累加备份:采用数据库的管理方式,记录累积每个时间点的变化,并把变化后的值备份到相应的数组中,这种备份方式可恢复到指点的时间点。 一般在使用过程中,这三种策略常结合使用,常用的方法有:完全备份、完全备份加增量备份、完全备份加差异备份、完全备份加累加备份。 完全备份会产生大量数据移动,选择每天完全备份的客户经常直接把磁带介质连接到每台计算机上(避免通过网络传输数据)。这样,由于人的干预(放置磁带或填充自动装载设备),磁带驱动器很少成为自动系统的一部分。其结果是较差的经济效益和较高的人力花费。 完全备份加增量备份源自完全备份,不过减少了数据移动,其思想是较少使用完全备份。比如说在周六晚上进行完全备份(此时对网络和系统的使用最小)。在其它6 天(周日到周五)则进行增量备份。增量备份会问这样的问题:自昨天以来,哪些文件发生了变化?这些发生变化的文件将存储在当天的增量备份磁带上。 使用周日到周五的增量备份能保证只移动那些在最近24 小时内改变了的文件,而不是所有文件。由于只有较少的数据移动和存储,增量备份减少了对磁带介质的需求。对客户来讲则可以在一个自动系统中应用更加集中的磁带库,以便允许多个客户机共享昂贵的资源。然而,当恢复数据时,困难产生了。 在完全+增量方法下,完整的恢复过程首先需要恢复上周六晚的完全备份。然后再覆盖自完全备份以来每天的增量备份。该过程最坏的情况是要设置7 个磁带集(每天一个)。如果文件每天都改的话,需要恢复7 次才能得到最新状态。 由于完全+增量方法中恢复很困难,后来有了完全+差异方法。差异成为备份过程考虑的问题。增量备份考虑:自昨天以来哪些文件改变了?而差异方法考虑:自完全备份以来哪些文件发生了变化?对于完全备份后立即的备份过程(本例中周六),因为完全备份就在昨天,所以这两个问题的答案是相同的。但到了周一,答案不一样了。增量方法会问:昨天以来哪些文件改变了?并备份24 小时内改变了的文件。差异方法问:完全备份以来哪些文件改变了?然后备份48 小时内改变了的文件。到了周二,差异备份方法备份72 小时内改变了的文件。 在Tivoli 存储管理器之前,客户被迫在完全备份、完全+增量备份和完全+差异备份间权衡。许多客户在管理时都会混合和匹配这三种方法,试图得到期望的可重获性水平。 Tivoli 存储管理器引入了一个新范例叫累加备份方法。累加方法提出增量问题:自昨天以来哪些文件改变了?并把结果放到存储管理器数据库中。这样当首次用累加方法备份文件系统或计算机时,由于Tivoli 存储管理器以前未曾备份,所有的文件都将移动。当备份拷贝发送到Tivoli 存储管理器服务器时,每个文件单独存放在数据库中。文件名信息、所有者和安全信息、创建和修改时间,以及拷贝自身都放置在Tivoli 存储管理器服务器连续存储分层结构中(参见图8)。如果客户策略要求拷贝到磁带上,Tivoli 存储管理器数据库将记录磁带的条形码、起始块地址和文件长度。 在初始的备份后,将只考虑增量问题(不再进行完全拷贝)。每天将只移动上次备份操作后改变了的文件。并且,文件发送到Tivoli 存储管理器服务器后被单独存放在数据库中。当需要拷贝到磁带时,Tivoli 存储管理器服务器查询数据库,确定从前的拷贝在哪一个磁带上。一旦确定,将对该磁带进行再设置并把新拷贝附加在磁带末尾。这种对备份拷贝的收集都来自于同一台计算机或文件系统,于是形成了所谓的排列组。每天,改变的文件累加到排列组中(见图)。 现在让我们来看恢复操作。恢复操作的目标是让文件系统或计算机回到期望的某一时间点。常见的情况是客户期望的时间点就是最近某时刻。在累加备份方法下,完成一个完全的恢复操作只需告诉Tivoli 存储管理器服务器期望的时间点。利用时间点信息,Tivoli 存储管理器服务器查询数据库中文件集合,看它们是否在期望的时间点上。这些文件存在于同一个排列组上,通常也位于一个(或少数几个)磁带上。设置了正确的磁带后,数据库指定每个文件的长度和起始块位置。大多数现代的磁带驱动器都具有快速扫描功能,能迅速定位到期望的备份拷贝并执行恢复操作,这样只移动了期望的文件。您可以把该过程看作完全系统操作中一个完整的恢复过程。该过程就象在期望的时间点做了完全备份一样。 累加备份采用增量,提供了备份效率;采用排列组,提高了介质管理效率;准确地只移动期望的文件,提高了恢复效率。该方法最大的功效还在于:累加方法并不需要在一个完全备份后才能开始恢复过程,也就是说并不需要周期性地建立完全备份拷贝。而对完全+增量或完全+差异方法,无论是否改变,每周都要移动和存储大量数据。有了累加备份方法,就不需要这样做了。于是客户节省了大量的网络带宽(LAN、WAN或SAN)、磁带介质和时间。 不同的软件有不同的备份特点,客户可根据自己的数据特点,选择适合自己的软件或备份策略。 在rman 增量备份中,有差异增量和累积增量的概念 1、概念 差异增量:是备份上级及同级备份以来所有变化的数据块,差异增量是默认增量备份方式 累积增量:是备份上级备份以来所有变化的块…… Oracle 增量备份与恢复 在rman 增量备份中,有差异增量和累积增量的概念 1、概念 差异增量:是备份上级及同级备份以来所有变化的数据块,差异增量是默认增量备份方式 累积增量:是备份上级备份以来所有变化的块 因为累积增量是备份上级备份以来所有变化的数据块,所以累积增量需要更多的备份时间,同时需要较小的恢复时间;而差异增量正好相反,它可以备份同级备份以来变化的数据块。所以会减少备份时间,但需要更多的恢复时间.在oracle 9 中增量备份需要通过扫描整个数据库的数据块才能知道哪些数据块发生了变化,这是一个代价很大,时间很长的过程,而且由于增量备份形成多个不同的备份集,使恢复变得更加不可靠,所以增量备份在版本9 中仍然不被推荐使用;在10g 中,增量备份作了很大的改进,不需要再扫描所有数据块就能得知哪些数据块发生变化,从而大大提升备份效率。但这些却以牺牲磁盘i/o 为代价,所以在oltp 事务系统中还得衡量是否愿意以i/o 为代价来保证安全及高可用性。10g 还支持增量合并,增量备份可支持7 级增量。 2、备份策略及恢复 以rman 多级增量备份来作为备份策略例子: 增量备份都需要一个0 级备份来作为基础,0 级备份与全备份的区别在于0 级可以用来增量恢复,而全备份则不可以。 备份策略: eg:我们对一星期做如下备份策略 ,那么差异增量只需要使用星期天的0 级,星期三的一级,星期四、五的二级就可以恢复,累积增量则需要星期天的0 级,星期五的二级即可进行恢复。以上是一个星期的备份策略,如果做长期的备份策略则只需要把备份的时间延长即可得到新的备份策略,具体需要看自己备份及恢复能够接受的程度而顶,见最后的备份策略典型案例。 星期天 0 级 0 级 星期一 2 级 2 级 星期二 2 级 2 级 星期三 1 级 1 级 星期四 2 级 2 级 星期五 2 级 2 级 星期六 2 级 2 级 星期天 0 级 0 级 备份命令如下: 零级备份 backup incremental level 0 database; 一级差异增量 backup incremental level 1 database; 一级累计增量 backup incremental level 1 cumulative database; 备份策略典型案例: 每半年做一个数据库的全备份(包括所有的数据和只读表空间) 每一个月做一次零级备份(不包含只读表空间) 每个星期做一次一级备份 每天做一次二级备份 任何数据库的更改需要重新同步CATALOG目录并重新备份(如添加数据文件)或重新备份(如修改表空间为只读) 建议备份一段时间归档日志和定期备份归档到到磁带上 全库备份脚本 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; } 如果按照以上备份策略,则每天的所需要备份的数据量只有一天的改变量。而做恢复时最多要恢复当月的一个零级备份+三个一级备份+6 个二级备份+当天的归档文件。
温馨提示:答案为网友推荐,仅供参考
相似回答