Oracle的闪回操作
2016-03-21 00:41
525 查看
Oracle10g中引入了闪回技术,但这并不意味着所有的表都能闪回成功,当没有足够的磁盘空间,Oracle将使用回收站中的磁盘空间,而且位图连接索引和引用完整性约束也不受回收站的保护。
recyclebin参数的设置
显示回收站中被删除的表
删除或清空回收站中的表
恢复被删除的表
彻底删除表,不放进回收站
闪回错误的DML操作
在Oracle10g和11g中可以利用还原段中的数据进行恢复
设置还原段的保留时间
下面以一个例子来进行说明
也可以按照时间点恢复
recyclebin参数的设置
show parameter bin --展示是否使用了闪回技术,默认是使用闪回技术的 alter session set recyclebin=off; --在session级别修改 alter system set recyclebin=off DEFERRED; --不加DEFERRED参数是不允许修改的,但在session一级可以修改,与10g不同
显示回收站中被删除的表
show recyclebin
删除或清空回收站中的表
purge table table_name; --删除回收中的一张表 purge recyclebin; --清空回收
恢复被删除的表
flashback table table_name to before drop;
彻底删除表,不放进回收站
drop table table_name purge;
闪回错误的DML操作
在Oracle10g和11g中可以利用还原段中的数据进行恢复
设置还原段的保留时间
show parameter undo_retention --查看保留时间,默认是15分钟 alter system set undo_retention=7200; --修改保留时
下面以一个例子来进行说明
update myemp set sal=9999; --将myemp中的员工都变为9999
--通过version子句查询以往的事物操作信息,version_xid为事物号,minvalue为最小值,maxvalue为最大值 select versions_xid,empno,ename,sal from myemp versions between scn minvalue and maxvalue where empno=7900; 结果显示如下图,versions_xid为空,表明我们并未提交所做的DML操作
commit; --提交再查询,结果如图: conn system/manager select operation,START_SCN from flashback_transaction_query where xid=hextoraw('0A00020004050000'); --查找出事物随对应的SCN号 ---不知道为什么表中显示状态为unknown,按理应该是UPDATE的。 alter table scott.myemp enable row movement; --开启表的行移动功能 flashback table scott.myemp to SCN 1996229; --恢复操作完成
也可以按照时间点恢复
flashback table scott.myemp to timestamp to_timestamp('15:36','hh24:mi');
相关文章推荐
- 一、Oracle学习总结和SQL记录
- oracle命令创建表空间和用户以及权限授权
- Oracle以SQL方式导出导入(转移)数据
- oracle、sql server、mysql分页
- oracle 12cr1 sqlldr errors参数差异
- Oracle Total Recall Tips
- Oracle SQL 性能优化粗略总结
- oracle调优顾问
- ODBC32 Oracle TNS 乱码
- oracle驱动表以及如何确定驱动表
- oracle数据安装
- Oracle 10046 trace文件分析
- Oracle11g系统账号密码忘记解决办法
- Oracle 11g ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务
- Toad Oracle No valid Oracle clients found
- oracle学习笔记系列------oracle 基本操作之表的增删改查
- Oracle 11g 新特性 -- Database Replay (重演)
- oracle11g dataguard 线上维护问题记录
- Oracle数据库、实例、用户、表空间、表之间的关系
- oracle性能调优之--Share Pool 调整与优化