Oracle数据库备份数据缺失的问题
2014-07-22 21:30
330 查看
项目中一直在使用Oracle数据库,由于我之前更多的是关注ORM映射框架,几乎没有关注过Oracle特性的东西,很多东西都不知道,而且项目中更换数据库的概率几乎为零,所以有必要好好研究一下Oracle。正所谓,不怕不知道,就怕不知道嘛。不然遇到问题,都不知道从哪里下手。
这两天的Oracle学习,收获不小。前几天测试中遇到很多的稀奇古怪的问题,都被很好的解释了。这里就一个典型的例子谈一谈。
就是在测试阶段,看着经理熟练的操作Oracle的各个指令,内心就已经有了一点不平静。经理就是经理,这都是多少年不写代码的人了,这些Oracle指令还记的那么清楚。
系统首次测试的时候,报出了一堆莫名其妙的bug。结果发现是备份的数据库不完整。结果导致测试环境中的数据库中缺少不少表和视图。
PS:当时我的想法是,Oracle这东西,为啥非要往虚拟机里装啊,晕菜~~~ 可是事实证明,往虚拟机里装Oracle是没问题的~~~
我们找到问题后,都感觉很莫名其妙,Oracle数据库怎么会有这样的问题呢?一定不是数据库的问题,可是备份的步骤很固定啊,不会有问题啊。而且之前gxpt项目中,数据库备份还原度时候,也没有这问题啊。不应该在gxpt还原中没问题,在tky项目就有了问题啊。
现在才发现,这是由于Oracle的闪回技术造成的。Oracle数据库也跟windows系统一样,有一个回收站。执行一般的删除表操作后,其实并没有执行真删除,而是将它们放在了回收站里面。放在回收站有一个好处,就是随时都能把删除的表还原。
你可以在sql plus窗口中执行"select * from tab" 操作,查看数据库中的表。这里会查询上来所有的表,以及一些长编码的东西,这些东西就是你删除表的痕迹。
但是闪回也有一些弊端。就是在数据库备份的时候,如果回收站中未清除,就有可能造成备份数据不完整的情况。
这就解释了备份失败的原因。而gxpt项目中,是使用的JPA映射,自然而然就屏蔽了这些数据库特性的东西。
这两天的Oracle学习,收获不小。前几天测试中遇到很多的稀奇古怪的问题,都被很好的解释了。这里就一个典型的例子谈一谈。
就是在测试阶段,看着经理熟练的操作Oracle的各个指令,内心就已经有了一点不平静。经理就是经理,这都是多少年不写代码的人了,这些Oracle指令还记的那么清楚。
系统首次测试的时候,报出了一堆莫名其妙的bug。结果发现是备份的数据库不完整。结果导致测试环境中的数据库中缺少不少表和视图。
PS:当时我的想法是,Oracle这东西,为啥非要往虚拟机里装啊,晕菜~~~ 可是事实证明,往虚拟机里装Oracle是没问题的~~~
我们找到问题后,都感觉很莫名其妙,Oracle数据库怎么会有这样的问题呢?一定不是数据库的问题,可是备份的步骤很固定啊,不会有问题啊。而且之前gxpt项目中,数据库备份还原度时候,也没有这问题啊。不应该在gxpt还原中没问题,在tky项目就有了问题啊。
现在才发现,这是由于Oracle的闪回技术造成的。Oracle数据库也跟windows系统一样,有一个回收站。执行一般的删除表操作后,其实并没有执行真删除,而是将它们放在了回收站里面。放在回收站有一个好处,就是随时都能把删除的表还原。
你可以在sql plus窗口中执行"select * from tab" 操作,查看数据库中的表。这里会查询上来所有的表,以及一些长编码的东西,这些东西就是你删除表的痕迹。
但是闪回也有一些弊端。就是在数据库备份的时候,如果回收站中未清除,就有可能造成备份数据不完整的情况。
这就解释了备份失败的原因。而gxpt项目中,是使用的JPA映射,自然而然就屏蔽了这些数据库特性的东西。
相关文章推荐
- 远程操作Unix上的Oracle数据库的方法解决查询数据时出现乱码的问题
- IIS下部署asp.net程序(访问Oracle数据库数据)的几个问题
- 完全备份oracle数据库,再导出到另一服务器(linux下),bmc的数据系统
- oracle数据库备份导入要注意的几个问题
- 对oracle数据库中的数据表进行备份
- Mysql的数据备份问题
- 已知Oracle数据库有GD和ZS两个数据库,GD数据库v_s表有数据写入时,从v_s表中提取最新数据到ZS数据库的D_E表中。请问用什么办法解决这一问题?如果又碰到不能互访的问题时,又用什么办法解决?
- 数据备份还原中排他锁问题的解决方案
- 数据备份还原中排他锁问题的解决方案之一
- 35企业邮局的数据备份问题
- 解决使用HIBERNATE对ORACLE数据库中数据进行排序分页错乱的问题
- Oracle数据库中大数据的备份
- oracle备份文件恢复到oracle10的数据乱码问题解决方法
- 关于数据缺失问题的总结[转]
- SQL Server利用日志备份恢复数据到时间点的问题
- 在Oracle数据库中,用于数据备份的触发器及表结构
- 关于Oracle数据库中数据乱码的问题
- oracle数据库备份(2)——Oracle 的数据导出导入命令:exp、imp
- oracle数据库中的内容全部丢失,只有RMAN的备份文件(包括数据,参数,控制文件),恢复数据库到备份状态
- 数据备份问题