首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 其他相关 >

事宜机制

2012-10-28 
事务机制1.概念——多步操作组成的一个(逻辑单元)业务系统。?? 1.1:why——业务要求+数据恢复。???1.2:与数据库

事务机制

1.概念——多步操作组成的一个(逻辑单元)业务系统。

?? 1.1:why——业务要求+数据恢复。

???1.2:与数据库日志相关。

?

2.事务实现机制

??????? 开启事务

???????*Oracle在执行sql语句时自动开启。

——>

??????? 用户执行数据库DML语句

??????? *set transaction——开启一个可读/读写的会话,建立隔离级别,为当前事务制定回滚段。

??????? *lock table——以制定的模式锁表,将覆盖默认的行锁。

——>

??????? DBMS在日志文件中写一条记录(被该语句影响的每一条记录的前后2个副本)

————>

??????????????? 正常

————>

??????????????? 例外,回滚

——>

??????? 日志写完

————>

??????????????? 提交事务,修改数据库

??????????????? *commit——提交数据到数据库,释放资源。

??????????????? *自动提交的条件——退出SQL*PL;执行DCL;执行DDL。

————>

??????????????? 未提交,则自动回滚

??????????????? *rollback——回滚所有的改变,释放资源。

??????????????? *savepoint——设置一个保存点,可以回滚到这里。

??????????????? *rollback to savepoint——回滚到该保存点,释放保存点内的资源。

???????

???????

???????

???????

???????

?

3.隔离级别——隔离级别与性能成反比。

????2.1:未提交读——赃读

??? 3.2:提交读——更改(dml)的数据不可见,读(select)的数据可修改——不可重复读

??? 3.3:可重复读——更改(dml)的数据不可见,读(select)的数据其它事务可读——幻想

??? 3.4:可串行读

4:锁

???? 4.1:锁的分类

????????? 4.1.1:内部锁(latch)——Oracle自动管理,保护内部数据库结构。

????????? 4.1.2:DDL锁——create、drop、truncate、alter

????????? 4.1.3:DML锁——事务

???? 4.2:锁的模式

????????? 4.2.1:share(s)——其它事务可以加S锁,不能修改数据

????????? 4.2.2;exclusive(x)——不允许其它事务锁定该表

????????? 4.2.3:row share(rs)——

????????? 4.2.4:row exclusive

????????? 4.2.5:share row exclusive(srx)——表加S锁,行加X锁。

??? 4.3:锁粒度——锁定的对象越大,锁粒度越大,能利用的资源就越少,并发度越小,系统开销越小。

????????? *行级锁、表级锁、数据库级锁。

5.特点

?? 5.1:一致性——状态改变前后,必须能量守恒。

?? 5.2:原子性——指事务不可分割,作为一个团体同进退。

?? 5.3:持久性——事务完成后,的变更是不可回滚的。

?? 5.4:隔离性——每个事务必须孤立于其它事务执行。没有交际。不可见。

?? 5.

热点排行