oracle中transaction是不是只有commit之后才能完成,不commit事物就完成不了???

VMware Workstation Pro 16 安装 Ubuntu 20.04 VMware Workstation Pro 16 安装 ubuntu 20.04目录环境VMware Workstation下载Ubuntu 20.04下载安装过程 目录 环境 Windows 10 Workstation 16 Pro for Windows Ubuntu 20.04 LTS 64位 desktop版本 VMware Workstation下载 链接: https://www.vmware.com/products/workstation-pro/workstation-pro-eval 阅读详情

数据库] oracle中transaction是不是只有commit之后才能完成,不commit事物就完成不了??? [复制链接]
0 0

论坛徽章:
1
天蝎座日期:2014-10-18 18:48:57
跳转到指定楼层
1楼[收藏(0)][报告]
  发表于 2014-04-11 20:19  | 只看该作者  | 倒序浏览
本帖最后由 蓦然princes 于 2014-04-12 00:02 编辑

oracle中讲到transaction时提到,只有commit之后才一个事物才算完成。例如 一条insert语句,如果不commit
则,数据一致在SGA中,并没有写入Redolog file中。只有commit之后才会将SGA中的数据写入Redolog file中
一个transaction才算完成。
问题:在讲到后台进程时说:DBWR进程是由checkpoint时间触发、或者data Buffer cache达到一定界值之后触发
         那就是说,如果一个insert语句执行完了,不进行commit,此时checkpoint时间发生,或者data Buffer cache
         达到一定界限值,又或是,日志切换发生,都将触发DBWR进程进行数据写操作,但是在DBWR进行之前会
        触发LGWR进程。此时没有进行commit的数据自动从SGA中的Relog Buffer中写道Redolog file中。
请问:这样不是和transaction中说的如果没有commit事物就没有完成矛盾了吗????也就是说,即使没有commit
       那insert这个transaction也可能完成。

     也就是说,任何操作不用commit进行提交,等到LGWR进程启动时(如:redolog Buffer达到1/3满,每三秒等)Sga中的redolog Buffer会写入到redolog file中, 这样的话,对于一个transaction,没有commit,也很有可能由于LGWR启动,将
sga中的数据写入到日志了啊。。。。我不知道哪里理解错了,请高手们指点小弟一下!!!感激不尽啊!!!
 
   

论坛徽章:
17
技术图书徽章日期:2014-04-29 09:09:57 数据库技术版块每日发帖之星日期:2015-12-13 06:20:00 IT运维版块每日发帖之星日期:2015-12-13 06:20:00 数据库技术版块每日发帖之星日期:2015-10-20 06:20:00 数据库技术版块每日发帖之星日期:2015-08-21 06:20:00 数据库技术版块每日发帖之星日期:2015-06-17 22:20:00 2015年迎新春徽章日期:2015-03-04 09:57:09 2015年辞旧岁徽章日期:2015-03-03 16:54:15 技术图书徽章日期:2015-01-12 17:05:35 亥猪日期:2014-11-09 13:05:04 未羊日期:2014-07-26 13:08:31 金牛座日期:2014-09-25 11:28:54
2楼[报告]
  发表于 2014-04-15 16:10  | 只看该作者
回复 1# 蓦然princes 


    不矛盾的,一般checkpoint的时候,脏数据会写入日志和数据文件,即使是没有提交commit也会写入数据文件,同时在日志文件中会有相关的信息描述,未提交commit和提交commit的数据都会在数据文件中,区别在于日志文件中记录的信息不同,一旦自动或者是手动执行rollback回滚操作的话,未提交commit的数据会被恢复为前映像的状态,不知道我的回答你是否满意?
 
   

论坛徽章:
1
天蝎座日期:2014-10-18 18:48:57
3楼[报告]
  发表于 2014-04-15 20:48  | 只看该作者
还不能确定你说的是不是正解,因为除了你没有其他人恢复啊?????为什么,难道是我问的问题没法回答吗????回复 2# jackson198574 


   
 
   

论坛徽章:
17
技术图书徽章日期:2014-04-29 09:09:57 数据库技术版块每日发帖之星日期:2015-12-13 06:20:00 IT运维版块每日发帖之星日期:2015-12-13 06:20:00 数据库技术版块每日发帖之星日期:2015-10-20 06:20:00 数据库技术版块每日发帖之星日期:2015-08-21 06:20:00 数据库技术版块每日发帖之星日期:2015-06-17 22:20:00 2015年迎新春徽章日期:2015-03-04 09:57:09 2015年辞旧岁徽章日期:2015-03-03 16:54:15 技术图书徽章日期:2015-01-12 17:05:35 亥猪日期:2014-11-09 13:05:04 未羊日期:2014-07-26 13:08:31 金牛座日期:2014-09-25 11:28:54
4楼[报告]
  发表于 2014-04-16 09:28  | 只看该作者
