`

oracle基础知识6_事务

    博客分类:
  • DB
 
阅读更多

 

0  SQL类型
a) DML(Data Manipulation Lanuage 数据操作语言): select insert update delete
b) DDL(Data Definition Language 数据定义语言): create/alter/drop/truncate table;

                                                                              create/drop view/sequence/index/synonym
c) DCL(Data Control Language 数据控制语言): commit rollback

 

 1 基础概念

 

delete 和 truncate的区别:

a) delete逐条删除, truncate先摧毁表,在按照原来结构重建

b) delete是DML类型操作(可以回滚) , truncate 是DDL类型操作(不可以回滚)

c) delete操作不会释放表空间,原来有数据时多大执行delete后还是多大, truncate会释放表空间

d) delete会产生碎片,truncate不会

 

 

事务:

 a) 起始于DML语句

 b) 结束于提交: 显示-->commit

                         隐式-->1 正常退出exit 2 DDL语句(默认自带隐式提交)

                 回滚: 显示-->rollback

                          隐式-->停电,宕机,非正常退出

 

 看如下示例,理解下回滚:

 

create table testsavepoint  (tid number,tname varchar2(20));

insert into testsavepoint values(1,'Tom');

insert into testsavepoint values(2,'Mary');

savepoint a;

insert into testsavepoint values(3,'Moke');

select * from testsavepoint;

得到记录:

  TID TNAME                                                                                                       
---------- --------------------                                                                                        
         1 Tom                                                                                                         
         2 Mary                                                                                                        
         3 Moke    

 

rollback to savepoint a;  回滚到设置点

select * from testsavepoint;

   TID TNAME                                                                                                       
---------- --------------------                                                                                        
         1 Tom                                                                                                         
         2 Mary  

commit;

 

 

 

 

事务隔离级别:

 

隔离级别 描述 问题
read uncommitted读未提交数据

允许事务读取未被其他事务提交的变更

 

脏读/不可重复读/幻读的问题都会出现

read committed读已提交数据 事务只能读取被其他事务提交的变更

避免了脏读

不可重复读/幻读会出现

repeatable read可重复读 确保事务可以多次从一个字段中读取相同数值,在这个事务持续期间,禁止其他事务对此字段进行更新

避免了脏读/不可重复读

幻读会出现

serializable 串行化 确保事务可以从一个表中读取相同的行,在这个事务持续期间,禁止其他事务对此字段进行插入,更新,删除

性能低下

规避了所有问题

 

 mysql支持以上所有隔离级别,默认的隔离级别为: repeatable read可重复读

oracle 支持2种离级别,read committed  和 serializable, 默认隔离级别为: read committed

 

 

 

事务分类两大类:

a) 本地事务 (常见开发中大多数都是本地事务)

eg:

try{

  扣费

  加费

  提交

}catch(Exception e){回滚}

b) 全局事务 (JTA: java transaction api  这套java技术支持全局事务)  

try{

  扣费

  加费

  发送短信/邮件 (非数据库业务)

  提交

}catch(Exception e){回滚}
分享到:
评论

相关推荐

    Oracle 基础知识 -大全- 原创整理.pdf

    6.理解oracle事物概念 7.掌握oracle各种sql函数 8.了解oracle管理员的基本职责 9.掌握备份和恢复数据库/表的方法 10.理解表空间、数据字典、性能视图 11.掌握维护oracle数据完整性的技巧 12.理解索引概念,会建立...

    Oracle事务概念及基础知识.pdf

    在测试通过的基础上,采用讲解结合实例的方式,对Oracle 事务概念和知识进行了说明和讲解,并对关键知识点进行了标注,读者只需按照本文内容逐步进行学习和操作,即可完成Oracle事务的学习和掌握。

    oracle基础知识

    此文档是我学习oracle知识做的基础总结,里面的知识通俗易懂,包含数据库的建立与删除,表的怎上,查询,连接,事务的操作等。不繁琐,值得下载

    jfsky.com-Oracle数据库基础知识

    1.2.3 系统全局区 6 1.2.4 进程 8 1.3 存储管理 9 1.3.2 逻辑结构 10 1.3.3 表(Table) 14 1.3.4 视图(View) 18 1.3.5 索引(Index) 18 1.3.6 同义词(Synonym) 19 1.3.7 序列(Sequence) 19 1.3.8 数据库链...

    ORACLE9i_优化设计与系统调整

    第6章 性能优化基础知识 82 §5.1 理解ORACLE性能优化 82 §5.1.1 响应时间与吞吐量的折衷 82 §5.1.2 临界资源 83 §5.1.3 过度请求的影响 83 §5.1.4 调整以解决问题 83 §5.2 优化的执行者 84 §5.3 设置性能目标...

    Oracle 教案(教程)

    第1章 Oracle基础知识 1.1 Oracle简介 1.2 Oracle 的版本 1.3 Oracle的安装(演示) 重要概念: 1. 全局数据库名与SID 全局数据库名 SID(数据库实例名) 2. Oracle的常用账户 3. 安装后的注意事项: 1.4 Oracle的...

    数据库开发 Oracle数据库 SQL开发教程 第01章 Oracle数据库基础(共60页).pdf

    数据库开发 Oracle数据库 SQL开发教程 第01章 Oracle数据库基础(共60页).pdf 数据库开发 Oracle数据库 SQL开发教程 第02章 编写简单的查询语句(共34页).pdf 数据库开发 Oracle数据库 SQL开发教程 第03章 限制...

    Oracle 基础知识

    Oracle基础知识 Oracle是关系型的数据库,支持多用户、大事务量的事务处理。 Oracle基于客户端、服务器端。分布式、可移植。 表空间是数据库中最大的逻辑单位,一个Oracle数据库至少包含一个表空间,就是名为System...

    Oracle入门很简单[张朝明].part2

    本书从初学者的角度出发,由浅入深、循序渐进地介绍了oracle数据库开发的基础知识。书中对数据库基本理论及其在数据库开发过程中的应用也有详细介绍。书中也列举了大量示例,可供读者演练。 本书附带1张dvd光盘,...

    Oracle入门很简单[张朝明].part1

    本书从初学者的角度出发,由浅入深、循序渐进地介绍了oracle数据库开发的基础知识。书中对数据库基本理论及其在数据库开发过程中的应用也有详细介绍。书中也列举了大量示例,可供读者演练。 本书附带1张dvd光盘,...

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    2.1 Oracle架构基础 25 2.2 SGA-共享池 27 2.3 库高速缓存 28 2.4 完全相同的语句 29 2.5 SGA-缓冲区缓存 32 2.6 查询转换 35 2.7 视图合并 36 2.8 子查询解嵌套 39 2.9 谓语前推 42 2.10 使用物化视图...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    ORACLE用户是学习ORACLE数据库中的基础知识,下面就介绍下类系统常用的默认ORACLE用户: 1. sys用户:超级用户,完全是个SYSDBA(管理数据库的人)。拥有dba,sysdba,sysoper等角色或权限。是oracle权限最高的用户,...

    Oracle 10g数据库管理、应用与开发标准教程

    Oracle数据库体系结构,SQL基本查询,修改SQL数据与SQL*Plus命令,PL/SQL编程基础,用户、模式和表,高级查询,过程、函数和程序包,表类型,索引,视图、序列和同义词,触发器,事务与并发控制,安全,管理存储结构...

    深入解析Oracle.DBA入门进阶与诊断案例

    针对数据库的启动和关闭、控制文件与数据库初始化、参数及参数文件、数据字典、内存管理、Buffer Cache与Shared Pool原理、重做、回滚与撤销、等待事件、性能诊断与SQL优化等几大Oracle热点主题,本书从基础知识入手...

    oracle课件1 从零开始 教学课件 共3个压缩包

    数据库系统的目的 数据视图 数据模型 数据定义语言(DDL) 数据操作语言(DML) 事务管理 存储管理 数据库管理员(DBA) 数据库用户 Oracle Database 10g体系结构

    数据库oracle教案.rar

    oracle基础教案包括:数据库基本知识、数据库安装与配置、数据查询语言、多表查询、数据库函数、数据库操纵语言、数据库控制语言、数据库定义语言、数据库事务、视图、序列、索引、触发器、游标、函数、存储过程、...

    oracle经常用到的知识总结文档

    oracle经常用到的知识总结文档,对于学习oracle来说非常有用!包括常用命令,常用表,数据类型,表操作基础,约束,运算符,查询,程序块,事务处理,流程控制,游标,存储过程,日期函数,字符串函数等等....

Global site tag (gtag.js) - Google Analytics