iis服务器助手广告
返回顶部
首页 > 资讯 > 数据库 >数据库中闪回有哪些
  • 607
分享到

数据库中闪回有哪些

2024-04-02 19:04:59 607人浏览 薄情痞子
摘要

小编给大家分享一下数据库中闪回有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 闪回主要有闪回表

小编给大家分享一下数据库中闪回有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

闪回主要有闪回表、闪回查询、闪回数据库(数据来自闪回日志)三种,这里主要了解闪回表和闪回查询

闪回表:又分以下2种:
Flashback table tablename to before drop(数据来自回收站)
Flashback table tablename to scn/timestamp(数据来自UNDO,必须开启Row movement)

闪回查询:又分以下3种
闪回查询AS OF SCN/TIMESTAMP(数据来自UNDO)
闪回版本查询Flashback Version Query(数据来自UNDO)
闪回事务查询Flashback Transaction Query(数据来自UNDO)


闪回表中关于Row movement和Recyclebin的知识点
The row_movement_clause lets you specify whether the database can move a table row. Specify ENABLE to allow the database to move a row, thus changing the rowid.
Row movement must be enabled for all tables in the Flashback list unless you are flashing back the table TO BEFORE DROP. That operation is called a flashback drop operation, and it uses dropped data in the recycle bin rather than undo data.
row_movement_clause允许您指定数据库是否可以移动表行。指定ENABLE以允许数据库移动一行,从而更改rowid。
闪回必须开启行移动,但是闪回DROP不需要开启Row movement,且数据来自回收站

Flashback table后不需要提交,直接就自动提交了
Flashback table user_tables.TABLE_NAME to before drop(user_tables.TABLE_NAME就是recyclebin.ORIGINAL_NAME)
Flashback table recyclebin.OBJECT_NAME to before drop(当一个table删除两次时,可以指定回收站里名称按顺序指定回收哪次删除的表)
Flashback table TABLE_NAME to before drop rename to TABLE_NAME2(当删除一个表后,又建立了一张同名表时,可以使用rename to恢复成其他名称的表)
Purge recyclebin只是清空当前用户的回收站
Purge dba_recyclebin清空所有用户的回收站







闪回表、闪回查询的一个示例
sql> create table hr.test1(id number primary key,name varchar2(10));
Table created.

SQL> begin
  2      insert into test1 values(1,'A');
  3      insert into test1 values(2,'B');
  4      insert into test1 values(3,'C');
  5      commit;
  6      dbms_lock.sleep(5);
  7      update test1 set name='C-1' where id=3;
  8      insert into test1 values(4,'D');
  9      commit;
 10      end;
 11     /
PL/SQL procedure successfully completed.

--闪回版本查询
SQL> select versions_startscn,versions_endscn,versions_xid,versions_operation,name from test1 versions BETWEEN SCN MINVALUE AND MAXVALUE;
VERSIONS_STARTSCN VERSIONS_ENDSCN VERSIONS_XID     VE NAME
----------------- --------------- ---------------- -- --------------------
          4083242                 03002000610D0000 I  D
          4083242                 03002000610D0000 U  C-1
          4083235         4083242 01000400970C0000 I  C
          4083235                 01000400970C0000 I  B
          4083235                 01000400970C0000 I  A

--闪回查询AS OF SCN
SQL> select * from test1 as of scn 4083235;
        ID NAME
---------- --------------------
         1 A
         2 B
         3 C

--闪回版本查询
SQL> select versions_startscn,versions_endscn,versions_xid,versions_operation,name from test1 versions BETWEEN TIMESTAMP TO_TIMESTAMP('2017-08-16 14:17:10','YYYY-MM-DD HH24:MI:SS')  AND TO_TIMESTAMP('2017-08-16 14:19:26','YYYY-MM-DD HH24:MI:SS');
VERSIONS_STARTSCN VERSIONS_ENDSCN VERSIONS_XID     VE NAME
----------------- --------------- ---------------- -- --------------------
          4083242                 03002000610D0000 I  D
          4083242                 03002000610D0000 U  C-1
          4083235         4083242 01000400970C0000 I  C
          4083235                 01000400970C0000 I  B
          4083235                 01000400970C0000 I  A

--闪回查询AS OF TIMESTAMP
SQL> select * from test1 AS OF TIMESTAMP TO_TIMESTAMP('2017-08-16 14:17:16','YYYY-MM-DD HH24:MI:SS');
        ID NAME
---------- --------------------
         1 A
         2 B
         3 C

--闪回事务查询
SQL> SELECT undo_sql FROM flashback_transaction_query WHERE xid = HEXTORAW('03002000610D0000');
UNDO_SQL
--------------------------------------------------------------------------------
delete from "HR"."TEST1" where ROWID = 'AAAWV2AAEAAAAJXAAD';
update "HR"."TEST1" set "NAME" = 'C' where ROWID = 'AAAWV2AAEAAAAJXAAC';

SQL> select * from test1;
        ID NAME
---------- --------------------
         1 A
         2 B
         3 C-1
         4 D

--启用ROW MOVEMENT
SQL> ALTER TABLE test1 ENABLE ROW MOVEMENT;
Table altered.

--Flashback table to SCN
SQL> flashback table test1 to scn 4083235;
Flashback complete.

SQL> select * from test1;
        ID NAME
---------- --------------------
         1 A
         2 B
         3 C

