深入了解Oracle事务

Oracle事务的对于Oracle数据库的重要性不言而喻,下面就将为您详细介绍Oracle事务方面的知识,供您参考学习之用。

1.Oracle事务隔离

①一个未提交的事务所做的修改不能被其它事务所看到。只有当事务提交成功后,在该事务之后执行的其它事务才可能看到该事务所做的改变。
②在该事务提交之前已经执行了一部分而另一部分在该事务提交后执行的剩余部分同样也看不到该事务做出的改变。这是另一个Oracle特性:读一致和快照。

③在该事务提交同时进行的其它事务同样也看不到该事务所做的改变。

2.语句级回滚

①当一个SQL语句在执行期间因为发生的任何错误而中断时,将产生一个“语句级回滚”。该回滚的后果就像这个SQL语句根本没有执行过一样。

②注意回滚是发生在“执行”阶段的,如果是在SQL语句的解析阶段因为语法问题而无法执行。因为没有产生任何影响而不会出现“回滚”。

3.Oracle事务控制的分割( oracle没有明显的事务开始,结束的语句块,它将自动形成事务块。 )

如果一个事务中包含了DML语句和DDL语句,那么该事务会被分解成多个事务。首先在DDL之前的所有DML语句会被作为一个事务而一次性提交。然后Oracle会为这个DDL创建一个新的,单语句的事务。如果DDL语句执行失败了,那么DML事务依然成功。 每个DDL语句单独成为一个事务,也就是说DDL语句不能回退。

4.不同情况下的Oracle事务控制

请注意:用户从Oracle服务器断开连接和用户进程强行中断的后果是不同的。

①前者典型的例子是Oracle服务器关闭或重启,此时所有未提交事务会被提交。

②后者典型的例子用户通过进程管理器强行kill掉进程,此时所有未提交事务所做的操作被回滚。

5.事务提交前要做的事情

Oracle提交一个事务之前,必须做以下几件事情:

①记住数据被修改前是什么样子的

②记住数据即将要被改成什么样子

③记住redo log和undo log的关联

④将SGA中已读取到内存的数据修改为新的值(此时并未真正保存到数据文件)

其中第一步是通过在undo表空间中记录undo日志来完成的。第二步、第三步是通过向SGA中的redo日志缓冲区写记录来完成的。这样当事务回滚时就可以从redo日志找到对应的undo日志,从而找回之前的数据

要特别注意的是:此时不一定会触发DBWn进程。

要特别注意的另一个地方是:第2步记录事务操作的改变是内存中进行的,还未写到磁盘上的redo日志文件

6.事务提交时所做的事情

①记录SCN值(System Change Number)

②将在线重做日志记录(位于SGA的redo日志缓冲区中)持久化到redo日志文件

③Oracle释放资源和锁

④Oracle将事务标记为已结束

注意:只有在commit指令被发出后,才会将SGA中重做日志缓冲区的内容刷新到磁盘的redo日志文件。在LGWR进程执行前,重做日志一直存在于内存中,也被称为在线重做日志。

7.savepoint回滚和整个事务的回滚

注意当Oracle事务回滚到某个savepoint时,在savepoint之后的所有后续savepoint将失效。但此时Transaction还是活跃且可继续的。这一点不同于整个事务的回滚。

8.自治事务

从传统上来说,一个事务只有在完整执行成功或回滚之后,才会进行下一个事务。而自治事务允许在一个事务中调用运行另一个事务,被调用事务执行完成后,调用事务继续执行之前未完成的操作直至事务结束

自治事务在被调用后,将和外围事务完全独立。彼此之间并不共享任何资源或者锁,外围事务所有未提交的改变对自治事务来说都是不可见。自治事务提交后外围事务将可以看到改变。

 

 

 

【编辑推荐】

删除oracle服务项中不用的服务

Oracle数据库关闭的三种方法

详解Windows下管理Oracle服务

Oracle重做日志的实现方法

Oracle归档日志大小的修改方法

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/290992.html<

(0)
运维的头像运维
上一篇2025-05-19 11:45
下一篇 2025-05-19 11:47

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注