几个概念问题- about RMAN backup

原创 2004年07月13日 23:01:00
几个概念问题,请赐教

看书看的一头雾水,都搞晕搞混淆掉了,特此求教。

1。 什么情况下需要重做控制文件,比如说,如果我无意中删除了一个数据文件,并且没有备份,而这个数据文件时空的,没有内容,那么,重做控制文件时,系统是否就会读取系统视图,把当前正常状态的文件重新纪录,从而使数据库可以恢复时用呢。

2。在做数据库备份(有关RMAN的)时,看到关于什么0级备份、一级备份等等的,什么是0级备份、一级备份,好像还有类似的词语,比如,在看增量备份(还是RMAN那部分讲的)时,说什么“同一级别、更低级别”等等,这是什么意思呢?

3。用EXP做增量备份、累计备份和RMAN当中讲的这个增量备份的概念有什么联系或区别么?


作者:snowhite2000    时间:02-04-06 06:53

看到你留给我的PM,我想在论坛上回答你的问题比较好。

1。 什么情况下需要重做控制文件,比如说,如果我无意中删除了一个数据文件,并且没有备份,而这个数据文件时空的,没有内容,那么,重做控制文件时,系统是否就会读取系统视图,把当前正常状态的文件重新纪录,从而使数据库可以恢复时用呢。

看到你的这个问题,白雪红尘一直就在拼命的想,曾经是重新建立过control file一次的,那次是因为要修改database name。

什么样的情况需要重新建立control file 呢:

1. database 所有的control files 全部丢失或损坏(这好像是不太可能,起码我没有碰到过丢失或损坏的情形)

2. 你需要改变一些建立database 的时候就定义好的parameter,比如
maxdatafiles, maxlogfiles, maxloghistory 之类的。

3. 想白雪那样,没有事情做偏偏想去改 database name 或者你要改全部的datafiles, logfiles 的 location,又偏偏想用recreate control file 来完成,比如你把一个database 克隆到另一个同样操作系统的机器,那个系统没有你当前的datafile 所在驱动碟。(例如,你在A系统上datafiles 全部在F drive, 你克隆到B系统,只有C drive 了)。当然这种情况你可以用其他方法完成,比方export/import。如果你愿意玩一下recreate control file 的游戏也可以。不过如果有read only 的tablespaces 这个游戏可不怎么好玩。虽然解决的方法也很简单。

4. 差点忘了,如果你的database 生病到你要Oracle support 帮你的忙,如果他让你重建control file,你大概就没有的选了。

其他的情形我还没有想到。你问题中说的情形,自不必通过recreate control file 来实现。

白雪红尘


作者:snowhite2000    时间:02-04-06 07:02

2。在做数据库备份(有关RMAN的)时,看到关于什么0级备份、一级备份等等的,什么是0级备份、一级备份,好像还有类似的词语,比如,在看增量备份(还是RMAN那部分讲的)时,说什么“同一级别、更低级别”等等,这是什么意思呢?

关于这个问题,我想我首先需要解释什么是RMAN 的 differential incremental backup 和 Cumulative Incremental backup.

Differential incremental backup: 是指对最近一次同一级别或更低级别的backup后所有变化过的blocks 进行backup. (我在学你问题中的话)。

Cumulative Incremental backup: 是指对最近一次同一级别减一级或更低级别的backup后所有变化过的blocks 进行backup.

关于备份的级别,只有 Level 0 的incremental backup 是一个基础的backup,是一次full backup。 其他 level 的数字则是相对的,没有固定的要求。

举个例子出来:
differential incremental backup
周日:level 0
周一:level 5
周二:Level 5
周三:level 3
解释为:周日是全备份,周一对从周日备份后有变化的blocks进行备份,对于周二来讲,最近一次同级或低级的备份是周一(都是level 5),所以是对周一备份后有变化的blocks进行备份;周三是level 3,最近一次同级或更低的备份是周日的level 0,所以是对从周日备份后有变化的blocks进行备份。如果把level 5 换成level 2, level 3 换成level 1, 结果是相同的。
Cumulative Incremental Backup
周日:level 0
周一:level 5
周二:Level 5
周三:level 3
周四:level 5
解释为:周日是全备份,周一对从周日备份后有变化的blocks进行备份,对于周二来讲,最近一次同级 - 1 或低级的备份是周日(level 5 - 1 是 level 4 或更低),所以还是对周日备份后有变化的blocks进行备份;周三是level 3,最近一次同级 - 1 或更低的备份是周日的level 0,所以是对从周日备份后有变化的blocks进行备份。而周四则是对周三备份之后的有变化的blocks进行备份,因为周三是level 3,低于 level 5 - 1。如果把level 5 换成level 2, level 3 换成level 1, 结果是相同的。


作者:weishouqun    时间:02-04-10 16:02

to 白雪红尘
请教
level 3的脚本怎么写?
我怎样让新建的level 3是基于level 0?
我在做增量备份时发现 level 3 提示找不到数据文件1的父备份或副本
然后生成的备份文件很大。好象不是level 3


作者:weishouqun    时间:02-04-10 16:13

我的脚本是这样写的
create script level0bak
{allocate channel d1 type disk;
backup incremental level 0
format 'd:/dbbak/a/df%s_%p' filesperset 5
(database include current controlfile);
release channel d1;
}
create script level1bak
{allocate channel d1 type disk;
backup incremental level 1
format 'd:/dbbak/a/df%s_%p' filesperset 5
(database include current controlfile);
release channel d1;
}
执行level 1时提示找不到数据文件1的父备份或副本
找不到数据文件2的父备份或副本
.
.
.
总之找不到所有数据文件的父备份或副本

请白雪红尘 指点一二


作者:lunar2000    时间:02-04-11 15:43

quote:
最初由 weishouqun 发布
我的脚本是这样写的
create script level0bak
{allocate channel d1 type disk;
backup incremental level 0
format 'd:/dbbak/a/df%s_%p' filesperset 5
(database include current controlfile);
release channel d1;
}
create script level1bak
{allocate channel d1 type disk;
backup incremental level 1
format 'd:/dbbak/a/df%s_%p' filesperset 5
(database include current controlfile);
release channel d1;
}
执行level 1时提示找不到数据文件1的父备份或副本
找不到数据文件2的父备份或副本
.
.
.
总之找不到所有数据文件的父备份或副本

请白雪红尘 指点一二




我来试试:
create script level0bak
{allocate channel d1 type disk;
backup incremental level 0
format 'd:/dbbak/a/df_full_%s_%p' filesperset 5
(database include current controlfile);
release channel d1;
}

create script level2bak
{allocate channel d1 type disk;
backup incremental level 2
format 'd:/dbbak/a/df_level2_%s_%p' filesperset 5
(database include current controlfile);
release channel d1;
}

create script level1bak
{allocate channel d1 type disk;
backup incremental level 1
format 'd:/dbbak/a/df_level1_%s_%p' filesperset 5
(database include current controlfile);
release channel d1;
}


作者:snowhite2000    时间:02-04-12 03:06

你在执行level 1 之前总有执行过一次level 0 吧。如果你没有执行过level 0 就没有办法执行level 1,对不对?


作者:lunar2000    时间:02-04-16 08:45

白雪,很旧没来了,哎


作者:snowhite2000    时间:02-04-16 09:44

欢迎,欢迎!


作者:bellsz    时间:02-05-13 17:09

关于RMAN,论坛上有个PDF,johnwuwuwu写的,很好

RMAN备份类型 - 备份集(backupset)和镜像副本(Image copy)

转自:http://space.itpub.net/35489/viewspace-675041 RMAN备份类型一:备份集(backup set) 备份集 (backup set): 是...
  • yujin2010good
  • yujin2010good
  • 2013年04月20日 15:34
  • 1863

Oracle RMAN两种备份方式 – 备份集备份与镜像复制备份

通过RMAN有两种不同类型的备份方式:创建镜像复制和创建备份集。备份集(Backup Sets):为RMAN默认备份选项。备份集是RMAN创建的具有特定格式的逻辑备份对象,备份集在逻辑上由一个或多个备...
  • pan_tian
  • pan_tian
  • 2015年07月08日 21:59
  • 3346

RMAN备份动态性能视图 V$BACKUP_PIECE

V$BACKUP_PIECE displays information about backup pieces from the control file. Each backup set consi...
  • jiaping0424
  • jiaping0424
  • 2016年05月07日 13:04
  • 1246

rman backup命令创建备份之并行化备份操作

rman backup命令创建备份之并行化备份操作: 每次使用rman,都至少会对目标数据库启动两个会话:它们被称为默认会话和轮询会话。 默认会话是调用实现rman的内核pl/sql(即在数据库加...
  • woqiang68
  • woqiang68
  • 2013年08月03日 18:07
  • 616

使用rman backup命令创建备份系列之增量备份

使用rman backup命令创建备份系列之增量备份:、 之所以有增量备份有三个主要原因: 时间,空间和最终用户的影响。备份完成的时间对系统管理员来说非常重要。自动化的磁带库是非常昂贵的。除了备份...
  • woqiang68
  • woqiang68
  • 2013年08月03日 16:19
  • 996

Oracle 10g RAC RMAN backup Example

Database Version: 10.2.0.5 3nodes Verify the databases are in archivelog mode and archive desti...
  • staricqxyz
  • staricqxyz
  • 2012年12月25日 16:10
  • 1328

RMAN BACKUP...PLUS ARCHIVELOG命令执行步骤

BACKUP...PLUS ARCHIVELOG命令在备份过程中会依次执行下列步骤:   1 )运行ALTER SYSTEM ARCHIVE LOG CURRENT语句对当前 Redolog 进行归...
  • zhenjiang412518
  • zhenjiang412518
  • 2014年03月20日 11:19
  • 792

rman backup database force 功能

FORCE Causes RMAN to ignore backup optimization. In other words, even if CONFIGURE BACKUP OPTIMIZAT...
  • liqfyiyi
  • liqfyiyi
  • 2012年09月11日 15:18
  • 1251

rman restore spfile from backup

spfile一般在$ORACLE_HOME/dbs(linux)目录,如果你丢失了spfile并不会引起实例立刻停掉,你的实例可以继续操作,尽管当你restore spfile的时候需要关闭重启实例,...
  • Cloudsnowe
  • Cloudsnowe
  • 2015年03月09日 18:02
  • 1664

使用rman backup命令创建备份系列之服务器管理的打开状态备份

使用rman backup命令创建备份系列之服务器管理的打开状态备份: 在使用rman时,使用backup database命令可以执行绝对可靠地打开备份。此命令依赖于配置的默认备份目标(磁盘或磁带...
  • woqiang68
  • woqiang68
  • 2013年08月03日 15:12
  • 717
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:几个概念问题- about RMAN backup
举报原因:
原因补充:

(最多只允许输入30个字)