Oracle数据库备份数据缺失的问题

项目中一直在使用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映射,自然而然就屏蔽了这些数据库特性的东西。

时间: 2024-12-21 22:33:51

Oracle数据库备份数据缺失的问题的相关文章

Oracle数据库备份恢复高级培训视频课程(案例、实战、深入、全面)

套餐介绍: 介绍:风哥Oracle数据库备份恢复培训(案例.实战.深入.全面),DBA初级到骨灰级的脱变. 内容:风哥Oracle数据库备份恢复及存储容灾基础,控制文件与参数文件详解,存储结构深入分析,Oracle底层技术,数据块解析,BBED深入解析,重做日志Redo深入解析,Undo回滚段深入解析,用户管理模式的备份恢复,RMAN备份恢复,Flashback闪回恢复管理,LogMiner日志挖掘技术,SQL_Loader,Oracle逻辑备份恢复迁移之exp/imp和expdp/impdp.

Oracle数据库用户数据完整备份与恢复

使用PLSQL-Developer工具可以快速便捷地完成Oracle数据库用户.表的备份恢复. Oracle数据库用户数据完整备份与恢复 1. 备份 1.1   PL/SQL->工具->导出用户对象,选项如图 常用的用户对象包括: TABLE,SEQUENCE,VIEW,PACKAGE,TYPE,FUNCTION,PROCEDURE,PACKAGE BODY,TREGGER 选择需要导入的用户对象,导出.sql文件,此步骤导出的是建表语句,包括存储过程.触发器.视图等 . 1.2  PL/SQ

整理ORACLE数据库备份常用术语

本文将讲述在备份是常用的数据库相关术语以及业界定义的专业术语,供大家参考和学习. 数据库相关术语: (1)冷备份: 冷备份是将数据库关闭之后,将数据文件.联机日志文件.控制文件拷贝到其他地方进行备份.此外,冷备份也可以包括对参数文件和口令文件的备份,但是这两种文件的备份是可以根据需要进行选择的,冷备份实际上也是一种物理备份. (2)热备份: 热备份是相对于冷备份而言的,不需要停机操作,直接可以在线采用archive mode下进行数据库备份和还原操作.比较常见的热备方法就是使用Rman备份. (

Oracle数据库备份详解

Oracle数据库备份详解 Oracle官方提供多种备份方式,日常使用最多的有exp/imp常规方式,及数据泵expdp/impdp方式:下面对这两种方式进行详解. 常规方式 exp/imp imp/exp是Oracle导入导出命令,可以用作数据的迁移,expdp/imdp也是Oracle数据导入导出的命令,效率比imp/exp效率要高,这个后面再讨论 一  EXP导出命令 exp 是数据的导出命令,可以用于表,用户,整个数据库,exp -help查看帮助 Export: Release 11.

Oracle数据库备份和恢复的基本命令

Oracle数据库备份与恢复基本命令 1. 获取帮助 $ exp help=y $ imp help=y 2.三种工作方式 (1)交互式方式 $ exp 然后按提示输入所需要的参数 (2)命令行方式 $ exp user/[email protected] file=/oracle/test.dmp full=y 命令行中输入所需的参数 (3)Oracle数据库备份与恢复中我们要走涉及到参数文件方式 $ exp parfile=username.par 在参数文件中输入所需的参数 参数文件 us

Oracle数据库备份工具——UCache企业级灾备云

UCache企业级灾备云以WEB平台的方式,向企业提供面向云端.虚拟和物理环境下的数据.平台.应用备份/恢复的云服务平台.向企业提供面向云端.虚拟和物理环境下的数据.平台.应用备份/恢复的云服务平台的数据级和应用级的备份与恢复.UCache企业级灾备云除了可以当作Oracle数据库备份工具,其实他的适用范围还不止这些,还包括:一.作为支持各种版本操作系统的数据备份/恢复的工具:1.Windows2000版本PC电脑端操作系统的数据实时.定时自动备份/恢复工具2.WindowsXP版本PC电脑端操

Oracle数据库备份恢复基础讲解_超越OCP精通Oracle视频教程培训12

Oracle视频教程目标 Oracle视频教程,风哥本套oracle教程培训学习Oracle数据库备份恢复概念及基础,包括:Oracle常见的故障类型.Oracle备份的重要性及备份策略.Oracle如何制定合适的备份策略保证高效备份.Oracle备份分类.MTTR,MTBR,MTTF.Oracle物理备份与逻辑备份.Oracle备份恢复的工具及Oracle还原与恢复介绍. 适用人群 IT相关从业人员.Oracle数据库技术人员.想加工资的.想升职的都可以. 视频在线学习地址: http://e

oracle数据库删除数据Delete语句和Truncate语句的对比

oracle数据库删除数据Delete语句和Truncate语句的对比 当表中的数据不需要时,则应该删除该数据并释放所占用的空间,删除表中的数据可以使用Delete语句或者Truncate语句,下面分别介绍. 一.delete语句 (1)有条件删除    语法格式:delete [from]  table_name  [where condition]; 如:删除users表中的userid为‘001’的数据:delete from users where userid='001'; (2)无条

Java实现Oracle数据库备份

今天将很早就实现的一个Oracle数据库备份功能粘贴出来,这个功能是在大学做阶段设计时写的: [java] view plain copy import java.io.File; import java.io.IOException; /** * Oracle数据库备份 * * @author GaoHuanjie */ public class OracleDatabaseBackup { /** * Java代码实现Oracle数据库导出 * * @author GaoHuanjie *