`

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数据库基础知识_ISSUE1.0.doc

    这份文档"Oracle数据库基础知识_ISSUE1.0.doc"旨在介绍Oracle数据库的基础知识,帮助初学者理解和掌握Oracle数据库的核心概念。 课程说明部分可能包含课程的目标、教学方法以及相关资料的提供,为学习者提供了整体...

    SQL(oracle).rar_oracle_oracle sql_oracle 总结_pl sql_sql

    `oracle_总结`标签提示,这份资料可能是对Oracle数据库使用和管理的关键知识点的汇总,可能包括表的创建、索引的使用、事务管理、视图的创建与应用、数据库备份与恢复策略等。数据库性能优化也是Oracle管理的重要...

    Oracle_PL-SQL.rar_ORACLE PL_oracle_oracle sql_oracle 教程_pl sql

    以下是一些关于Oracle PL/SQL的基础知识点: 1. **变量与数据类型**:PL/SQL支持多种数据类型,包括数值类型(如NUMBER)、字符类型(如VARCHAR2、CHAR)、日期时间类型(如DATE)以及布尔类型(BOOLEAN)等。声明...

    PLSQL.rar_oracle_oracle ppt_oracle projects_plsql ppt_plsql proj

    标签中的"oracle_ppt"可能代表压缩包中含有关于Oracle的PowerPoint演示文稿,这些PPT可能包含了Oracle数据库的基础知识、高级特性、最佳实践等内容,适合学习和培训。"oracle_projects"和"plsql_ppt"、"plsql_...

    OracleRAC.zip_c++ oracle_oracle_oracle 集群

    安装过程中需要配置Oracle Clusterware,这是Oracle RAC的基础,提供集群管理、故障检测和恢复等功能。接着,要安装Grid Infrastructure,它包含了Clusterware和Automatic Storage Management (ASM),用于管理磁盘...

    oracle 基础知识总结初学者必备

    ### Oracle基础知识总结初学者必备 Oracle数据库作为一款广泛使用的数据库管理系统,在企业和开发领域扮演着重要的角色。对于初学者而言,掌握其基础知识是非常必要的。本文将根据提供的内容进行深入解析,并结合...

    oracle基础知识整理

    以下是一些Oracle基础知识的详细解释: 1. SQL*Plus工具:这是Oracle数据库管理员(DBA)和开发人员常用的命令行界面,用于执行SQL查询和其他数据库操作。`set linesize` 和 `set pagesize` 用于调整输出的行宽和每...

    oracle 基础知识整理

    本文将深入探讨Oracle基础知识,包括其架构、安装、数据类型、SQL语句、表空间管理以及备份与恢复策略。 一、Oracle数据库架构 Oracle数据库采用客户/服务器(Client/Server)模式,由多个组件构成。主要包括数据库...

    Oracle_ziliao.zip_oracle_oracle internal_oracle 培训

    总的来说,这个压缩包提供了一套完整的Oracle数据库学习资源,涵盖了从基础到进阶的知识点,适合数据库管理员(DBA)、开发人员以及其他需要与Oracle数据库打交道的专业人士。通过深入学习和实践这些内容,不仅可以...

    大话Oracle_RAC__集群_高可用性_备份与恢复1-00

    1. **Oracle RAC基础知识**:RAC由多个节点(服务器)组成,每个节点都连接到共享的存储系统。数据在所有节点间共享,任何节点都可以处理数据库请求,实现了服务的连续性和高性能。 2. **RAC的构建**:构建RAC涉及...

    Oracle-SQL.rar_oracle_oracle sql_sql

    在“Oracle-SQL.rar”这个压缩包中,包含了一份名为“Oracle SQL.ppt”的文件,这可能是一个PowerPoint演示文稿,用于详细讲解Oracle数据库的基础知识和SQL语言的使用。下面,我们将深入探讨一些Oracle SQL的基础...

    Oracle基础知识_第八讲.pptx

    Oracle数据库的基础知识主要涵盖数据库的逻辑结构和物理结构,其中数据块、区和段是重要的存储管理概念。在第八讲中,我们重点关注了这些概念及其相互关系。 首先,数据块是Oracle数据库的最小逻辑存储单位,其大小...

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

    以下将详细讲解Oracle基础知识,包括数据库管理、表的创建与维护、SQL查询技巧、权限管理以及PL/SQL编程等方面。 1. **Oracle数据库优势** Oracle数据库因其高性能、高可用性和安全性而受到青睐。它支持大规模并发...

    oracle_note.rar_ORACLE 入门_oracle_oracle 笔记

    这份"Oracle_note.rar"压缩包包含的"数据库开发Oracle学习笔记"是为初学者准备的一份详细教程,旨在帮助读者快速掌握Oracle的基础知识和操作技能。 1. **Oracle数据库概述** Oracle数据库系统是由美国甲骨文公司...

    ATM.zip_ATM机oracle_Atm机编程_oracle_oracle ATM_oracle atm机

    6. **性能优化**:在高并发环境下,Oracle数据库的性能优化至关重要。这可能涉及到索引优化、查询优化、分区策略、缓存管理等技术,以保证ATM机的响应速度和用户体验。 7. **备份与恢复**:为了防止数据丢失,...

    ppt.rar_delphi oracle_delphi ppt_oracle

    综上所述,"ppt.rar_delphi oracle_delphi ppt_oracle"这个压缩包内容可能涵盖了Delphi环境下Oracle数据库的开发基础、高级特性和最佳实践,对于学习和提升Delphi与Oracle数据库的集成应用能力大有裨益。通过阅读PPT...

    oracle资料 包含经典案例 基础教程 和Oracleoracle_database_10g_为_dba_提供的最佳前_20_位的特性.pdf

    了解SQL的基本语法,如SELECT语句、JOIN操作、子查询以及事务处理,是成为Oracle开发人员的基础。此外,理解Oracle的数据模型,包括实体、关系、属性和键,有助于设计高效且可靠的数据库结构。 数据库架构方面,...

    Simpledatabase_oracle_java编程_blanketixe_oracle连接_

    对于开发者来说,理解其数据存储、查询以及事务处理机制是必备的基础知识。 接着,我们探讨Java编程在数据库操作中的作用。Java通过JDBC(Java Database Connectivity)API与各种数据库进行交互。JDBC提供了一套...

    Oracle基础知识_第六讲PPT课件.pptx

    本课件主要讲解了Oracle数据库的联机重做日志文件及其相关概念,包括归档日志文件,旨在帮助学习者掌握数据库恢复的基础知识。 联机重做日志文件的作用在于记录数据库的所有事务操作,即使数据库因硬件故障或操作...

    Oracle基础知识概述.pptx

    Oracle基础知识概述 Oracle基础知识概述是一份关于Oracle数据库的详细介绍,涵盖了数据库概念、Oracle发展史、Oracle基础知识、安装和卸载等方面的内容。 一、数据库概念 数据库是一个集合了大量数据的仓库,具有...

Global site tag (gtag.js) - Google Analytics