当前位置: 首页 > news >正文

exp之flashback_scnflashback_time

这两个参数用于控制导出特定scn和时间戳的时间点的数据,注意这个参数应该和在数据库中使用闪回查询一样有时间限制的(经典的快照过旧:ORA-01555snapshot too old),测试如下:
SQL*Plus: Release 10.2.0.4.0 - Production on Fri Nov 18 11:14:05 2011

Copyright (c) 1982, 2007, Oracle. All Rights Reserved.


Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> desc dbms_flashback;
PROCEDURE DISABLE
PROCEDURE ENABLE_AT_SYSTEM_CHANGE_NUMBER
Argument Name Type In/Out Default?
------------------------------ ----------------------- ------ --------
QUERY_SCN NUMBER IN
PROCEDURE ENABLE_AT_TIME
Argument Name Type In/Out Default?
------------------------------ ----------------------- ------ --------
QUERY_TIME TIMESTAMP IN
FUNCTION GET_SYSTEM_CHANGE_NUMBER RETURNS NUMBER

SQL> select dbms_flashback.get_system_change_number from dual;

GET_SYSTEM_CHANGE_NUMBER
------------------------
1654903

SQL> select count(*) from t4;

COUNT(*)
----------
720

SQL> delete from t4 where rownum<=100;

100 rows deleted.

SQL> commit;

Commit complete.

SQL> select count(1) from t4;

COUNT(1)
----------
620

SQL>
flashback_scn测试:
首先获得当前scn,然后删除表的一些记录,删除之前720,删除之后620;接着测试导出,指定scn为删除之前查询出来的值:
[oracle@localhost test]$ exp store1/store1 file=scn.dmp log=scn.log flashback_scn=1654903

Export: Release 10.2.0.4.0 - Production on Fri Nov 18 11:16:04 2011
.。。。。。。
. . exporting table T4 720 rows exported
可以看到导出的是删除之前的720条记录,接着不指定scn导出:
[oracle@localhost test]$ exp store1/store1 file=scn.dmp log=scn.log

Export: Release 10.2.0.4.0 - Production on Fri Nov 18 11:16:13 2011

Copyright (c) 1982, 2007, Oracle. All rights reserved.
.。。。。
. . exporting table T4 620 rows exported
这个情况下当然就是最新的620条记录了。
time测试,在删除之前看下时间,可以精确到秒,然后指定闪回exp的时间点,说到这里,测试过程中还遇到一个问题,就是转义的问题,最后使用参数文件解决了,其实使用参数文件是个很好的习惯,如果可能尽量使用参数文件,便于重复使用和操作,参数文件如下:
[oracle@localhost test]$ cat >parafile
flashback_time=to_timestamp('20111118 11:10:00','yyyymmdd hh24:mi:ss')
[oracle@localhost test]$ nl parafile
1 flashback_time=to_timestamp('20111118 11:10:00','yyyymmdd hh24:mi:ss')
使用time时间点导出:
[oracle@localhost test]$ exp store1/store1 file=scntime.dmp log=scntime.log parfile=parafile

Export: Release 10.2.0.4.0 - Production on Fri Nov 18 11:20:02 2011

.。。。
. about to export STORE1's tables via Conventional Path ...
. . exporting table T4 720 rows exported
一样的也是删除之前的720条记录。
exp使用flashback功能还是受到了诸多限制,其中最总要的闪回时间点不是太长,但是在一些特殊场合还是有一些用处,比如用于数据误删除的恢复等等。
-The End-


相关文章:

  • JAVASCRIPT高程笔记-------第 七章 函数表达式
  • 适应性超强的focus
  • 内存泄漏
  • 首页列表显示全部问答,完成问答详情页布局
  • POJ 2057 The Lost House 树形DP+贪心
  • JAVA Http Basic auth
  • 如何两个栈实现队列?两个队列实现栈?
  • Java之字符流操作-复制文件
  • 判断是否长按某一键
  • 【Android】封装一个简单好用的打印Log的工具类
  • centos7 防火墙 开启端口 并测试
  • 设计模式
  • IDA.快捷键_ZC收集
  • 直接从google中引入jquery.js
  • Sql注入攻击
  • 实现windows 窗体的自己画,网上摘抄的,学习了
  • css选择器
  • es的写入过程
  • jquery ajax学习笔记
  • Making An Indicator With Pure CSS
  • Node + FFmpeg 实现Canvas动画导出视频
  • node.js
  • Otto开发初探——微服务依赖管理新利器
  • React as a UI Runtime(五、列表)
  • SpiderData 2019年2月25日 DApp数据排行榜
  • 动态规划入门(以爬楼梯为例)
  • 计算机在识别图像时“看到”了什么?
  • 解决iview多表头动态更改列元素发生的错误
  • 看完九篇字体系列的文章,你还觉得我是在说字体?
  • 如何在GitHub上创建个人博客
  • 十年未变!安全,谁之责?(下)
  • 通过几道题目学习二叉搜索树
  • 学习JavaScript数据结构与算法 — 树
  • 怎么把视频里的音乐提取出来
  • 追踪解析 FutureTask 源码
  • Nginx惊现漏洞 百万网站面临“拖库”风险
  • #NOIP 2014#Day.2 T3 解方程
  • %@ page import=%的用法
  • ( )的作用是将计算机中的信息传送给用户,计算机应用基础 吉大15春学期《计算机应用基础》在线作业二及答案...
  • ()、[]、{}、(())、[[]]命令替换
  • (2)STM32单片机上位机
  • (java)关于Thread的挂起和恢复
  • (PHP)设置修改 Apache 文件根目录 (Document Root)(转帖)
  • (附源码)spring boot基于Java的电影院售票与管理系统毕业设计 011449
  • (每日持续更新)jdk api之FileFilter基础、应用、实战
  • (未解决)macOS matplotlib 中文是方框
  • (一)Dubbo快速入门、介绍、使用
  • (转)http-server应用
  • (转载)PyTorch代码规范最佳实践和样式指南
  • 、写入Shellcode到注册表上线
  • ..回顾17,展望18
  • ./mysql.server: 没有那个文件或目录_Linux下安装MySQL出现“ls: /var/lib/mysql/*.pid: 没有那个文件或目录”...
  • .NET CF命令行调试器MDbg入门(四) Attaching to Processes
  • .net websocket 获取http登录的用户_如何解密浏览器的登录密码?获取浏览器内用户信息?...
  • .NET 材料检测系统崩溃分析