本帖最后由 jackson198574 于 2014-04-16 09:32 编辑

回复 3# 蓦然princes 

官方文档Concept:
checkpoint
1. A data structure that marks the checkpoint position, which is the SCN in the redo 
thread where instance recovery must begin. Checkpoints are recorded in the control 
file and each data file header, and are a crucial element of recovery. 
2. The writing of dirty data blocks in the database buffer cache to disk. The database 
writer (DBWn)process writes blocks to disk to synchronize the buffer cache with the 
data files.

Checkpoint Process (CKPT) 
The checkpoint process (CKPT)updates the control file and data file headers with 
checkpoint information and signals DBWnto write blocks to disk. Checkpoint 
information includes the checkpoint position, SCN, location in online redo log to begin 
recovery, and so on. As shown in Figure 15–4, CKPT does not write data blocks to data 
files or redo blocks to online redo log files.

 
   

论坛徽章:
1
天蝎座日期:2014-10-18 18:48:57
5楼[报告]
  发表于 2014-04-17 19:28  | 只看该作者
高手,请问你的这段”不矛盾的,一般checkpoint的时候,脏数据会写入日志和数据文件,即使是没有提交commit也会写入数据文件,同时在日志文件中会有相关的信息描述,未提交commit和提交commit的数据都会在数据文件中,区别在于日志文件中记录的信息不同,一旦自动或者是手动执行rollback回滚操作的话,未提交commit的数据会被恢复为前映像的状态,不知道我的回答你是否满意?“内容在联机文旦哪里能找到,我找不到这段内容在官方文档中的讲解位置。。。。感激不尽回复 4# jackson198574 


   
 
   

论坛徽章:
17
技术图书徽章日期:2014-04-29 09:09:57 数据库技术版块每日发帖之星日期:2015-12-13 06:20:00 IT运维版块每日发帖之星日期:2015-12-13 06:20:00 数据库技术版块每日发帖之星日期:2015-10-20 06:20:00 数据库技术版块每日发帖之星日期:2015-08-21 06:20:00 数据库技术版块每日发帖之星日期:2015-06-17 22:20:00 2015年迎新春徽章日期:2015-03-04 09:57:09 2015年辞旧岁徽章日期:2015-03-03 16:54:15 技术图书徽章日期:2015-01-12 17:05:35 亥猪日期:2014-11-09 13:05:04 未羊日期:2014-07-26 13:08:31 金牛座日期:2014-09-25 11:28:54
6楼[报告]
  发表于 2014-04-17 20:20  | 只看该作者
回复 5# 蓦然princes 


    不是官方文档里的,你谷歌一下吧。
 
   

论坛徽章:
17
技术图书徽章日期:2014-04-29 09:09:57 数据库技术版块每日发帖之星日期:2015-12-13 06:20:00 IT运维版块每日发帖之星日期:2015-12-13 06:20:00 数据库技术版块每日发帖之星日期:2015-10-20 06:20:00 数据库技术版块每日发帖之星日期:2015-08-21 06:20:00 数据库技术版块每日发帖之星日期:2015-06-17 22:20:00 2015年迎新春徽章日期:2015-03-04 09:57:09 2015年辞旧岁徽章日期:2015-03-03 16:54:15 技术图书徽章日期:2015-01-12 17:05:35 亥猪日期:2014-11-09 13:05:04 未羊日期:2014-07-26 13:08:31 金牛座日期:2014-09-25 11:28:54
7楼[报告]
  发表于 2014-04-17 20:22  | 只看该作者
回复 5# 蓦然princes 


    我这段描述回头看有问题,不过既然你看过官方文档了,最好自己多安排一些精力在研究官方文档上。
 
   

论坛徽章:
7
天蝎座日期:2013-08-16 23:19:32 午马日期:2014-04-28 11:02:40 丑牛日期:2014-01-08 09:20:14 寅虎日期:2014-01-11 11:03:44 天秤座日期:2014-05-16 23:24:24 摩羯座日期:2014-07-20 10:46:04 卯兔日期:2014-08-08 15:21:41
8楼[报告]
  发表于 2014-04-17 22:21  | 只看该作者
