在封锁技术中,封锁协议可分成哪三个级别?各解决了并发调度中的什么问题?

题目
问答题
在封锁技术中,封锁协议可分成哪三个级别?各解决了并发调度中的什么问题?
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

不但防止了丢失修改和不读“脏”数据.而且防止了不可重复读的封锁协议是----。

A.一级封锁协议

B.二级封锁协议

C.三级封锁协议

D.四级封锁协议


正确答案:C
解析:三级封锁协议强调即使事务读完数据A之后也不释放S锁,从而使别的事务无法更改数据。三级封锁协议不但防止了丢失修改和读“脏”数据,而且防止了不可重复读。

第2题:

下列叙述中正确的是

A.遵守两阶段封锁协议的并发事务一定是可串行化的

B.遵守两阶段封锁协议的并发事务一定不会发生死锁

C.遵守两阶段封锁协议的并发事务一定不会发生级联回滚

D.遵守两阶段封锁协议的并发事务的所有锁一定要到事务提交之后才解锁


正确答案:D
解析:系列中的每个事务遵从封锁协议的一组规则。这些规则规定事务何时对各数据项进行加锁、解锁。封锁协议限制了可能的调度数目。(1)保证可串行性的一个协议是强有力两阶段封锁协议。(2)通过将两阶段封锁修改为严格两阶段封锁协议来避免级联回滚。(3)两阶段封锁的另一个变体是强两阶段封锁协议,它要求事务提交之间不得释放任何锁。(4)不幸的是封锁自身也会引发问题,主要的问题是死锁。两阶段封锁并不保证不会发生死锁。发生死锁时系统必须能检测并解释它。

第3题:

( 48 )下列叙述中正确的是

A )遵守两阶段封锁协议的并发事务一定是可串行化的

B )遵守两阶段封锁协议的并发事务一定不会发生死锁

C )遵守两阶段封锁协议的并发事务一定不会发生级联回滚

D )遵守两阶段封锁协议的并发事务的所有锁一定要到事务提交之后才解锁


正确答案:D

第4题:

下列叙述中,正确的是( )。A.不遵循两段封锁协议的并发调度一定是不可串行的B.两级封锁协议可以保证数据的可重读性C.对某个数据对象加了X封锁,则还可以在该数据对象上加S封锁D.遵循两段封锁协议的并发事务一定不会发生死锁


正确答案:B
A,D的说法太过于绝对,不准确,C项对数据对象加了X封锁之后,则不能再加S封锁。

第5题:

什么是封锁协议?不同级别的封锁协议的主要区别是什么?如何用封锁机制保证数据的一致性?


正确答案:在对数据对象加锁时需要约定一些规则这些规则称为封锁协议。 一级封锁协议:是事务T在修改数据之前必须先对其加x锁直到事务结束才释放一级封锁协议可有效的防止丢失修改并能够保证事务T的可恢复性。一级封锁协议由于没有对数据进行加锁所以不能保证可重复读和不读“脏”数据。 二级封锁协议:是事务T对要修改的数据必须先加x锁直到事务结束才释放x锁;要读取的数据必须先加S锁读完后即可释放s锁。二级封锁协议能够防止丢失修改还可进一步防止读“脏”数据。 三级封锁协议:是事务T在读取数据之前必须先对其加S锁在要修改数据之前必须先对其加x锁直’到事务结束后才释放所有锁。由于三级封锁协议强调即使事务读完之后也不释放s锁从而使的别的事务无法更改数据A。三级封锁协议防止了丢失修改和读“脏”数据。 封锁机制作为并发控制的重要手段利用封锁的特性和封锁协议再加上并发操作保证事务的隔离性用正确的方式调度并发操作使一个用户事务的执行不受其它事务的干扰从而避免数据的不一致。
在对数据对象加锁时,需要约定一些规则,这些规则称为封锁协议。 一级封锁协议:是事务T在修改数据之前必须先对其加x锁,直到事务结束才释放,一级封锁协议可有效的防止丢失修改,并能够保证事务T的可恢复性。一级封锁协议由于没有对数据进行加锁,所以不能保证可重复读和不读“脏”数据。 二级封锁协议:是事务T对要修改的数据必须先加x锁,直到事务结束才释放x锁;要读取的数据必须先加S锁,读完后即可释放s锁。二级封锁协议能够防止丢失修改,还可进一步防止读“脏”数据。 三级封锁协议:是事务T在读取数据之前必须先对其加S锁,在要修改数据之前必须先对其加x锁,直’到事务结束后才释放所有锁。由于三级封锁协议强调即使事务读完之后也不释放s锁,从而使的别的事务无法更改数据A。三级封锁协议防止了丢失修改和读“脏”数据。 封锁机制作为并发控制的重要手段,利用封锁的特性和封锁协议,再加上并发操作保证事务的隔离性,用正确的方式调度并发操作,使一个用户事务的执行不受其它事务的干扰,从而避免数据的不一致。

第6题:

要解决对数据库并发操作所带来的读“脏数据”问题,可以采用()

A. 一级封锁协议

B. 二级封锁协议

C. 三级封锁协议

D. 都可以


正确答案:BC

第7题:

下列叙述中,哪一条是不正确的?

A.封锁是保证数据库一致性的常用方法

B.封锁协议限制了可能的调度数目

C.封锁自身会产生死锁问题

D.强两阶段封锁协议就是严格两阶段封锁协议


正确答案:D
解析:严格两阶段封锁协议:除了要求封锁是两阶段之外,还要求事务持有的所有排他锁必须在事务提交之后方可释放。这个要求保证未提交事务所写的任何数据在该事务提交之前均以排他方式加锁,防止其他事务读取这些数据;强两阶段封锁协议:它要求事务提交之前不得释放任何锁。它旨在让冲突的事务尽可能地串行执行,这样的话,调度中的事务可以按其提交的顺序串行化。所以D)项不正确。

第8题:

(48)下列叙述中,不正确的是( )。

A)封锁是保证数据库一致性的常用方法

B)封锁协议限制了可能的调度数目

C)封锁自身会产生死锁问题

D)强两阶段封锁协议就是严格两阶段封锁协议


正确答案:D

(48)【答案】D)
【解析】严格两阶段封锁协议:除了要求封锁是两阶段之外,还要求事务持有的所有排他锁必须在事务提交之后方可释放。这个要求保证未提交事务所写的任何数据在该事务提交之前均以排他方式加锁,防止其他事务读取这些数据,两阶段封锁协议:要求事务提交之前不得释放任何锁。它旨在让冲突的事务尽可能的串行执行,这样的话,调度中的事务可以按其提交的顺序串行化,所以D)茂不正确。

第9题:

在并行控制中引入两段封锁协议的目的是

A.为了解决并行执行时可能引起的死锁问题

B.为了解决并行执行时可能引起的活锁问题

C.为了解决交叉调度的不可串行化问题

D.为了解决不同的调度导致不同的运行结果


正确答案:C
解析:两段锁协议是指所有事务必须分两个阶段对数据项加锁和解锁。所谓两段锁的含义是:事务分为两个阶段,第一阶段是获得封锁,也称为扩展阶段;第二阶段是释放封锁,也称为收缩阶段。若并发执行的所有事务均遵守两段锁协议,则对这些事务的任何并发调度都是可串行化的。

第10题:

下列叙述中,正确的是

A.不遵循两段锁协议的并发调度一定是不可串行的

B.两级封锁协议可能保证数据的可重读性

C.对某处数据对象加了X封锁,则还可以在该数据对象上加S封锁

D.遵循两段封锁协议的并发事务一定不会发生死锁


正确答案:B
解析:两段锁协议是保证并发调度可串行化的充分条件:对某个数据对象加了X锁,则其他任何事务不能再对该数据对象加任何类型的锁;遵循两段锁协议的并发事务可能发生死锁。

更多相关问题