搜索
首页数据库mysql教程Oracle 并发和并行中的Undo 详细使用说明

无论什么时候进程或者用户回话修改过数据库里面的数据,Oracle把它(数据库中的数据)被修改以前的存在过的旧值保存为undo data。

无论什么时候进程或者用户回话修改过数据库里面的数据,Oracle把它(数据库中的数据)被修改以前的存在过的旧值保存为undo data。这种设计为数据库使用者提供给了很多好处。 

  • 提允许用户改变他们的刚才的想法,回滚或者undo对数据库的改变。
  • 支持读一致性。一旦一个查询已经开始,那么任何在查询以后的对底层的改变将不会反应到查询结果中。
  • 支持闪回(flashback)查询。这一功能是在Oracle 9i中被首次受用的。flashback允许用户查看一个表的过去是什么样子。只要被请求的时间点的数据然仍然存在。,那么flashback查询就是可能的。 
  • 理解UNDO段(undo segments) 

    Undo Segments 也叫做rollback segments,在数据库中和其他的段的概念相似,就像表段,索引段。因为undo segments 也是用扩展(extents)组成,这也是有数据块依次组成。一个undo段也是装载的数据和表的数据类似。然而,这是相似之处。undo段必须被保存在的定类型的表空间,乘坐 undo tablespace。 尽管一个数据库可以拥有超过一个undo 表空间,但是同一个时刻只能有一个表空间是活动状态。undo 段搜集包含在一个事物中的一个或者许多表的undo信息。而且undo表空间按照需要自动增大或者减小,就像循环缓冲区。在一个undo段中填满扩展的是能回到段的开始,如果段的第一个扩展没有被活跃的事物使用。 

    在每个事物的开始,换句话说,当地一个数据库操纵语言(DML)命令在预先的一个提交前被发起,,或者用户第一次请求数据库链接——事物被指派给一个在undo表空间的undo段。对任何表的任何改变在事物中,被记录到指派的undo段中。目前活跃的undo段的名字能被从动态性能视图v$rollname查询,你应该能看到类似下面的内容。

    ps:数据字典视图DBA_ROLLBACK_SEGS显示在线的和不在线的所有的undo 段在system和undo段中的。 

    使用undo数据

    undo数据是数据库中的旧值,当进程或者用书改变了一个表或者索引。undo数据为oracle 数据库的以下四个目标服务:

    1、用户回滚一个事务;

    2、DML操作和查询的读一致性;

    3、数据库恢复操作;

    4、flashback功能。

    使用事务回滚

    在第一章中,你了解了事务和他们怎样在数据库机构中被管理的。 在用户层,你可能有一个或者几百个DML命令(就像 DELETE ,INSERT ,UPDATE,or MERGE)在一个特定的事务中,这些事务需要被标记为修改了一个或者多个表的一个进程或者用户所重做。 undo一个事务中的改变叫做回滚部分部分或者全部的事务。必须被回滚的改变被称作undo信息,回滚信息被存储在特别类型的表空间中,称作undo表空间。

    当一个完整的事务被回滚,oracle回滚了所有事务开始的改变,使用保存的undo表空间中的回滚信息,释放包括在事务中的任何锁,并且结束事务。 

    如果失败发生在客户端或者网络上,异常终止了用户到数据库的链接,undo信息被一很多相同的方式使用,就像用户显示显示回滚事务一样。oracle使用事物开始保存在undo表空间中的信息撤销所有的改变。

    linux

    声明
    本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
    oracle怎么查看表属于哪个表空间oracle怎么查看表属于哪个表空间Jul 06, 2023 pm 01:31 PM

    oracle查看表属于哪个表空间的方法:1、使用“SELECT”语句,并通过指定表名来查找指定表所属的表空间;2、使用Oracle提供的数据库管理工具来查看表所属的表空间,这些工具通常提供了图形界面,使得操作更加直观和方便;3、在SQL*Plus中,可以通过输入“DESCRIBEyour_table_name;”命令来查看表所属的表空间。

    如何使用PDO连接到Oracle数据库如何使用PDO连接到Oracle数据库Jul 28, 2023 pm 12:48 PM

    如何使用PDO连接到Oracle数据库概述:PDO(PHPDataObjects)是PHP中一个操作数据库的扩展库,它提供了一个统一的API来访问多种类型的数据库。在本文中,我们将讨论如何使用PDO连接到Oracle数据库,并执行一些常见的数据库操作。步骤:安装Oracle数据库驱动扩展在使用PDO连接Oracle数据库之前,我们需要安装相应的Oracl

    oracle如何只取一条重复的数据oracle如何只取一条重复的数据Jul 06, 2023 am 11:45 AM

    oracle只取一条重复的数据的步骤:1、使用SELECT语句结合GROUP BY和HAVING子句来查找重复数据;2、使用ROWID删除重复数据,可以确保删除的是精确的重复数据记录,或者使用“ROW_NUMBER()”函数删除重复数据,这将删除每组重复数据中的除了第一条记录之外的其他记录;3、使用“select count(*) from”语句返回删除记录数确保结果。

    实现PHP和Oracle数据库的数据导入实现PHP和Oracle数据库的数据导入Jul 12, 2023 pm 06:46 PM

    实现PHP和Oracle数据库的数据导入在Web开发中,使用PHP作为服务器端脚本语言可以方便地操作数据库。Oracle数据库作为一种常见的关系型数据库管理系统,具备强大的数据存储和处理能力。本文将介绍如何使用PHP将数据导入到Oracle数据库中,并给出相应的代码示例。首先,我们需要确保已经安装了PHP和Oracle数据库,并且已经配置好了PHP对Orac

    如何高效地使用PHP和Oracle数据库的连接池如何高效地使用PHP和Oracle数据库的连接池Jul 12, 2023 am 10:07 AM

    如何高效地使用PHP和Oracle数据库的连接池引言:在开发PHP应用程序时,使用数据库是必不可少的一部分。而在与Oracle数据库交互时,连接池的使用对于提高应用程序的性能和效率至关重要。本文将介绍如何在PHP中高效地使用Oracle数据库连接池,并提供相应的代码示例。一、连接池的概念及优势连接池是一种管理数据库连接的技术,它通过事先创建一批连接并维护一个

    oracle数据库需要jdk吗oracle数据库需要jdk吗Jun 05, 2023 pm 05:06 PM

    oracle数据库需要jdk,其原因是:1、当使用特定的软件或功能时需要包含在JDK中的其他软件或库;2、需要安装Java JDK才能在Oracle数据库中运行Java程序;3、JDK提供了开发和编译Java应用程序的功能;4、满足Oracle对Java函数的要求,以帮助实现和实现特定功能。

    oracle如何在存储过程中判断表是否存在oracle如何在存储过程中判断表是否存在Jul 06, 2023 pm 01:20 PM

    oracle在存储过程中判断表是否存在的步骤:1、使用“user_tables`”系统表查询当前用户下的表信息,将传入的表名“p_table_name”与“table_name”字段进行比较,满足条件,则“COUNT(*)”会返回大于0的值;2、使用“SET SERVEROUTPUT ON;”语句和“EXEC`”关键字执行存储过程,并传入表名,即可判断表是否存在。

    如何使用php扩展PDO连接Oracle数据库如何使用php扩展PDO连接Oracle数据库Jul 29, 2023 pm 07:21 PM

    如何使用PHP扩展PDO连接Oracle数据库导语:PHP是一种非常流行的服务器端编程语言,而Oracle是一款常用的关系型数据库管理系统。本文将介绍如何使用PHP扩展PDO(PHPDataObjects)来连接Oracle数据库。一、安装PDO_OCI扩展要连接Oracle数据库,首先需要安装PDO_OCI扩展。以下是安装PDO_OCI扩展的步骤:确保

    See all articles

    热AI工具

    Undresser.AI Undress

    Undresser.AI Undress

    人工智能驱动的应用程序,用于创建逼真的裸体照片

    AI Clothes Remover

    AI Clothes Remover

    用于从照片中去除衣服的在线人工智能工具。

    Undress AI Tool

    Undress AI Tool

    免费脱衣服图片

    Clothoff.io

    Clothoff.io

    AI脱衣机

    AI Hentai Generator

    AI Hentai Generator

    免费生成ai无尽的。

    热门文章

    R.E.P.O.能量晶体解释及其做什么(黄色晶体)
    2 周前By尊渡假赌尊渡假赌尊渡假赌
    仓库:如何复兴队友
    4 周前By尊渡假赌尊渡假赌尊渡假赌
    Hello Kitty Island冒险:如何获得巨型种子
    4 周前By尊渡假赌尊渡假赌尊渡假赌

    热工具

    DVWA

    DVWA

    Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

    PhpStorm Mac 版本

    PhpStorm Mac 版本

    最新(2018.2.1 )专业的PHP集成开发工具

    SublimeText3 Mac版

    SublimeText3 Mac版

    神级代码编辑软件(SublimeText3)

    MinGW - 适用于 Windows 的极简 GNU

    MinGW - 适用于 Windows 的极简 GNU

    这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

    ZendStudio 13.5.1 Mac

    ZendStudio 13.5.1 Mac

    功能强大的PHP集成开发环境