SELECT
•Select * from test where object_id=200在体系中是如何运转的。
•1. 在PGA中把此条SQL语句hash成一个值;
•2. 接下来根据此hash值到SGA的共享池中去匹配,如果没有,首先查询自己的语句语法是否正确,语义是否正确,是否有权限。如果都通过则通过CBO解析生成执行计划(如走索引还是全表)。
•3. 如果是走索引,到数据缓存区找到object_id=200的索引,根据索引rowid找到记录,如果数据缓存区找不到,则到数据文件中找到,并展示给用户。
UPDATE
•Update test set object_id = 100 where object_id = 200; 在体系中是如何运转的。
•更新object_id=200的记录首先要查到object_id=200的记录,检查object_id=200是否在数据缓存中,不在则从磁盘中读取到数据缓存中。
•在回滚表空间的相应回滚段事务表上分配事务槽,从而在回滚表空间分配到空间。该动作需要记录redo日志。
•在数据缓存区中创建object_id=200的前镜像,前镜像数据也会写进磁盘的数据文件(undo表空间的数据文件),从缓存区写进磁盘有CKPT决定,当然这些动作都要记录redo日志。
•前面的步骤做完了,才允许object_id=200改为object_id=100,记录redo日志。
•此时用户如果执行了提交,日志缓存区立即记录这个提交信息,然后将回滚段事务标记为非激活INACTIVE状态,表示允许重写。
如果执行了回滚,Oracle需要从回滚段中将前镜像object_id=200的数据读出来,修改数据缓存区,完成回滚,记录redo日志。
delete运作流程?
相关推荐
### Oracle PL/SQL程序设计(第5版)(上下册)知识点概述 #### 一、PL/SQL编程基础 - **PL/SQL简介**:PL/SQL(Procedural Language for SQL)是Oracle数据库的一种内嵌式过程化语言,用于增强SQL的功能。它允许在SQL...
### Oracle 9i PL/SQL程序设计笔记精要 #### PL/SQL基础知识概览 **标题与描述**:本文档围绕“Oracle 9i PL/SQL程序设计笔记”这一核心主题,深入探讨了PL/SQL语言的基础知识及其在Oracle 9i数据库环境中的应用。...
Oracle 10g是一款强大的关系型数据库管理系统,其SQL(结构化查询语言)和PL/SQL(过程化SQL)是数据库管理员和...这些文档(如SQL语句的各章节)将详细解释上述概念,为深入理解Oracle SQL和PL/SQL提供了全面的指南。
Oracle 12c PL/SQL程序设计是数据库管理员和开发者必备的技能之一,尤其是在大型企业级应用中。Oracle 12c是Oracle数据库的一个重要版本,它引入了许多新特性和性能优化,使得PL/SQL编程更为高效且功能强大。本指南...
Oracle PL/SQL是一种强大的编程语言,它结合了SQL的数据处理能力与PL的程序设计特性,是Oracle数据库系统中用于创建存储过程、函数、触发器和包的主要工具。在这个"Oracle PL/SQL实战(待续)"的主题中,我们将深入...
在压缩包子文件的文件名"ms转sql语句.exe"中,我们可以推测这可能是一个用于将SQL Server语句转换为Oracle兼容格式的可执行程序。这样的工具通常会提供用户友好的界面,让用户导入SQL Server的数据库元数据,然后...
Oracle PL/SQL是一种强大的编程语言,它结合了SQL(结构化查询语言)的数据库操作功能与PL/SQL的程序设计特性,广泛应用于Oracle数据库的开发和管理。这本书"Oracle PL/SQL从入门到精通"的配套源代码,显然是为了...
当需要将一个基于Oracle SQL的应用程序迁移到MySQL环境时,就需要进行SQL语句的转换工作。本项目提供了一个Java源码工具,能够帮助用户便捷地将Oracle SQL语句转换为MySQL SQL语句。 Oracle SQL与MySQL SQL的主要...
Oracle PL/SQL是一种强大的编程语言,它嵌入在Oracle数据库中,用于创建复杂的数据库应用程序。这本书《Oracle PL/SQL程序设计》被誉为数据库程序设计领域的权威之作,深入浅出地介绍了如何利用PL/SQL进行高效、稳定...
此外,书中还涉及到了ORACLE数据库的安装、存储过程的编写、序列操作、数据类型转换、程序设计指导原则、合并数据库中的数据行(MERGE)、约束、索引、子查询、分页技术等高级主题。 最后,还有关于字符串、数值、...
10. **游标变量和复合类型**:使用游标变量进行动态SQL操作,以及利用复合类型处理复杂的数据结构。 11. **包(PACKAGE)**:学习如何创建和使用包,它能封装相关的PROCEDURE、FUNCTION和变量,提高代码的组织性和...
Oracle PL/SQL是一种强大的编程语言,它结合了SQL的数据库操作能力和PL/SQL的结构化编程特性,使得数据库开发者能够创建复杂的应用程序和数据库逻辑。在"Oracle PL/SQL实例精解 数据库建立代码"中,我们将深入探讨...
Oracle SQL 是一种强大的数据库查询和编程语言,广泛用于管理和操作Oracle数据库系统。11g第二版(11G2)是Oracle的一个重要版本,提供了许多增强功能和优化。本官方文档集包括四份重要的参考资料,涵盖了Oracle SQL...
1. **基础语法**:PL/SQL的基础包括声明变量、常量、游标、记录类型以及控制流程语句(如IF-THEN-ELSIF,WHILE,FOR循环)。书中会详细介绍如何编写简单的PL/SQL块,包括声明部分、执行部分和异常处理部分。 2. **...
Oracle PL/SQL是一种强大的编程语言,专为在Oracle数据库环境中创建和管理复杂的应用程序而设计。第五版的《Oracle PL/SQL程序设计》是学习和深入理解这一语言的关键资源。以下将详细介绍PL/SQL的基本概念、特性以及...
### Oracle PL/SQL 语言袖珍参考手册第五版 (2015) 知识点概览 #### 核心内容概述 《Oracle PL/SQL 语言袖珍参考手册》(第五版)由三位专家Steven Feuerstein、Bill Pribyl和Chip Dawes共同编著,是一本专为Oracle...
6. 数据类型:两者的数据类型有差异,例如SQL Server的 `NVARCHAR` 对应Oracle的 `NCLOB`,`DATE` 在Oracle中包含了时间信息,而在SQL Server中则不包含。 7. 连接操作:SQL Server使用 `JOIN ON`,Oracle也支持...
这是因为 WebLogic 服务器为了更好地管理和操作数据库连接,会使用自己的包装类 `weblogic.jdbc.wrapper.Clob_oracle_sql_CLOB` 来表示 CLOB 类型的数据,而不是直接使用 Oracle 提供的标准 `oracle.sql.CLOB` 类。...
Oracle 10g SQL和PL/SQL的学习是数据库开发者的基石,掌握了这两者,不仅可以高效地操作和管理Oracle数据库,还能为进阶的数据库设计、性能优化和应用程序开发打下坚实的基础。"精通Oracle 10g SQL和PL SQL.pdf"这份...