`
byf157
  • 浏览: 207811 次
  • 性别: Icon_minigender_1
  • 来自: 石家庄
社区版块
存档分类
最新评论

COMMIT 详解

阅读更多

COMMIT语句处理顺序

 

当事务提交时,Oracle分配一个唯一的顺序号SCN(System Change Number)给事务。数据库恢复总是基于该SCN号来进行处理。SCN号是记录在控制文件、数据文件、块头及重做日志文件中。

 

1.COMMIT处理步骤:

 

Oracle 在下面情况提交事务:

 

?        发出一个COMMIT语句。

?        执行DDL语句时。

?        离开Oracle时。

 

Oracle处理COMMIT的顺序是:

 

1)服务器为每个COMMIT产生一个SCN。使改变永久化。

2)LGWR进程将日志缓冲区数据并带有SCN一起写到重做日志文件。

3)服务器释放表级和行级锁。

4)用户被提示COMMIT完成。

5)服务器使事务已完成。

 

 

Oracle处理ROLLBACK的顺序是:

 

当下面情况发生时执行回滚:

 

?        发出ROLLBACK命令。

?        服务器进程放弃地终止。

?        会话被DBA终止。

 

ROLLBACK 是对数据库的操作进行撤消,步骤有:

 

1)服务器进程不做任何的改变。

2)服务器释放表级和行级锁。

3) 服务器使事务已完成。


分享到:
评论

相关推荐

    MySql是否需要commit详解

    在MySQL数据库中,`commit`是一个关键概念,特别是在涉及事务处理和数据一致性时。本文将详细解析MySQL是否需要`commit`以及不同类型的提交方式。 首先,`commit`的作用在于确认并保存在事务中进行的所有数据库更改...

    PDO::commit讲解

    **PDO::commit详解** 在PHP中,PDO(PHP Data Objects)提供了一种统一的方式来访问不同的数据库,它提供了安全、高效且灵活的接口。在处理数据库事务时,`PDO::commit()` 是一个非常重要的方法,用于提交当前事务...

    vue-vuex中使用commit提交mutation来修改state的方法详解

    这篇详解不仅为我们提供了使用commit提交mutation的详细指南,还阐述了在严格模式下,直接修改state与通过commit修改state的区别和后果。这种深入的理解对于使用Vuex进行状态管理的开发者来说至关重要。

    lpt_commit.rar_Commit!

    《Linux内核UBIFS文件系统中的“lpt_commit”机制详解》 在深入解析“lpt_commit.rar_Commit!”这个压缩包所包含的“lpt_commit.c”源代码之前,我们先来了解一下UBIFS(Unsorted Block Image File System,未排序...

    详解git commit --amend 用法

    在 Git 中,`git commit --amend` 是一个强大的命令,用于修改最近一次提交的内容或消息。这个命令对于修正错误的提交信息或整合连续的提交非常有用。下面我们将详细探讨 `git commit --amend` 的使用方法及其适用...

    详解vuex commit保存数据技巧

    首先,标题和描述中提到的“vuex commit保存数据技巧”是指在使用Vue.js框架中Vuex状态管理库时,如何通过commit操作来安全且有效地保存状态数据。Vuex是专为Vue.js应用程序开发的状态管理模式,它采用集中式存储...

    详解Docker commit的使用

    主要介绍了Docker commit使用的相关资料,帮助大家更好的理解和使用docker容器,感兴趣的朋友可以了解下

    在Vuex使用dispatch和commit来调用mutations的区别详解

    Vuex中的`dispatch`和`commit`是两个重要的概念,它们分别用于触发actions和mutations,但有着不同的工作流程和用途。 首先,让我们了解Vuex的基本结构。一个Vuex store由以下几个部分组成: 1. **state**:存储...

    ewfmgr命令及参数详解

    ewfmgr 命令及参数详解 Ewfmgr 命令是 Windows Embedded 的一个管理工具,用于管理和控制 EWF(Enhanced Write Filter)。EWF 是一种用于保护 Windows Embedded 系统的写入过滤器,用于防止系统配置文件和应用程序...

    详解Docker镜像提交命令commit的工作原理和使用方法

    主要介绍了详解Docker镜像提交命令commit的工作原理和使用方法,可以依据这个容器创建本地镜像,并可把这个镜像推送到Docker hub中,以便在网络上下载使用,感兴趣的可以了解一下

    svn linux下命令详解

    svn linux下命令详解 svn 是 Subversion 的缩写,是一个开源的版本控制系统。它可以帮助开发者更好地管理代码的修改、更新和协作。svn 命令是使用svn系统的核心命令,下面将详细介绍 svn 命令在 linux 平台下的使用...

    git 删除分支和回滚的实例详解

    git 删除分支和回滚的实例详解 【git 删除本地分支】 git branch -D br 【git 删除远程分支】 git push origin :br (origin 后面有空格) git代码库回滚: 指的是将代码库某分支退回到以前的某个commit id 【本地...

    EWFMGR命令详解

    - **All**:显示所有EWF分区的信息或对所有分区执行指定的命令,如`-disable`, `-enable`, `-commit`, `-checkpoint`, `-restore`等。 - **Checkpoint**:创建一个新的覆盖层级别,相当于`SetLevel=[Current ...

    VUE项目构建打包生成Git信息(VERSION和COMMITHASH文件).docx

    ### Git-revision-webpack-plugin 插件详解 1. **安装** 要在Vue项目中使用这个插件,首先需要根据你的Webpack版本进行安装。对于Webpack 4及以上版本,可以使用以下命令: ``` cnpm install --save-dev git-...

Global site tag (gtag.js) - Google Analytics