关于oracle rman 备份脚本0级备份和 full backup 的区别

3936人阅读
Oracle Maintanance(11)
比较官方的说法
FullA backup of a datafile that includes every allocated block in the file being backed up. A full backup of a datafile can be an image copy, in which case every data block is backed up. It can also be stored in a backup set, in which case datafile blocks not in use may be skipped, according to rules in Oracle Database Backup and Recovery Reference.A full backup cannot be part of an increme that is, it cannot be the parent for a subsequent incremental backup.IncrementalAn incremental backup is either a level 0 backup, which includes every block in the file except blocks compressed out because they have never been used, or a level 1 backup, which includes only those blocks that have been changed since the parent backup was taken.A level 0 incremental backup is physically identical to a full backup. The only difference is that the level 0 backup is recorded as an incremental backup in the RMAN repository, so it can be used as the parent for a level 1 backup.
网上搜到的只言片语
The only difference between a level 0 backup and a full backup is that a full backup is never included in an incremental strategy. If no level 0 backup exists when you run a level 1 or higher backup, RMAN makes a level 0 backup automatically to serve as the base.
增量备份0级与全备份都是全备份,但是增量备份0级使用rman备份的话就只备份了used block,而全备份备份了used and unused block
总结一下,二者有两个地方不同
全备份不能被用作1级增量备份的基础
使用rman备份的时候,全备份备份了used and unused block,0级使用rman备份的话就只备份了used block
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:2013386次
积分:22204
积分:22204
排名:第236名
原创:174篇
转载:573篇
评论:386条
(2)(1)(1)(1)(1)(3)(1)(2)(6)(5)(5)(2)(2)(10)(1)(7)(5)(3)(3)(6)(9)(2)(12)(22)(10)(28)(35)(6)(19)(46)(22)(33)(8)(12)(3)(13)(20)(17)(28)(22)(12)(2)(23)(5)(2)(8)(85)(95)(69)(20)查看: 4150|回复: 14
RMAN备份时,全备份(FULL)与0级增量备份的区别
论坛徽章:0
这个问题我找了很多资料也没开明白,用RMAN做数据库的备份时,
用全备份(full )的方式当然可以进行全库的恢复。如果用0级的增量备份,那么是不是同样也可以进行全库的恢复呢?
对此,我做过测试,两者的恢复效果是一样的。那么,除了增量备份可以有不同的级别以外,就没什么区别了呢?
请教大侠。
论坛徽章:86
可以看做没什么差异
论坛徽章:3
0级别不包含只读表空间
论坛徽章:9
我也觉得没什么区别,你用RMAN做备份时,特别是在Oracle10g中
论坛徽章:136
0级备份可以做为增量备份的基础,full备份不行,其余的一样
招聘 : 论坛徽章:9
棉花糖,回去休息了,这么勤快的!
认证徽章论坛徽章:76
最初由 棉花糖ONE 发布
[B]0级备份可以做为增量备份的基础,full备份不行,其余的一样 [/B]
论坛徽章:19
yes。增量备份用的。
论坛徽章:1
这么老的帖子都给翻出来了。。
论坛徽章:25
前不久刚刚贴出来过
itpub.net All Right Reserved. 北京皓辰网域网络信息技术有限公司版权所有    
 北京市公安局海淀分局网监中心备案编号: 广播电视节目制作经营许可证:编号(京)字第1149号查看: 3670|回复: 17