commit做了什么?
commit的本质是把 log buffer里的日志数据块刷新到redo logfiles磁盘中,保证了数据部丢失。
 
   

论坛徽章:
0
9楼[报告]
  发表于 2015-09-21 10:21  | 只看该作者
2楼回答的很正确 闲来无聊 翻翻帖子
 

STM32入门教程:智能储物柜控制 在这个例子中,我们将使用一个4x4的储物柜,共有16个储物格。我们了解了硬件准备、储物柜电路设计、STM32的基本配置、储物柜控制代码的编写以及测试和调试等方面的知识。根据我们的电路设计,我们需要将一些引脚配置为输出,并将其他引脚配置为输入。在本教程中,我们将使用STM32微控制器来实现一个基本的智能储物柜控制系统。在主函数中,我们将不断循环读取传感器数据,并根据数据的变化来控制储物柜的开关和显示相关信息。这个函数将读取人体感应传感器、温湿度传感器和光照传感器的数据,并将数据存储到相应的变量中。 阅读详情

相关推荐

TYPE-C接口电路设计篇(一)

常见USB接口类型 随着USB Type-C接口的推行,USB Type-C是一种通用串行总线(USB)的硬件接口形式,USB Type-C接口在消费类产品普及程度越来越高,常见的适配器、笔电、手机等产品都兼容USB Type-C设计,接口多元化逐渐趋向归一,从而可以看出USB Type-C的重要性。 在了解USB Type-C接口之前,我们先来回顾下USB Type-A和USB Type-B接口,USB3.0 Type-A和Type-B接口定义分别如下。 USB 3.0...

JWu的博客 3万+

java-jdbc数据库事务

管理事务: 开启事务: setAutoCommit( boolean autoCommit) : 调用该方法设置参数为false,即开启事务 提交事务: commit() 回滚事务: rollback() Connection conn = null; PreparedStatement pstmt1 = null; PreparedStatement pstmt2 = null; Savepoint savepoint = null; try { ...

hdsHDS6的博客 355

Qt 侧边菜单栏+堆叠窗口stackedWidget

效果如下:环境:Qt 6.6.2 MSVC2019 64bit。

weixin_41033231的博客 1568

Oracle 事务

<br /><br />1开始一个事物处理:<br />语法:<br />SET TRANSACTION {READ ONLY | USE ROLLBACK SEGMENT segment}<br />例:<br />SQL> SET TRANSACTION READ ONLY<br />SQL> SELECT * FROM CUSTOMERS<br />WHERE Turner';<br />SQL> COMMIT<br />我们将在今天的晚些时候来讨论COMMIT 语句这里的SET TRANSACTIO

AllanMorgan的专栏 1874

手把手配置:用Synopsys VDK为英飞凌TC4x系列MCU做虚拟原型开发

本文详细介绍了如何使用Synopsys VDK为英飞凌TC4x系列MCU进行虚拟原型开发,涵盖开发环境搭建、关键外设虚拟化配置、AUTOSAR栈集成及虚拟调试与性能调优全流程。通过虚拟原型技术,开发者可提前6-12个月启动软件开发,显著提升汽车电子项目的开发效率。

weixin_30606461的博客 291

【雷达成像实战】RD、CS、RMA算法对比与Matlab实现:从信号处理到高清成像

本文深入对比了雷达成像中三种核心算法:经典的距离多普勒算法(RD)、基于稀疏重建的压缩感知算法(CS)以及高精度的快速多通道获取算法(RMA)。通过详细的Matlab实战代码,从原理拆解到实现步骤,分析了各自在计算效率、成像精度、数据需求和适用场景上的优劣,为工程选型与算法实践提供了清晰指南。

weixin_29095587的博客 449

oracle 自治事务异常不回滚,Oracle自治事务引起的死锁

1.关于自治事务引起的死锁Oracle解释Note:65961.Because the parent and child transactions are independent, they also are not ableto share any locks; if a parent transaction has a resource locked that a childattemptst...

weixin_42557656的博客 257

【LLM技术全景】规模定律与模型演进:为什么模型越大越强?

规模定律性能 ∝ 参数量^N性能 ∝ 数据量^M性能 ∝ 计算量^L其中 N, M, L 是小于1的正数(通常0.05~0.15)关键观察损失与规模的关系呈幂律(不是线性,也不是对数)三个要素(参数、数据、计算)需要协调增长只增加其中一个要素,收益会边际递减规模定律(Scaling Law):1. 模型性能与参数量、数据量、计算量呈幂律关系2. Kaplan定律(2020):参数量是主要因素3. Chinchilla定律(2022):数据和参数同等重要,最优比例1:20。

专注:太空算力、AI infra、异构调度、大模型成本工程 495

数据库oracle--commit与不commit

http://www.linuxidc.com/Linux/2012-07/66711.htm

世上无难事只要肯放弃 3620

银河麒麟V10等保加固清单:安全基线配置一篇搞定(附逐项检查表)

通过限制使用SSH直接以root身份登录,禁用公钥登录的方式加强SSH服务的安全性。更改SSH默认端口可在一定程度上防止被黑客使用大批量扫描方式攻击。通过修改SSH的配置文件限制可以使用SSH服务远程管理的主机。

信创运维工程师 · 银河麒麟 & 容器实战 | 金融生产环境迁移·等保加固 | 142篇原创·17万+阅读 817

RandLA-Net Tensorrt 推理 c++

RandLA-Net 实现 Tensorrt 部署.

J。 1109

ORACLE 事物TRANSACTION = COMMIT+ROLLBACK

事物 TRANSACTION = COMMIT + ROLLBACK 一组DML语句组合 ACID 原子性(Atomicity):事物必须是原子工作单元,事物里包含的一组sql语句要么全执行,要么全不执行 一致性(Consistency):事物完成时,所有数据都保持一致状态,即数据要改都改,保持数据完整性 隔离性(Isolation):两个事物的执行互不干扰 持久性(Durability...

FightingITPanda的博客 892

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

oracle事物处理语句,Oracle SET TRANSACTION语句(设置事务)

在 Oracle 中,SETTRANSACTION 语句可以用来设置事务的各种状态,比如只读、读/写、隔离级别,为事务分配名称或将事务分配回滚段等等。本教程要为大家带来的就是 SETTRANSACTION 语句的语法以及示例,教大家如何正确使用该语句。SET TRANSACTION语法Oracle中SETTRANSACTION语句的语法是:SET TRANSACTION [ READ ONL...

weixin_35595817的博客 533

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Oracle 提交(commit)与回滚(rollback)

数据库每执行一个事务,都会有一个提交或者回滚的操作,所以对于commit与rollback的掌握也是很有必要的,掌握好了他们,可以让我们在编写程序过程的过程中,更加有效的编写程序,以实现自己的需求。 知识无极限,与你来相见,欢迎点赞支持!

yzh的博客 1万+

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

[Oracle Transaction]Oracle数据库事务

  本人的Blog更新:http://www.iwllsea.com/default.asp?cateID=9,涉及更多Oracle文章,希望对大家有所帮助。 1.0摘要本篇主要介绍什么是事务以及对数据库操作时如何控制事务。2.0内容1、 什么是事务2、 事务的控制 1、 什么是事务事务是作为单个逻辑工作单元执行的一系列操作。一个逻辑工作单元必须有四个属

WillSea的专栏 3806

PRAGMA AUTONOMOUS_TRANSACTION 独立事物

数据库事务是一种单元操作,要么是全部操作都成功,要么全部失败。在Oracle中,一个事务是从执行第一个数据管理语言(DML)语句开始,直到执行一个COMMIT语句,提交保存这个事务,或者执行一个ROLLBACK语句,放弃此次操作结束。   事务的“要么全部完成,要么什么都没完成”的本性会使将错误信息记入数据库表中变得很困难,因为当事务失败重新运行时,用来编写日志条目的INSERT语句还未完

CTO成长之路——Rosanu 871

事物的理解

MySQL事物: 事物(Transaction):一组SQL语句操作单元,组内所有的SQL语句完成你一个业务逻辑.如果整租成功,意味着全部的SQL都实现.如果其中任何一个失败,意味着整个操作失败. 失败:意味着整个过程没有意义.应当把数据库回到操作前的初始状态. 所以:事物是指逻辑上的一组操作,组成操作的各个单元,要不全成功要不全失败. 举个例子: 比如一个下单过程,从个人账户扣除50元

sky 625

oracle自制事物

各位大侠,以下有几个关于存储过程事物的问题请教下...,本人对oracle事物机制真正学习中,希望高手指点并详细说明下,非常感谢..例:oracle PACKAGE 里调用3个存储过程,分别为A,B,C; A...

congmaqian6063的博客 228

oracle自治事务(PRAGMA AUTONOMOUS_TRANSACTION)

数据库事务是一种单元操作,要么是全部操作都成功,要么全部失败。在Oracle中,一个事务是从执行第一个数据管理语言(DML)语句开始,直到执行一个COMMIT语句,提交保存这个事务,或者执行一个ROLLBACK语句,放弃此次操作结束。 事务的“要么全部完成,要么什么都没完成”的本性会使将错误信息记入数据库表中变得很困难,因为当事务失败重新运行时,用来编写日志条目的INSERT语句还未完成。

需求改变人生! 1万+

Oracle不可以回滚的,Oracle自治事物,解决主事物不能回滚。

如下,新建两个存储过程:在主自治事务中,我们插入一条记录,然后在自治事务中,查看表中行数,然后尝试插入三条记录,查看行数,最后rollback 查看行数,最后返回主事务,查看行数。1、如下代码: --主事务PROCEDURE p_test_at_and_mt IScnt NUMBER := -1;BEGININSERT INTO msg VALUES ('father Record');SELEC...

weixin_42514949的博客 735

Oracle事物

一.事务的概念   数据存储的逻辑单位是数据块,数据操作的逻辑单位是事务。 事务(transaction)是用户的一组操作序列,由一条或多条 SQL 语句组成。 事务处理是 RDBMS 的核心。 事务管理技术主要包括数据库的恢复技术和并发控制技术,这也是 RDBMS 的重要组成部分。   处理一个事务时,Oracle 的执行过程如下:   服务器进程获取该事务 SQL 语句,检查

产品经理,程序人生 1392

oracle语句开启事物,Oracle事务控制和OracleDDL语句-Oracle

Oracle 事务控制会隐式的执行Commit动作: 1、数据定义语句(DDL)被执行的时候,比如新建一张表: create table 2、数据控制语句(DML)被执行的时候,比如赋权 或者 DENY) 3、正常退出 iSQL*Plus 或者PLSQL DEVELOPER, 而没有显式的执行 COMMIT 或者 ROLLBACK 语句 。会隐式执行Rollback 动作: 1、非正常退出 SQL...

weixin_42550597的博客 1424

MySQL与Oracle的区别 之 事务的commit与rollback

oracle中事务从上一个commit或rollback开始; 但是MySQL中事务的开始必须要有START TRANSACTION;这才标志着一个事物的开始,否则使用rollback是无法回滚数据的。

曾经是个DBA 3190

oracle 自制事务 PRAGMA AUTONOMOUS_TRANSACTION

数据库事务是一种单元操作,要么是全部操作都成功,要么全部失败。在Oracle中,一个事务是从执行第一个数据管理语言(DML)语句开始,直到执行一个COMMIT语句,提交保存这个事务,或者执行一个ROLLBACK语句,放弃此次操作结束。事务的“要么全部完成,要么什么都没完成”的本性会使将错误信息记入数据库表中变得很困难,因为当事务失败重新运行时,用来编写日志条目的INSERT语句还未完成。针对这种困境

gongzhufanlulu的博客 859

oracle事物具有下列哪些特征,Oracle PL/SQL(14) - 事务

Oracle是基于事务的,Oracle以用户事务来确保数据的完整性。一个事务即将一系列的数据操纵的sql语句作为一个逻辑单元,逻辑单元里面的单个操作要么全做,要么全部不做,以保证数据的完整性。事务的特性:原子性:事务是SQL中的最小执行单位,不能再进行分割。要么全部执行,要么全部不执行。一致性:在事务操作前和事务操作后,数据必须处于一致状态。隔离性:事务之间是相互隔离的,多个事务不会相互影响。持久...

weixin_35973521的博客 380

Oracle——事务(Transaction)

 Oracle——事务(Transaction) 事务:   事务是指作为单个逻辑工作单元执行的一组相关操作。     这些操作要求全部完成或者全部不完成。 使用事务的原因:保证数据的安全有效。 事务的四个特点:(ACID)   1、原子性(Atomic):事务中所有数据的修改,要么全部执行,要么全部不执行。   2、一致性(Consistence):事务完成时,要

u011727893的博客 1071
上一篇: java中ArrayList 、LinkList的区别分析
下一篇: Java中实现FTP上传下载文件的功能,完整代码
javaPie
博客等级 码龄16年 1171粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值