Oracle - 图文

2026/1/27 6:34:00

第三章锁和表分区

1、 锁的概念:

锁是数据库用来控制共享资源并发访问的机制; 锁用于保护正在被修改的数据;

直到提交或回滚了事务之后,其他用户才可以更新数据。

2、 加锁的条件:资源可能会被共享;可能会并发;数据会被修改。 3、 加锁和释放锁的时机:

释放锁时机:提交/回滚事务后。 加锁时机: 悲观锁:一开始事务就加锁,直到事务完成才释放(并发机会大,用悲观锁)。 乐观锁:只有当提交事务时才加锁(并发机会少,一般用版权号控制)。 4、 锁的释放:要么提交或回滚;要么超时(自动释放);要么PMON/SMON释放。 5、 锁定的优点:

A、 一致性:一次只允许一个用户修改数据; B、 完整性:为所有用户提供正确的数据。如果一个用户进行了修改并保存,所做的修

改将反映给所有用户; C、 并行(发)性:允许多个用户访问同一数据。 6、 锁的类型:

A、 数据库锁:锁定数据库; B、 表空间锁:锁定表空间。如脱机; C、 表级锁:锁定表,手工锁;

D、 行级锁:锁定行,是Oracle数据库的默认锁,自动锁。

7、 行级锁:对正在被修改的行进行锁定。其他用户可以访问除被锁定的行以外的行 行级锁是一种排他锁,防止其他事务修改此行(insert、update、delete、select * from 表名 for update)。

如果没有把数据查询出来进行更新,增删改都能完成命令,但是不能提交,查询的话,只能查出之前提交完成的数据:

只有提交了之后,才能显示全部数据,因为存在悲观锁,进行锁定:

现在,对给定行锁定:

结果,另外一个用户进行修改时,则进入等待状态:

提交之后,才能更改:

对锁定行删除也是会进入等待:

提交后,才能删除:

注:行级锁升级为表级锁:

提交之后,锁解开,可修改:

另一用户不提交,则这边用户处于等待:

提交之后才可以修改。

如果加锁,设置为等待时间或不等待:

提交之后,则可加锁:

8、 表级锁:

语法:LOCK TABLE 表名 IN 表的模式类型 MODE 表的模式类型:


Oracle - 图文.doc 将本文的Word文档下载到电脑
搜索更多关于: Oracle - 图文 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219