关于oracle
rman0级备份和 full backup 的区别?
认证徽章论坛徽章:3
关于oracle&&rman0级备份和 full backup 的区别?
首先 我知道2者不大一样。 0级备份时 增量备份的一个基础,且只备份使用过的block。
&&各位大神,我的疑问如下:
我们一个库大小约230G&&我用rman 0级备份完后,发现才有140G的大小,觉得有点问题,所以论坛求助下各位大神,谢谢大家了。
& &另注:我的rman脚本如下:rman target / log /nfs/prodbak_full_db_2_12_27_full_db_bak.log append &&EOF
allocate channel ch00
backup incremental level=0 skip inaccessible tag=hot_db_bk_level0 format '/nfs/prodbak_full_db_/`date +%Y%m%d`_full_%d_%s_%p_%u.bak'
backup format '`date +%Y%m%d`_cntrlfile_%s_%p.bak'
release channel ch00;
认证徽章论坛徽章:488
CONFIGURE BACKUP OPTIMIZATION ON在rman中设置了吗?
认证徽章论坛徽章:3
guoyJoe 发表于
CONFIGURE BACKUP OPTIMIZATION ON在rman中设置了吗?
您好&&设置了&&这个参数是打开着的
认证徽章论坛徽章:488
kunlunzhiying 发表于
您好&&设置了&&这个参数是打开着的
备份的优化开起来,那么在rman备份将自动跳过某些文件,而不会再将它们包含在备份集中,这样就节省了时间和空间。能不备份的就不备份了,这个算法相当说复杂,建议你去看一Internal.
论坛徽章:70
guoyJoe 发表于
备份的优化开起来,那么在rman备份将自动跳过某些文件,而不会再将它们包含在备份集中,这样就节省了时间 ...
原来如此,一直没有了解过优化备份是什么意思,
认证徽章论坛徽章:3
guoyJoe 发表于
备份的优化开起来,那么在rman备份将自动跳过某些文件,而不会再将它们包含在备份集中,这样就节省了时间 ...
嗯 这个备份优化大概了解了 可是我的疑问是我用plsq查表空间查出来的已使用的是190G&&而我的0级全备份应该备的就是已使用和有变化的block&&但是这2者依然有差别,0级备出来的才140G ,而我在OS里查看到的所有dbf文件大小是230G。
认证徽章论坛徽章:3
vage 发表于
原来如此,一直没有了解过优化备份是什么意思,
vage 大哥 麻烦给解释下我的疑惑。 谢谢了
认证徽章论坛徽章:488
本帖最后由 guoyJoe 于
14:07 编辑
kunlunzhiying 发表于
嗯 这个备份优化大概了解了 可是我的疑问是我用plsq查表空间查出来的已使用的是190G&&而我的0级全备份应该 ...
用sql语句查出来的空间不准的,肯定偏大啊,它包括空块,或有些块没写满,都计算在使用空间上的啊。。。包括drop的数据也算在内的啊。而实际备出来的不算drop的数据啊,等等。。。。。
认证徽章论坛徽章:3
guoyJoe 发表于
用sql语句查出来的空间不准的,肯定偏大啊,它包括空块,或有些块没写满,都计算在使用空间上的啊。。。包 ...
恩恩&&我刚才用 backup full database format 'DIR_PATH';&&备份出来的也是差不多149G&&和我那个rman 0级备份 备出来的差不多大小 ,你说有问题吗? 着急
求大神给指点下 谢谢了。
论坛徽章:7
把查数据库文件大小的结果发上来
itpub.net All Right Reserved. 北京皓辰网域网络信息技术有限公司版权所有    
 北京市公安局海淀分局网监中心备案编号: 广播电视节目制作经营许可证:编号(京)字第1149号博客访问: 79907
