zoukankan      html  css  js  c++  java
  • oracle闪回的使用

    1、闪回查询(原理:依赖于UNDO表空间)
    查询当前SCN号
    select current_scn from v$database;
    误删数据以后
    select * from table_name as of scn 删除数据前的SCN号;
    将数据重新插入表中
    insert into table_name select * from table_name as of scn 删除数据前的SCN号;
    2、闪回drop(原理:利用回收站recyclebin)
    查看是否启用回收站
    show parameter recyclebin
    如果启用了回收站功能drop掉的非系统空间的表,都会保留在回收站中
    show recyclebin
    拿回误删的表
    flashback table table_name to before drop;
    3、闪回table(对表数据进行了错误的修改,回退到原数据)(undo)
    flashback table table_name to scn 修改数据前的SCN号;
    改变表,使行可以movement
    alter table table_name enable row movement;
    4、闪回version query(闪回版本查询)
    查询你对表操作的所有记录
    select versions_xid,versions_operation,versions_startscn,versions_starttime,versions_endscn,versions_endtime,id,name
    from table_name versions between scn minvalue and maxvalue;
    5、闪回transaction query(闪回事务查询)
    select * from flashback_transaction_query where xid='34查询到的versions_xid';
    找到undo_sql,复制执行就可以了
    6、闪回database
    查询数据库是否支持闪回数据库
    select flashback_on from v$database;
    启用闪回数据库功能,需要数据在mount状态下(归档模式)启动,然后
    alter database flashback on;
    然后确认启用恢复区
    show parameter db_recovery
    保证db_recovery_file_dest配置的有值
    查询相关视图
    select * from v$flashback_database_logfile;
    select * from v$flashback_database_log;
    删除了某个数据库用户,然后闪回
    flashback database to scn 需要闪回的SCN号;
    然后查看当前数据库有哪些用户,看一下被删除的用户是否撤回
    select username from dba_users;

  • 相关阅读:
    漫步温泉大道有感
    不可多得的”魔戒“:一堂成功学大师们的浓缩课
    四川新闻网关于IT诗人的报道
    赠徐蕴筝(帮别人名字作诗)
    再游草堂
    赠申芳菲(帮别人名字作诗)
    Oracle内部错误:ORA00600[15801], [1]一例
    Oracle内部错误:ORA00600[OSDEP_INTERNAL]一例
    Oracle O立方服务平台(O3SP)
    Oracle RAC内部错误:ORA00600[keltnfyldmInit]一例
  • 原文地址:https://www.cnblogs.com/qinjf/p/8414647.html
Copyright © 2011-2022 走看看