免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2727 | 回复: 9
打印 上一主题 下一主题

怎样解决数据丢失问题? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-10-17 17:32 |只看该作者 |倒序浏览
一个应用系统平台,后台数据库使用oracle10G,
经常会由于系统平台用户的误操作而删除大量数据(操作是合法的,只是判断错误,比如把一些重要数据当作垃圾删了),然后领导要求把删除的数据找回来。

我现在的做法是:用脚本每个小时exp一次,把所有数据导出来,并存放到不同的服务器上,当发生数据丢失的时候,就把时间最靠近事故发生时刻的那个导出文件恢复到另一个备用数据库上,然后从中把丢失的数据找出来,给弄回去。因为系统平台不能停,所以也不能用归档日志回滚。

这样做真不爽,各位有什么好办法吗?双机热备能解决这样的问题吗?

(各位可怜可怜我,不要问为什么会发生这样荒唐的事情,好像领导认为恢复数据是很简单的事情,想删就随便删了,我快要疯了)

论坛徽章:
5
巳蛇
日期:2013-08-28 09:26:15CU十二周年纪念徽章
日期:2013-10-24 15:41:34射手座
日期:2013-10-31 09:13:04射手座
日期:2014-02-11 13:18:34天秤座
日期:2014-03-25 09:22:28
2 [报告]
发表于 2006-10-17 21:23 |只看该作者
热备解决不了这样的问题(因为热备两边的数据要保持一致。。。主机上删除,副机上也要删除),冷备才是正道。
写个脚本加上cron自动备份吧。。

论坛徽章:
0
3 [报告]
发表于 2006-10-18 01:19 |只看该作者
将数据库置于归档模式, 做个全备, 找一台机器做辅助数据库服务器,
发生丢失数据的时候, 可以将数据库恢复到辅助数据库服务器, 恢复时使用基于时间点的不完全恢复, 将数据库恢复到数据删除前的时间点. 将数据从辅助数据库中导出, 导入到生产服务器中, 再删除辅助数据库, 留做下一次恢复.

oracle版块前一段时间曾经讨论过一个备份的例子, 事实上是建立了一个特殊的物理备用数据库. 可供参考.

这个主题放在oracle版更合适一些.

论坛徽章:
0
4 [报告]
发表于 2006-10-18 01:30 |只看该作者
原帖由 柳拂风 于 2006-10-17 17:32 发表
一个应用系统平台,后台数据库使用oracle10G,
经常会由于系统平台用户的误操作而删除大量数据(操作是合法的,只是判断错误,比如把一些重要数据当作垃圾删了),然后领导要求把删除的数据找回来。

我现在的 ...


双机热备只有一个数据库, 主要作用是防止双机中的节点故障
当一个节点的硬件或者oracle实例出现问题后, 可以在正常的节点上启动oracle实例.
数据文件通常放在磁盘柜上, 以确保在一个节点上做的修改, 当oracle实例切换到其他节点后, 修改对切换后的oracle 实例仍然可用.

论坛徽章:
0
5 [报告]
发表于 2006-10-18 02:59 |只看该作者
转Oracle 板.

论坛徽章:
0
6 [报告]
发表于 2006-10-18 04:24 |只看该作者
也可以在应用端想办法,如果空间够用,可以只允许加数据,不允许删除数据。

把应用改一下,使删除数据变得极其烦复,触发多个警告,并给领导送出多个邮件。

或加个表空间,专门放这些被删除的数据。

论坛徽章:
0
7 [报告]
发表于 2006-10-18 10:04 |只看该作者
可以考虑这样的做法,对于重要的应用数据,在作删除操作时候,只是将这些被删除的数据存储到另外的历史表(附加上额外的时间信息和其他的辅助信息)中,虽然会对性能有一点影响。只要对历史表进行定期的维护,比如设计成分区表,定期将分区备份出来,然后truncate掉,存储的问题是不大的。这样恢复起来也比较方便。

论坛徽章:
0
8 [报告]
发表于 2006-10-18 10:26 |只看该作者
1。 把 undo_retention 设大一点,undo_tablespace 给大一点,可以轻松利用 Oracle 的FlashBack 功能找会被误删的数据

2。 另外,采用 rman Backup 方式 ,需要的时候恢复到其他机器,读数据,也是可行的方式

3。 还有,使用 delay apply 的 dataguard , 也可达到类似目的

4。 用logminer 分析archivelog


对比4种方案

1最简便,但可恢复时间段有限制,取决于undo_retention & undo_tablespace 大小
2最推荐,因为同时达到备份的目的
3也不错,同时达到容灾的目的,主机出问题时也可迅速切换。和1一样,可恢复时间段也有限制,取决于delay 的时间
4稍微麻烦,但是不需要其他配置

论坛徽章:
0
9 [报告]
发表于 2006-10-18 12:53 |只看该作者
肯定要做备份了!

论坛徽章:
0
10 [报告]
发表于 2006-10-18 20:05 |只看该作者
谢谢各位。
我去试试。

看来,要根治这个问题,还要催开发人员改程序才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP