楼主: 轩静天

[精华] tablespace备份

[复制链接]
论坛徽章:
1
授权会员
日期:2005-10-30 17:05:33
61#
发表于 2002-7-29 23:44 | 只看该作者
Just got here. SO GREAT, SO PERFECT! Thanks rejoice999 !!!

使用道具 举报

回复
论坛徽章:
1
授权会员
日期:2005-10-30 17:05:33
62#
发表于 2002-7-30 22:32 | 只看该作者
几点补充:
1、rejoice999 的实验我也做了,ocopy出的文件确实变化了,但我发现即使该表空间中表的数据没变,ocopy出的文件CRC值也变化了。
                alter tablespace tsp_1 begin backup;
                alter system checkpoint;
                host ocopy tsp01.dbf    a1.dbf;
                alter system checkpoint;
                host ocopy tsp01.dbf    a2.dbf;
检查a1.dbf和a2.dbf的CRC值,不一样。表空间tsp_1是为了实验而建的,里面只有一个表t1,t1的数据没有改变过。实验结果表明,即使表空间中的表没有变化,每一次checkpoint系统还是往文件中写了一些东西,不知道是什么东西。
2、用RMAN做联机备份,虽然不用begin backup,但在开始拷贝文件时,系统还是要在文件头置fussy标志,在拷贝文件结束的时候,在日志文件中置结束标志,以防止不完全恢复在文件还没有恢复一致之前就打开数据库。

使用道具 举报

回复
论坛徽章:
19
授权会员
日期:2005-10-30 17:05:33马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-02-13 15:10:58
63#
发表于 2002-7-31 00:31 | 只看该作者
我认为关键你在两次ocopy之间作了强制的checkpoint。
有一个计数器叫作checkpoint counter,它存在于每个数据文件的datafile header中,
同时在control file中对应于这个datafile的记录中也有一个。它的目的是用来判断datafile和
control file是否是从备份restore回来的。
每次checkpoint时,这个checkpoint counter都会增加,既使datafile在hot backup状态,Oracle
也会修改这个counter,虽然我前面提到的checkpoint structure不变。
你有兴趣的话,把你那两个备份文件进行按字节比较,看看有多大差别
也可以再试一下,两次备份之间不作checkpoint,会不同吗。

使用道具 举报

回复
论坛徽章:
1
授权会员
日期:2005-10-30 17:05:33
64#
发表于 2002-7-31 00:56 | 只看该作者
我也怀疑checkpoint时肯定向文件写了些什么东西,只是没想出是什么东西.
这个checkpoint count应该是用来判断control file 和datafile 是否一致,如果checkpoint count不一样,这controlfile和datafile肯定不一致,所以hot backup时checkpoint count也应该修改.
rejoice999,另外,有一个与此无关的问题想要请教一下,我们的一个数据库因为掉电造成回滚段损坏不能启动,我查了一下以往的帖子,由于非正常关闭造成回滚段损坏的特别多,为什么?
   参见:http://www.itpub.net/showthread. ... d=244485#post244485

使用道具 举报

回复
论坛徽章:
0
65#
发表于 2002-12-27 17:39 | 只看该作者

版主,你什么意思啊?

如果数据库已经关闭,备份的SCN当然是一致的,
似乎不用startup mount 吧?!

使用道具 举报

回复
论坛徽章:
168
马上加薪
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-01-04 11:49:54蜘蛛蛋
日期:2011-12-05 16:08:56ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41设计板块每日发贴之星
日期:2011-07-22 01:01:02ITPUB官方微博粉丝徽章
日期:2011-06-30 12:30:16管理团队成员
日期:2011-05-07 01:45:082011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-01-25 15:42:33
66#
发表于 2005-3-25 15:18 | 只看该作者
rejoice999的精彩阐述.
不知道rejoice999现在还在不在pub上了?

使用道具 举报

回复
论坛徽章:
1
授权会员
日期:2009-02-02 10:53:59
67#
发表于 2005-3-25 15:44 | 只看该作者
好早的帖子了,北斑竹翻出来了,终于被我看到了,真是感觉大有长进,谢谢参与讨论的仁兄

使用道具 举报

回复
论坛徽章:
10
2010新春纪念徽章
日期:2010-03-01 11:20:062014年新春福章
日期:2014-02-18 16:41:112013年新春福章
日期:2013-02-25 14:51:24奥运会纪念徽章:蹦床
日期:2012-10-12 14:07:54紫蛋头
日期:2012-06-05 23:31:082012新春纪念徽章
日期:2012-01-04 11:50:44ITPUB十周年纪念徽章
日期:2011-11-01 16:20:282011新春纪念徽章
日期:2011-02-18 11:43:35ITPUB9周年纪念徽章
日期:2010-10-08 09:32:26马上有车
日期:2014-02-18 16:41:11
68#
发表于 2005-3-25 23:22 | 只看该作者

请问rejoice999

数据文件是要写的,正因为用COPY阻止了写数据文件,所以不要
用它。
如果备份期间不让写数据文件,DATA BLOCK BUFFER里DIRTY
BUFFER太多了,数据库就不能再操作了,那是不行的。

能解释一下这段话的意思吗
小弟多谢了!!!!

使用道具 举报

回复
论坛徽章:
168
马上加薪
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-01-04 11:49:54蜘蛛蛋
日期:2011-12-05 16:08:56ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41设计板块每日发贴之星
日期:2011-07-22 01:01:02ITPUB官方微博粉丝徽章
日期:2011-06-30 12:30:16管理团队成员
日期:2011-05-07 01:45:082011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-01-25 15:42:33
69#
发表于 2005-3-26 00:27 | 只看该作者

Re: 请问rejoice999

最初由 爱乐 发布
[B]数据文件是要写的,正因为用COPY阻止了写数据文件,所以不要
用它。
如果备份期间不让写数据文件,DATA BLOCK BUFFER里DIRTY
BUFFER太多了,数据库就不能再操作了,那是不行的。

能解释一下这段话的意思吗
小弟多谢了!!!! [/B]


如果不能写数据文件,dirty buffer由于不能写入到数据文件中从而导致占用的cache越来越大,最终会令db cache溢出.
btw:
不知道rejoice999现在在何处高就了

使用道具 举报

回复
论坛徽章:
1
会员2006贡献徽章
日期:2006-04-17 13:46:34
70#
发表于 2005-3-26 11:39 | 只看该作者
最初由 ttdb 发布
[B]

呵呵,什么错误?

为什么非要用sqlplus里头写 os的操作命令?

当tablespace处于backing up状态下,只要求  普通操作系统的copy命令,就是热备份拉

我也不懂的是,当处于热备份的情况下,tablespace的datafiles到底有没有 普通数据写入?能肯定的是,那个check point给冻结了,redo  log里面多了很多内容。个人想当然,不写数据文件,都写道redo里头了,可想想,也太不可思议了 [/B]


为什么不可思议呢?我认为是很正常的,首先在热备的情况下,数据库是允许用户操作的,但是由于datafile处于backup状态(我认为即处于offline状态),所有数据块修改的记录都极在redo 中了。等到recover时,Oracle会自动roll forward.

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表