日期:2014-05-16  浏览次数:20479 次

Oracle数据完整性和锁机制——《12年资深DBA教你Oracle开发与优化——性能优化部分》

目录:

Oracle数据完整性和锁机制 
索引及优化之表分析 
表分析、约束及表间关系 
Oracle体系结构1
Oracle体系结构2 
海量数据库及分区1 
海量数据库及分区2 
海量数据库及分区3 
海量数据库及分区4 
高级SQL优化(一)  
高级SQL优化(二)  
高级SQL优化(三) 常用优化工具 
PPT和源码下载:   http://sishuok.com/forum/posts/list/6365.html
配套视频课程
   Oracle性能优化 http://sishuok.com/product/601 
   海量数据库和高级SQL优化 http://sishuok.com/product/602
 

本课内容属于Oracle高级课程范畴,内容略微偏向理论性,但是与数据库程序开发和管理、优化密切相关;另外本课的部分内容在前面章节已经涉及,请注意理论联系实际。
事务 
    事务(Transaction)从 通讯的角度看:是用户定义的数据库操作序列,这些操作要么全做、要么全不做,是不可分割的一个工作单元。事务控制语句称为TCL,一般包括Commit和Rollback。
    事务不是程序,事务和程序分属两个概念。在RDBMS中,一个事务可以有一条SQL语句、一组SQL语句或者整个程序;一个应用程序又通常包含多个事务。
    事务是恢复和并发控制的基本单元。
显式事务和隐式事务
 begin
    insert into classes_2(bjbh,bjmc,bjms,bzr,ssxb,bjrs,bz)
    values ('888','测试班级','测试班级','肖丰斌','003','38','');
    commit/rollback;
   end ;
   insert into classes_2(bjbh,bjmc,bjms,bzr,ssxb,bjrs,bz)
    values ('888','测试班级','测试班级','肖丰斌','003','38','');
    commit/rollback;
 
事务的ACID特性和结束方式
事务的ACID特性和结束方式
破坏事务ACID特性的因素包括:
   1.多个事务并行运行时,不同事务的操作交叉执行
   2.事务在运行过程中被强行终止
事务的结束方式包括:
 
 
并行性和一致性
 
   并行性和一致性是针对多用户、多事务,而非单用户、单事务数据库环境的,其含义是在多用户、多事务环境下,针对同一张数据库表的数据存在同时更新(含Update和Insert、Delete)的情况。
  并行性意味着多用户能够同时访问数据;
  一致性意味着每个用户看到的数据是一致的。
   为保证数据的一致性,一般采用了事务隔离机制(事务隔离模型),又称为事务串行化,用来保证事务尽量按照串行的方式执行。
 
执行并行事务要防止三种情况:
1.脏读:事务读取了另外一个没有提交的事务的数据(脏数据);
2.非重复读:事务重新读取了以前读取的数据,结果发现另外一个已经提交的事务已经修改了那些数据;
3. 幻影读:一个事务重新执行,返回满足条件的行集数据,结果发现另外一个已经提交的事务插入了满足条件的其他行的数据。
 
隔离层