免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1972 | 回复: 7

请教一个关于数据备份的问题 [复制链接]

论坛徽章:
0
发表于 2007-03-12 10:17 |显示全部楼层
请教大家一个问题,如果一个数据库每天增加的数据量较大,想每周做一次数据分离,就是将一个周前的数据导出并备份后从库里删除,有没有不影响服务不停机的办法?

论坛徽章:
0
发表于 2007-03-12 10:27 |显示全部楼层

回复 1楼 jnwwww 的帖子

要想在不停机的方式下做备份最好使用RMAN去做备份,数据是存放在数据文件中的,所以你不可能去删除数据文件中的数据,而只能去删除你做了备份后的归档日志文件。

论坛徽章:
0
发表于 2007-03-12 10:34 |显示全部楼层
目前就是用rman做备份,想要实现的就是只在数据库中保留一个礼拜的历史数据,就牵扯到一个问题,将数据导出并备份后,从数据库内清除掉一个礼拜前的历史数据。

论坛徽章:
0
发表于 2007-03-12 11:30 |显示全部楼层

回复 3楼 jnwwww 的帖子

个人的愚见是不太好实现。假如要将一个星期之前的数据都清除掉,而数据又放在数据文件中,那么只能通过删除数据文件然后再重建数据文件来实现。要删除数据那么肯定要OFFLINE数据文件,而且在数据库OPEN状态删除数据文件然后重建数据文件肯定要求进行介质恢复,以达到数据文件的一致性。所以得出的结论是不能实现。

论坛徽章:
0
发表于 2007-03-12 16:05 |显示全部楼层
建议写脚本执行导出数据,导出完手动去delete数据,如果数据有日期列,那么实现起来就容易的多了。

另外就是用trigger来实现

论坛徽章:
0
发表于 2007-03-13 16:35 |显示全部楼层
用触发器会不会量太大...

论坛徽章:
0
发表于 2007-03-15 13:09 |显示全部楼层
个人意见:
你可以根据将每一周建立一个partition,这样等到下一周的时候,需要删除上一周的数据,直接将那个partition的数据交换出来,速度很快,而且删除也很快,要是需要备份,再备份你交换出来的那个表,就是上一周的数据了!
可以写一个shell,每周定时执行。
但是这样做的缺点就是,你只能建立local的索引,不能建立global的索引了。

[ 本帖最后由 zb0011 于 2007-3-15 13:11 编辑 ]

论坛徽章:
0
发表于 2007-03-15 13:32 |显示全部楼层
你可以根据将每一周建立一个partition,这样等到下一周的时候,需要删除上一周的数据,直接将那个partition的数据交换出来,速度很快,而且删除也很快,要是需要备份,再备份你交换出来的那个表,就是上一周的数据了!
可以写一个shell,每周定时执行。
但是这样做的缺点就是,你只能建立local的索引,不能建立global的索引了。
完全赞成楼上的说法,我觉得这样最快!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP