`
shuntianyingren
  • 浏览: 331 次
社区版块
存档分类
最新评论

数据库隔离级别导致的问题

阅读更多

java代码在开始事务后,先做了一个查询,再insert,此时会报: ERROR JDBCExceptionReporter:78 - Could not retrieve transation read-only status server

问题解决过程: 查看mysql的事物隔离级别
                                            SHOW VARIABLES LIKE '%iso%';
                                           返回结果: REPEATABLE-READ

                                           把这个改成:READ-COMMITTED 就好了: SET GLOBAL tx_isolation='READ-COMMITTED';  (记得java重启应用)
                                           要永久生效的就改my.cnf。

分析:当数据库隔离级别为REPEATABLE-READ时,发布一个select语句也算是事物的开始,而且在hibernate里会把以select语句开头的事务标记为只读事务,此时在这个事务里再执行insert、update、delete等DML语句就会报错。
分享到:
评论

相关推荐

    【面试高频!】数据库事务/事务的作用/数据库事务ACID属性 / 特性/事务的隔离性/数据库事务隔离级别/ 数据库的隔离级别导致问题/数据库事务的使用/mysql的事务死锁/ 快速解决mysql死锁问

    数据库事务: 针对数据库的某一组操作要么全部成功,要么全部失败。 事务的作用 1:保证数据的完整性,失败后可以恢复到原来状态 2:事务与事务之间互不干扰,这样数据会更加安全 数据库事务ACID属性 / 特性 原子性...

    hermitage:数据库中事务隔离级别之间的区别是什么? 这是一组测试案例,用于区分隔离级别

    试图精确确定不同数据库系统隔离级别的实际含义。 它是一组测试,可以模拟各种并发问题(一些常见问题,有些晦涩难懂),并记录不同数据库如何处理这些情况。 该项目由作为他的《一书的背景研究。 在此存储库中,...

    27道高级开发数据库面试题目以及答案.pdf

    数据库事务设置不同的隔离级别会导致的不同并发问题 当前读和快照读的意义; mvcc:多版本控制: 指的是一种提高并发的技术,其解决问题是什么; MVCC实现过程; mvcc三大组件; RC、RR级别下的InnoDB快照读有什么不同...

    msyql锁、事务隔离级别各种场景验证测试.rar

    我们的数据库一般都会并发执行多个事务,多个事务可能会并发的对相同的一批数据进行增删改查操作,可能 就会导致我们说的脏写、脏读、不可重复读、幻读这些问题。 这些问题的本质都是数据库的多事务并发问题,为了...

    电力系统数据库安全解决方案.docx

    将所有的数据库布置在内网中,所有需要提供互联网访问的Web应用系统放在外网,通过数据库隔离装置保障只有数据库通讯协议能够通过隔离装置访问到内网的数据库;隔离装置通过对数据库协议的解析和控制,实现外部系统对...

    SQL Server事务的隔离级别

    这篇数据库教程SQLServer 事务的隔离级别,教程操作方法:  数据库是要被广大客户所共享访问的,那么在数据库操作过程中很可能出现以下几种不确定情况。  更新丢失(Lost update)  两个事务都同时更新一行数据...

    事务隔离级别和脏读的快速入门

    仅从ACID或非ACID角度考虑问题是不够的,你应知道你的数据库支持何种事务隔离级别。一些数据库宣称自己具有“最终一致性”,但却可能对重复查询返回不一致的结果。相比于你所寻求的数据库,一些数据库提供更高的事务...

    Oracle数据库、SQL

    17.4事务的隔离级别 35 17.5数据库开发的关键挑战 35 17.6锁的概念 36 17.7 Oracle的锁机制 36 17.8事务不提交的后果 36 17.9回滚事务rollback 36 17.10保留点savepoint 36 十八、 数据库对象:视图view 37 18.1带子...

    程序员5个刷题网站-InterviewFAQ-database:总结数据库部分的面试常见问题

    大多数数据库系统的默认隔离级别(但不是MySQL默认的)。 它满足了隔离的简单定义:一个事务只能看见已经提交事务所做的改变。 这种隔离级别也支持所谓的不可重复读(Nonrepeatable Read),因为同一事务的其他实例...

    10分钟解决Hibernate的事务管理,Hibernate当中要设置事务的隔离级别

    3、如果我们不考虑事务的隔离性,就会引发一些安全性的问题 (一)读的问题 (1)脏读:一个事务读到另外一个事务未提交的数据 (2)不可重复读:一个事务读到了另一个事务已经提交的update的数据,导致在前一个事务...

    高并发情况下,MYSQL的锁等待问题分析和解决方案

    问题描述 在进行高并发性能调优的时候发现了如下的一个问题: 1. 在一个事务中同时包括了SELECT,UPDATE语句 2. SELECT和UPDATE涉及到的数据为同一张表中的同一...MYSQL的默认隔离级别(可重复度)中,UPDATE,INSERT和

    mysql的事务,隔离级别和锁用法实例分析

    本文实例讲述了mysql的事务,隔离级别和锁用法。分享给大家供大家参考,具体如下: 事务就是一组一起成功或一起失败的sql语句。事务还应该具备,原子性,一致性,隔离性和持久性。 一、事务的基本要素 (ACID) 1、...

    浅析MYSQL REPEATABLE-READ隔离级别

    这种隔离级别可能导致读到的东西是已经修改过的。 比如: 回话一中读取一个字段一行a=1 在回话二里这个字段该行修改a=0,并且提交 回话一中再update这个字段a=0,会发现受影响行数是0,这样就可以根据受影响行数是0还是1...

    数据库参考教程-数据库设计规范4net.xlsx

    ,开发者没有设计依据,任意发挥,导致系统上线后数据不一致、性能低下、瘫痪等严重后果,S023、S024、S026,,,,, D002,访问隔离策略,不同的数据库提供了多种访问隔离级别,在数据访问时为数对象放置不同的锁,以满足...

    PostgreSQL数据库事务实现方法分析

    本文实例讲述了PostgreSQL数据库事务实现... 其它并发的事务是看不到在这些步骤之间的中间状态的,并且如果发生了一些问题, 导致该事务无法完成,那么所有这些步骤都完全不会影响数据库。PostgreSQL为每条事务创建一个

    数据库的读读事务也会产生死锁

     即使用户显式为查询设置了其他事务隔离级别,所有锁提示(Lock Hint)都会被忽略。  为了保证数据同步的完整性,AlwaysOn规定来自数据同步(redo 日志)所做的写操作永远不会被选为死锁牺牲品,无论该写操作的...

    db2数据库入门教程(官方中文版)

    2.2.1数据库分区............................................................................................................23 2.2.2连接集中器(Connection Concentrator ).................................

    最新mysql面试题整理大厂必备,你能答对几个?

    21.使用全局锁会导致什么问题? 22.InnoDB 存储引擎有几种锁算法? 23.InnoDB 如何实现行锁? 24.MySQL 性能指标都有哪些?如何得到这些指标? 25.MySQL 中的重要日志分为哪几个? 26.redo log 和 binlog 有什么...

    10道精选MySQL面试题

    解释不同事务隔离级别的含义以及可能导致的问题(脏读、不可重复读、幻读),并指出MySQL的默认隔离级别是什么。 当表数据量很大时,如何进行SQL查询优化以提高查询效率? 如何设计合适的索引来改善特定查询语句的...

Global site tag (gtag.js) - Google Analytics