Oracle闪回技术的应用与实践分析

Oracle闪回技术的应用与实践分析陈伟明摘要:闪回技术是Oracle提供的一种强大的备份恢复机制手段,能够让用户及时地恢复由于误操作而造成的数据库逻辑错误,达到损失最小化,避免进行没有可用逻辑备份而采取的数据库不完全恢复,且多数都能在联机状态下完成。本文主要介绍了闪回技术几种常用的技术手段,并利用一些实例展示了该技术在实际工作中的具体应用。关键词:Oracle;数据库;闪回:G202文献标识码:A在实际工作中,Oracle数据库的人为错误操作,比如数据误删除或者执行了错误的更新,且提交了数据,可能会造成系统停机。在没有逻辑或物理备份的情况下,要想进行数据恢复是非常困难的,而利用Oracle数据库提供的闪回技术,可以让管理员将数据库回退到过去的某一个状态,更正逻辑错误操作,其简单易用,效率高,大大提高了数据库的安全性和完整性1。Oracle提供了闪回表、闪回删除、闪回版本查询、闪回事务查询,闪回数据库,闪回数据归档等闪回技术。本文就其中几种闪回技术做简单介绍,并对最常用的利用具体实例加以说明。1闪回表操作闪回表是一个独立的事务,主要是为了解决用户对某个表不小心做了不正确操作,需要在线恢复指定表中的数据。通过闪回表操作,将指定表中数据恢复到指定的时间点或者系统改变号SCN上,并自动恢复索引,约束,触发器等,而数据库继续保持连接状态,其它表不受影响同样保持当前状态。Oracle闪回查询主要是利用了Undo表空间,闪回查询能恢复的时间点取决于Undo表空间的大小和Undo_Retention参数有关,且无法对过去版本的数据进行DML操作。此外,闪回表利用DML操作恢复数据时,其无法保证Rownum号不变,因此我们在进行闪回操作前必须先要启动行移动功能,否则闪回操作会报错。下面用一个实例说明如何将表中的数据恢复到指定时间点的操作。(1)创建一个测试表Com_Employee,包含员工编号、姓名、性别等演示数据。结果显示,表中只有张三的基本信息,证明数据被恢复到了指定的时间点,闪回成功,闪回表可能会失败,主要原因是不能保护系统表空间中的表,即不适用于SYS模式下的表,违反了外键约束,撤销数据被覆盖后导致数据失效,权限不足,有其他用户锁定了闪回作用的行而不能闪回,对表的DLL操作比如对表做了截断操作或者删除了列等,实际应用时应加以判断。尽量在最短时间内发现错误并执行闪回操作,如果闪回因为任何原因而失败,Oracle闪回操作将会被终止,回滚已经成功执行的任何一部分操作,将表状态回到闪回命令发出之前的样子。2闪回删除恢复已经被用户删除Drop的数据库对象,相应的索引,数据库约束也会被还原。闪回删除需要用到Oracle中的回收站机制。Drop命令仅相当于一个重命名的操作,当用户删除一个表的时候,该表的所有相关对象也将被保存在Oracle回收站内,未被真正删除,此时可以通过闪回删除操作将用户被错误Drop的表进行闪回操作。闪回被误删除的表实例演示如下。需要注意的是闪回删除仅针对DROP操作,对于Truncate操作和回收站被Purge的表将无法恢复,另外依赖该表的位图索引、引用完整性约束不受回收站保护。3闪回版本查询和闪回事务查询一条行数据在使用周期内可能会发生多次改变。闪回版本查询可用于查看一个行在不同时期内所提交的不同版本的数据,以及相应的DML操作记录,主要包括该版本数据的创建时间和结束时间,操作者是谁以及每个更改的事务标识符,从而让我们可以详细了解某个具体的表在这个时间段内的具体变化情况。闪回事务查询则是闪回版本查询的扩充,可以实现审计事务或者撤销一个已经提交的事务,Oracle中进行DML操作并提交后,Oracle会自动构造SQL语句来反转事务的更改,自动执行修复过程,其主要是利用了保存在Flashback_Transaction_Query表中的Undo_Sql来恢复具体的事务操作,而并不是回滚一个已经提交到事务,利用它可以看到受该事务影响的每个行都对应有一行记录。闪回事务不会造成数据丢失,仅仅是撤销指定的事务,并且数据库依旧能够保持当前状态。实例演示:新建一个表Test,并做一些DML操作,接着查询出这些具体的操作,并做指定的撤销处理。(1)新建表,插入2条演示数量,并模拟删除其中的一条数据...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

笔杆子文秘
机构认证
内容提供者

为您提供优质文档,供您参考!

确认删除?