zoukankan      html  css  js  c++  java
  • EXP的flashback_scn和flashback_time

    数据库设置

    a. 设置UNDO_RETENTION的初始值(在短时间内)代表你想要查过去多远的时间。

    b. 设置初始化参数UNDO_MANAGEMENT=AUTO。

    c. 建立一个还原点空间,要有足够的空间存储需要的数据。有多少数据更新,就需要多少空间。

    权限

    FLASHBACK_SCN和FLASHBACK_TIME参数之前,你一定要允许DBMS_FLASHBACK程序包的执行特权,比如:

    sqlplus /nolog
    SQL> connect / as sysdba
    SQL> GRANT execute ON dbms_flashback TO scott;

    1. flashback_scn:按SCN号一致导出数据

    Session1:

    SQL> conn / as sysdba
    已连接。

    SQL> grant execute on dbms_flashback to scott;
    授权成功。

    SQL> conn scott/tiger;
    已连接。
    SQL> create table t as select * from emp;

    表已创建。

    SQL> select * from t;

    EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
    ---------- -------------------- ------------------ ---------- -------------- ---------- ---------- ----------
    7369 SMITH CLERK 7902 17-12月-80 446.67 20
    7499 ALLEN SALESMAN 7698 20-2月 -81 1600 300 30
    7521 WARD SALESMAN 7698 22-2月 -81 1250 500 30
    7566 JONES MANAGER 7839 02-4月 -81 2975 20
    7654 MARTIN SALESMAN 7698 28-9月 -81 1250 1400 30
    7698 BLAKE MANAGER 7839 01-5月 -81 2850 30
    7782 CLARK MANAGER 7839 09-6月 -81 2450 10
    7788 SCOTT ANALYST 7566 19-4月 -87 555 20
    7839 KING PRESIDENT 17-11月-81 5001 10
    7844 TURNER SALESMAN 7698 08-9月 -81 1500 0 30
    7876 ADAMS CLERK 7788 23-5月 -87 1100 20
    7900 JAMES CLERK 7698 03-12月-81 950 30
    7902 FORD ANALYST 7566 03-12月-81 3000 20
    7934 MILLER CLERK 7782 23-1月 -82 1300 10

    已选择14行。

    SQL> alter session set nls_date_format='YYYY-MM-DD HH24:MI:SS';
    会话已更改。

    SQL> update t set job='ANALYST' where empno=7369;
    已更新 1 行。


    SQL> select dbms_flashback.get_system_change_number from dual;
    GET_SYSTEM_CHANGE_NUMBER
    ------------------------
    3163077

    SQL> commit;
    提交完成。

    SQL> select dbms_flashback.get_system_change_number from dual;

    GET_SYSTEM_CHANGE_NUMBER
    ------------------------
    3163081

    SQL> SELECT current_scn FROM v$database; --这种方法10gR1后也是可以用的

    CURRENT_SCN
    -----------
    3165118

    exp scott/tiger file=emp.dump log=emp.log flashback_scn=3163077 tables=EMP

    Export: Release 11.2.0.1.0 - Production on 星期二 7月 22 01:09:29 2014

    Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.


    连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
    服务器使用 AL32UTF8 字符集 (可能的字符集转换)

    即将导出指定的表通过常规路径...
    . . 正在导出表 EMP导出了 14 行
    导出成功终止.

    2. flashback_time:按给定时间最近的SCN导出数据.

    SQL> SELECT to_char(scn_to_timestamp(3163077),'YYYY-MM-DD HH24:MI:SS') FROM DUAL; -- 根据SCN查时间

    TO_CHAR(SCN_TO_TIMESTAMP(3163077),'YYY
    --------------------------------------
    2014-07-22 00:45:03

    SQL> SELECT to_char(scn_to_timestamp(3163081),'YYYY-MM-DD HH24:MI:SS') FROM DUAL;-- 根据SCN查时间

    TO_CHAR(SCN_TO_TIMESTAMP(3163081),'YYY
    --------------------------------------
    2014-07-22 00:45:09

    --flashback_time 必须用转义过的双引号包起来,如果是写在参数文件里,则不用这么麻烦自卸写下面的样子就行了.

    flashback_time=to_timestamp('2014-07-22 00:45:05','YYYY-MM-DD HH24:MI:SS')

    exp scott/tiger file=emp.dump log=emp.log flashback_time="to_timestamp('2014-07-22 00:45:05','YYYY-MM-DD HH24:MI:SS')" tables=EMP

    exp scott/tiger file=emp.dump parfile=param.txt

    param.txt

    file=emp.dump
    log=emp.log
    flashback_time='2014-07-22 00:45:05'
    tables=EMP

    file=emp.dump
    log=emp.log
    FLASHBACK_TIME="to_timestamp('2014-07-22 00:45:05','YYYY-MM-DD HH24:MI:SS')"
    tables=EMP

    Export: Release 11.2.0.1.0 - Production on 星期二 7月 22 01:09:29 2014

    Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.


    连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
    服务器使用 AL32UTF8 字符集 (可能的字符集转换)

    即将导出指定的表通过常规路径...
    . . 正在导出表 EMP导出了 14 行
    导出成功终止.

    参考 http://www.landingbj.com/jbbs/t-0-196871-1.html

  • 相关阅读:
    随机生成三十个二年级的加减乘除法的题目代码
    学习进度表_四周
    返回一个整数数组中最大子数组的和1
    学习进度表_三周
    四则运算4
    构建之法读书笔记2
    学习进度表_二周
    四则运算3
    四则运算2
    单元测试
  • 原文地址:https://www.cnblogs.com/princessd8251/p/3859538.html
Copyright © 2011-2022 走看看