SQL> drop table test1;
Table dropped.

--Flashback table to BEFORE DROP
SQL> FLASHBACK TABLE test1 TO BEFORE DROP;
Flashback complete.

SQL> drop table test1;
Table dropped.

--Flashback table to BEFORE DROP RENAME
SQL> FLASHBACK TABLE test1 TO BEFORE DROP RENAME TO test1_2017;
Flashback complete.

SQL> select * from test1_2017;
        ID NAME
---------- --------------------
         1 A
         2 B
         3 C

以上是“数据库中闪回有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网数据库频道!

您可能感兴趣的文档:

--结束END--

本文标题: 数据库中闪回有哪些

本文链接: https://www.lsjlt.com/news/64714.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 数据库中闪回有哪些
    小编给大家分享一下数据库中闪回有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 闪回主要有闪回表...
    99+
    2024-04-02
  • 【MySQL】数据库闪回工具之binlo
    [root@wallet01 ~]# tar zxvf Python-3.6.1.tgz [root@wallet01 ~]# cd Python-3.6.1 [root@wallet01 Python-3.6.1]# ./configur...
    99+
    2023-01-31
    数据库 工具 闪回
  • 数据库中分布式数据库有哪些
    小编给大家分享一下数据库中分布式数据库有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!分布式数据库有:1、物联网方向,时序数...
    99+
    2024-04-02
  • MySQL数据库中有哪些锁
    这篇文章主要介绍“MySQL数据库中有哪些锁”,在日常操作中,相信很多人在MySQL数据库中有哪些锁问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MySQL数据库中有哪些锁”...
    99+
    2024-04-02
  • 数据库中非关系型数据库有哪些
    这篇文章给大家分享的是有关数据库中非关系型数据库有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。非关系型数据库有:1、MongoDB,是一个面向文档的开源NoSQL数据库;2...
    99+
    2024-04-02
  • 数据库中的数据类型有哪些
    这篇文章给大家分享的是有关数据库中的数据类型有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1,二进制数据nary    固定长度的二进制数据类...
    99+
    2024-04-02
  • oracle数据库闪回功能怎么使用
    oracle 数据库的闪回功能通过以下步骤恢复过去时间点的数据库状态:启用闪回功能;确定恢复时间点;执行闪回操作,使用 scn 号或时间戳指定时间点;验证恢复到所需时间点。 Oracl...
    99+
    2024-04-18
    oracle
  • Postgresql数据库有哪些数据
    这篇文章主要讲解了“Postgresql数据库有哪些数据”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Postgresql数据库有哪些数据”吧!目录用途ba...
    99+
    2024-04-02
  • oracle数据库有哪些
    oracle 数据库是一款由 oracle corporation 开发的关系型数据库管理系统,主要功能包含:数据存储和管理数据查询数据完整性和一致性高可用性可扩展性安全性应用程序开发云...
    99+
    2024-04-19
    oracle
  • SQLServer数据库中有哪些timestamp数据类型
    本篇文章给大家分享的是有关SQLServer数据库中有哪些timestamp数据类型,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。  SQLS...
    99+
    2024-04-02
  • MongoDB中有哪些数据库命令
    这期内容当中小编将会给大家带来有关MongoDB中有哪些数据库命令,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。  命令是如何工作的  这里有个你比较熟悉的例子:drop...
    99+
    2024-04-02
  • 数据库中数据备份有哪些类型
    这篇文章主要介绍了数据库中数据备份有哪些类型,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。数据备份可分为:热备份、冷备份和温备份。热备份可以...
    99+
    2024-04-02
  • 数据库中如何使用闪回删除来回退DROP TABLE操作
    这篇文章主要为大家展示了“数据库中如何使用闪回删除来回退DROP TABLE操作”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“数据库中如何使用闪回删除来...
    99+
    2024-04-02
  • Oracle闪回数据库测试方法是什么
    本篇内容介绍了“Oracle闪回数据库测试方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1 设置...
    99+
    2024-04-02
  • AJAX回调库有哪些
    这篇文章给大家分享的是有关AJAX回调库有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 首先我想到的是CS中的AjaxManager,我就是把...
    99+
    2024-04-02
  • Oracle数据库中有哪些分组函数
    这篇文章给大家介绍Oracle数据库中有哪些分组函数,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1、group by的使用--根据DEPTNO和JOB进行分组。求相同DEPTNO,相...
    99+
    2024-04-02
  • 数据仓库和数据库有哪些区别
    这篇文章将为大家详细讲解有关数据仓库和数据库有哪些区别,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。数据仓库和数据库的区别:1、数据库存储的是原始数据,没经过任何加工;而...
    99+
    2024-04-02
  • 数据库中数据过多的原因有哪些
    数据库中数据过多的原因包括:1. 数据增长过快:业务需求的增加和数据录入的频繁都会导致数据库中的数据量快速增加。2. 数据冗余:数据...
    99+
    2023-10-08
    数据库
  • 目前数据库有哪些
    这篇文章主要介绍了目前数据库有哪些,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。数据库是一组信息的集合,这些信息是有组织的,以便可以方便地访问、...
    99+
    2024-04-02
  • linux下有哪些数据库
    本篇内容介绍了“linux下有哪些数据库”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!linux下数据库有:1、Oracle;2、MySQL...
    99+
    2023-06-25
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作