第7章数据库安全保护试题.ppt

2.共享型封锁(Shared?Lock,简称S锁) 共享锁又称为读锁,如果事务T对某数据R加上S锁后,仍允许其他事务再对该数据加S锁,但决不允许任何事务对该数据加X锁。 若事务T对数据对象A加上S锁,则事务T可以读数据A,但不能修改数据A,其它事务只能再对A加S锁,而不能加X锁,。 * 使用S锁的操作有三个: (1)申请S锁操作“SFIND?R” 。 (2)升级和写操作“UPDX?R” 。 (3)解除S锁操作“SUnlock(?R)”:表示事务T解除对数据R的S锁操作应该合并到事务的结束操作中。 * 表7.3 排它锁与共享锁的相容矩阵 T1 T2 X S - X N N Y S N Y Y - Y Y Y * 3.利用封锁来解决并发控制所带来的问题 ? T1 ? T2 ? T1 ? T2 ? T1 ? T2 XFIND(x) Read(x)=100 ? X:=x+1 Write(x)=101 COMMIT XUnlock x ? XFIND(x) 等待 等待 等待 等待 获取 Xlock x Read(x)=101 ? X:= x+1 Write(x)=102 COMMIT XUnlock x XFIND(x) Read(x)=100 X:=2x Write(x)=200 ? (rollback) x恢复为100 XUnlock x ? ? ? SFIND(x) 等待 等

文档评论(0)

1亿VIP精品文档

相关文档