博文数量: 44
注册时间:
痛并快乐着
ITPUB论坛APP
ITPUB论坛APP
APP发帖 享双倍积分
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: Oracle
Oracle数据库的逻辑备份ORACLE数据库有两类备份方法。
第一类为物理备份,该方法实现数据库的完整恢复,但数据库必须运行在归挡模式下(业务数据库在非归挡模式下运行),且需要极大的外部存储设备,例如磁带库;
第二类备份方式为逻辑备份,业务数据库采用此种方式,此方法不需要数据库运行在归挡模式下,不但备份简单,而且可以不需要外部存储设备。数据库逻辑备份方法ORACLE数据库的逻辑备份分为三种模式:表备份、用户备份和完全备份。
表模式备份某个用户模式下指定的对象(表)。业务数据库通常采用这种备份方式。若备份到本地文件,使用如下命令:
exp icdmain/icd rows=y indexes=n compress=n buffer=65536
feedback=100000 volsize=0
&file=exp_icdmain_csd_yyyymmdd.dmp
&log=exp_icdmain_csd_yyyymmdd.log
moninformation,icdmain.serviceinfo,icdmain.dealinfo
若直接备份到磁带设备,使用如下命令:
&exp icdmain/icd rows=y indexes=n compress=n buffer=65536
&feedback=100000 volsize=0
&file=/dev/rmt0
&log=exp_icdmain_csd_yyyymmdd.log
moninformation,icdmain.serviceinfo,icdmain.dealinfo
&注:在磁盘空间允许的情况下,应先备份到本地服务器,然后再拷贝到磁带。出于速度方面的考虑,尽量不要直接备份到磁带设备。
用户模式 备份某个用户模式下的所有对象。业务数据库通常采用这种备份方式。 若备份到本地文件,使用如下命令:
exp icdmain/icd owner=icdmain rows=y indexes=n compress=n buffer=65536
feedback=100000 volsize=0
file=exp_icdmain_yyyymmdd.dmp
&log=exp_icdmain_yyyymmdd.log
若直接备份到磁带设备,使用如下命令:
exp icdmain/icd owner=icdmain rows=y indexes=n compress=n buffer=65536
&feedback=100000 volsize=0
&file=/dev/rmt0
&log=exp_icdmain_yyyymmdd.log
注:如果磁盘有空间,建议备份到磁盘,然后再拷贝到磁带。如果数据库数据量较小,可采用这种办法备份。
&完全模式备份完整的数据库。业务数据库不采用这种备份方式。备份命令为:
exp icdmain/icd rows=y indexes=n compress=n buffer=65536
&feedback=100000 volsize=0 full=y
file=exp_fulldb_yyyymmdd.dmp(磁带设备则为/dev/rmt0)
log=exp_fulldb_yyyymmdd.log 对于数据库备份,建议采用增量备份,即只备份上一次备份以来更改的数据。增量备份命令:
exp icdmain/icd rows=y indexes=n compress=n buffer=65536
&feedback=100000 volsize=0 full=y inctype=incremental
file=exp_fulldb_yyyymmdd.dmp(磁带设备则为/dev/rmt0)
log=exp_fulldb_yyyymmdd.log
注:关于增量备份必须满足下列条件:
&1. 只对完整数据库备份有效,且第一次需要full=y参数,以后需要inctype=incremental参数。
&2. 用户必须有EXP_FULL_DATABASE的系统角色。
3. 话务量较小时方可采用数据库备份。
&4. 如果磁盘有空间,建议备份到磁盘,然后再备份到磁带。
业务数据库备份方法及周期用EXP进行备份前,先在SYS用户下运行CATEXP.SQL文件(如果以前已运行该文件,则不要执行这个脚本)。
&没有特殊说明,不允许在客户端执行备份命令。 备份命令参照表模式下的备份命令。
RMAN备份原理在之前,看了用户管理的备份恢复管理,通过以SCN为线索贯穿整个过程,来熟悉了备份原理。RMAN的备份过程和用户备份恢复管理有很大的区别,很多朋友了都没有理清楚原理下面的是我的理解:
RMAN备份数据块的工作原理:
&&& 原理:RMAN基于备份算法规则来编译要备份的数据文件列表。基于通道数和同时备份的数据文件数,RMAN在ORACEL共享内存段中创建一些内存缓冲区一般是在PGA中不过有时候内存缓冲区会被推入SGA。通道服务进程随后就开始读取数据文件,并在RMAN缓冲取中填充这些数据块。一个缓冲区被填满时,输入缓冲区的数据就会推出到输出缓冲区。数据文件中的搜索数据块都会都会发生这种memery—to—monery write 的过程,如果数据块符合备份的标准,并且memery—to—monery write操作没有检查到数据corruption则该数据块会被保存到输出数据缓冲区中,直到输出缓冲区被填满。一但输出缓冲区被填满,输出缓冲区的内容就会被推到备份位置(磁盘或者磁带)
&&&&&& RMAN备份数据库过程:&&& RMAN发出备份全库命令后,RMAN生成到目标数据库的bequeath连接,也就是说会检查ORACLA_SID变量中的实例名,并在该在实例上产生一个服务器进程,然后作为sysdba登陆,然后会产生一个作为备份的通道,(在PGA或者是在SGA分配存储)。随后RMAN调用SYS.DBMS_RCVMAN请求数据库结构信息,包括控制文件的信息(当前序列号,创建时间……)由于指定了备份全库,所以RMAN会请求数据库中数据文件信息,并判断是否存在offline数据文件(包括所在的位置和工作方式)。&&&
&&&&& RMAN开始备份,为了保持数据一致性RMAN必须构建控制文件快照,接下来RMAN调用DBMS _BACKUP_RESTORE数据包,该调用可
以创建备份片。RMAN拥有文件列表,所以它为数据文件读取操作分配内存缓冲区,分配缓冲区后RMAN初始化备份片。一旦初始化了备份片,RMAN会判断是否使用了服务器参数文件,如果使用了则会做为备份的一部分,还要备份控制文件,之后才开始备份数据文件,并将其推至内存。为了实现这一功能,通道进程在磁盘上执行预读取操作,并且将多个数据文件读入内存中,RMAN会判断数据块头信息是否仍然为零,如果数据块没有被使用过,就不会发生到输出缓冲区的写操作,同时会丢弃这个数据块(这就RMAN为什么会只备份使用过的数据的原因,也是它的优点)RMAN还会执行检查数据块有没有corruption操作。当检查通过了就被写入到输出缓冲区。一旦输出缓冲区填满了,就被推至备份文件位置。&&
&&&&& & 在备份数据块的时候,RMAN影子进程会得到备份状态信息。并将它传给V$session_longops视图。查询它能得到信息。&&&
&&&&&& 当数据文件的所有数据块都被读入输入缓冲区并确定了状态之后RMAN就会通过将这个数据文件写入备份片来结束该文件的备份操作。所有数据文件写入备份片之后,RMAN生成最后一个对SYS DBMS BACKUP RESTORE 数据包的调用,该调用在控制文件中写入备份信息(包括备份片名,启动备份操作时的检查点的SCN和完成备份的时间)&&& 至此完成备份!希望大家继续讨论RMAN备份恢复原理(RMAN功能太强大了)
阅读(1741) | 评论(0) | 转发(0) |
相关热门文章
给主人留下些什么吧!~~
请登录后评论。

我要回帖

更多关于 oracle 11g rman备份 的文章

 

随机推荐