软考初级

● 为保证并发事务调度的正确性,可采用的封锁协议是 () 。()A.PXC协议 B.PSC协议 C.两段锁协议 D.PSC或PXC协议

题目

● 为保证并发事务调度的正确性,可采用的封锁协议是 () 。()A.PXC协议 B.PSC协议 C.两段锁协议 D.PSC或PXC协议

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

______能保证不产生死锁。

A.两段锁协议

B.一次封锁法

C.2级封锁法协议

D.3级封锁协议


正确答案:B

第2题:

针对分布式事务,要求提供参与者状态的协议是(60)。

A.一次封锁协议

B.两段锁协议

C.两阶段提交协议

D.三阶段提交协议


正确答案:D
解析:本题考查分布式事务处理的基本概念。  一交封锁协议和两段锁协议属于集中式事务处理所采用的技术,故选项A、B错误;两阶段提交协议分为参与者提交请求和协调者应答两个阶段,故选项C错误;三阶段提交协议要求在两阶段协议基础上提供参与者状态,故选项D正确。

第3题:

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

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

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

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

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


正确答案:D

第4题:

如右图所示的调度,其中事务T1、T2仅对数据项A、B进行操作,则该调度( );

A.满足两段锁协议、不发生死锁
B.满足两段锁协议、会发生死锁
C.不满足两段锁协议、不发生死锁
D.不满足两段锁协议、会产生死锁

答案:B
解析:
本题考查事务调度的知识。事务的执行由DBMS进行调度,在执行事务的过程中加入相关锁指令以控制事务满足ACID属性。常用的方式是两段锁协议(2PL),即事务的加锁和解锁分为两个阶段,第一阶段为锁增长阶段,只能加锁不能解锁,第二阶段为锁减少阶段,只能解锁不能加锁。图中的调度,事务T1对8、A两个数据项加锁中间无解锁指令,满足2PL协议;事务T2对A、B两个数据项加锁中间无解锁指令,也满足2PL协议。2PL协议不能避免死锁。图中事务T1先对数据项B加了独占锁,事务T2先对数据A加了共享锁;随后事务T2申请数据项B上的共享锁,只能等待事务T1释放B上的独占锁;事务T1申请数据项A上的独占锁,只能等待事务T2释放A上的共享锁。两个事务相互等待造成死锁。死锁的解除由DBMS来完成。需要在造成死锁的多个事务中选择一个回滚代价最小的事务进行强制回滚,并将该事务置于事务队列中稍后执行。图中事务T1对数据B己经做了修改,事务T2只是读取了数据A,相对而言,回滚事务T2代价最小。

第5题:

下列叙述中,正确的是

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

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

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

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


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

第6题:

下列叙述中正确的是

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

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

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

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


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

第7题:

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


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

第8题:

能保证不产生死锁。

A.两段锁协议

B.一次封锁法

C.2级封锁协议

D.3级封锁协议


正确答案:B
解析:本题考查应试者对事务处理程序加锁协议的掌握。两段锁协议是指事务处理程序对数据进行读写操作前加锁,释放一个锁之后就不能再加锁,两段锁协议用来保证事务的可串行化(执行结果的正确性),但并不能保证产生死锁;一次封锁法是指事务处理程序在所有要进行读写操作的数据全部先加锁后再进行访问,在两段锁协议的基础上要求更严格,能保证不产生死锁;2级封锁协议是指事务处理程序在进行修改数据操作之前先对其加独占锁,直到事务处理程序结束前释放,在进行读取数据操作之前先对其加共享锁,读完后就释放,2级封锁协议可以防止丢失修改和读“脏”数据;3级封锁协议比是指事务处理程序在进行修改数据操作之前先对其加独占锁,直到事务处理程序结束前释放,在进行读取数据操作之前先对其加共享锁,直到事务处理程序结束前释放,比2级封锁协议更严格,可以防止丢失修改、读“脏”数据和不可重复读三种错误。除一次封锁法外,其他3个协议都是保证程序执行的正确性的,都可能产生死锁,但死锁问题可以由DBMS进行处理,而一次封锁法在实现上也困难,通常不采用。此题答案为B。

第9题:

可有效地防止丢失修改,并能保证事务T的可恢复性,但不能保证可重复读和不诌 “脏”数据的封锁协议是——。

A.一级封锁协议

B.二级封锁协议

C.三级封锁协议

D.四级封锁协议


正确答案:A
解析:一级封锁协议可有效地防止丢失修改,并能保证事务T的可恢复性。一级封锁协议是:事务T在修改数据R之前必须先加x锁,直到事务结束才释放。如果仅仅是读数据不对其修证,是不需要加锁的,所以不能保证可重复读和不读“脏”数据。

第10题:

下面说法中错误的是( ).

A.并发事务如果不加控制,可能会破坏事务的隔离性
B.可串行化调度是正确的调度
C.两段锁协议能够保证可串行化调度
D.两段锁协议能够确保不会产生死锁

答案:D
解析:

更多相关问题