使用单用户数据库时,每个事务都是顺序执行的,而不必应付与其它事务的冲突。但是,在多用户数据库环境下,多个事务可以同步执行,并且每个事务都有可能与其它正在运行的事务发生冲突。在多用户环境下,如果不将事务彼此隔离开来,就会发生四种现象:
丢失更新:这种事件发生在两个事务读取和尝试更新同一数据时,其中一个更新会丢失。例如:事务 1 和事务 2 读取同一行数据,并都根据所读取的数据计算出该行的新值。如果事务 1 用其新值更新该行以后,事务 2 又更新了同一行,则事务 1 所执行的更新操作就丢失了。由于设计的方法,DB2 通用数据库不允许发生此类现象。
脏读:当事务读取尚未提交的数据时,就会发生这种事件。例如:事务 1 更改了一行数据,而事务 2 在事务 1 提交更改之前读取了已更改的行。如果事务 1 回滚该更改,则事务 2 就会读取被认为是不曾存在的数据。
不可重复的读:当一个事务两次读取同一行数据,但每次获得不同的数据值时,就会发生这种事件。例如:事务 1 读取了一行数据,而事务 2 在更改或删除该行后提交了更改。当事务 1 尝试再次读取该行时,它会检索到不同的数据值(如果该行已经被更新的话),或发现该行不复存在了(如果该行被删除的话)。
幻像:当最初没有看到某个与搜索条件匹配的数据行,而在稍后的读操作中又看到该行时,就会发生这种事件。例如:事务 1 读取满足某个搜索条件的一组数据行,而事务 2 插入了与事务 1 搜索条件匹配的新行。如果事务 1 再次执行产生原先行集的查询,则会检索到不同的行集。
维护数据库一致性和数据完整性,但又允许多个应用程序同时访问同一数据,这样的特性称为并发性。DB2 通用数据库尝试用来强制执行并发性的方法之一是通过使用隔离级别,它决定在第一个事务访问数据时,如何对其它事务锁定或隔离该事务所使用的数据。DB2 通用数据库使用下列隔离级别来强制执行并发性:
可重复的读(Repeatable Read)
读稳定性(Read Stability)
游标稳定性(Cursor Stability)
未提交的读(Uncommitted Read)
分享到:
相关推荐
十五、事务隔离级别决定了并发操作时数据的一致性,通常有READ UNCOMMITTED、READ COMMITTED、REPEATABLE READ和SERIALIZABLE四种,DB2支持这些隔离级别以适应不同的并发场景。 掌握以上知识,开发者能够有效地设计...
### DB2基础知识精要 #### 一、DB2产品概览 DB2是IBM公司推出的一款关系型数据库管理系统,广泛应用于各类企业级应用环境中。本文档主要介绍了DB2的几个重要版本及其特点。 ##### 1. DB2产品版本 - **DB2 ...
DB2 000-700 考试主要覆盖 IBM DB2 UDB V8.1 的基础知识和技术要点,包括数据库设计、管理、查询优化、数据类型理解等方面。以下将对题库中的几个典型题目进行详细的分析和解答。 #### 二、题目解析 ##### 题目1:...
- **书籍推荐**:包括《DB2 for Linux, UNIX and Windows – Sixth Ed.》、《Understanding DB2: Learning Visually Reading Materials》等专业书籍,覆盖了DB2的基础知识到高级应用。 - **技术文档**:IBM的技术...
通过理论讲解与实际操作相结合的方式,不仅能够帮助学员快速掌握 DB2 的基础知识,还能让他们深入了解如何有效地将现有 Oracle 数据库迁移至 DB2。此外,该课程还特别强调了 DB2 在数据并发控制和 XML 数据处理方面...
首先,DB2的基础知识包括数据库的概念、体系结构和组件。DB2采用客户-服务器模型,支持多种操作系统平台,如Windows、Linux、Unix和IBM AIX。它采用了SQL标准,提供了丰富的数据类型,包括数值类型、字符串类型、...
- **第3章:命令行处理器选项**:列举了命令行处理器支持的各种选项,如连接数据库、设置事务隔离级别等。 - **第4章:命令行处理器返回代码**:解释了不同命令执行后返回的状态码含义,有助于用户判断命令是否...
- 事务与并发控制:理解ACID属性,掌握事务的提交、回滚和隔离级别。 - 锁机制:了解行级锁、页级锁和表级锁的原理及应用。 5. **备份与恢复**: - 备份策略:全备、增量备份数据库的方法和时机选择。 - 恢复...
4. "db2-cert7314-a4.pdf":可能涵盖DB2的安全性和权限管理,包括用户身份验证、角色、权限和隔离级别。 5. "db2-cert7317-a4.pdf":可能讲解DB2的备份和恢复策略,包括逻辑备份、物理备份和灾难恢复计划。 6. "db2-...
DB2是IBM开发的一款关系型数据库管理系统,...通过深入学习这些专题,不仅可以理解DB2的基础知识,还能具备解决实际问题的能力。随着学习的深入,你将能够设计、实施和维护复杂的DB2数据库系统,满足企业级应用的需求。
首先,我们来深入了解DB2的基础知识。DB2采用SQL作为其查询语言,支持ACID(原子性、一致性、隔离性、持久性)事务,保证了数据的一致性和完整性。它提供了多种数据库存储引擎,如DMS(数据库管理系统)用于处理结构...
### DB2 for AIX安装手册知识点详述 #### 一、安装准备阶段 **1.1 安装前提条件** 确保AIX系统版本满足DB2的兼容性需求至关重要。使用`#oslevel -r`命令可以检查当前AIX系统的详细版本号。如果系统版本低于5300-...
根据给定的“DB2 700考试大纲”文件信息,我们可以深入解析并提炼出以下关键知识点,这些知识点不仅涵盖了DB2 UDB V8.1 Family Fundamentals考试的要点,也涉及了部分DB2 UDB V8.1 for Linux, UNIX, and Windows ...
DB2通过隔离级别和锁定策略来实现事务的并行性,从而提高数据库整体的处理能力。 **结束语:** 通过以上知识点的详细解析,可以看出DB2基础教程第二部分深入涵盖了数据库并行性、静态和动态SQL编程、锁定机制、游标...
本指南将深入探讨DB2的基础知识,包括安装配置、SQL语法、数据管理、事务处理、安全性以及高级特性。 首先,让我们从DB2的安装与配置开始。在安装DB2之前,你需要确保你的系统满足最低硬件和软件要求。DB2支持多种...