OCP-1Z0-052-V8.02-186题

186. User A executes the following command to drop a large table in your database:

SQL> DROP TABLE trans;

While the drop table operation is in progress, user B executes the following command on the same table:

SQL> DELETE FROM trans WHERE tr_type='SL';

Which statement is true regarding the DELETE command?

A.It fails with a "Resource Busy" error.

B.It deletes the rows successfully because the table is locked in SHARE mode.

C.It fails to delete the records because the table is locked in EXCLUSIVE mode.

D.It deletes the rows successfully because the table is locked in SHARE ROW EXCLUSIVE mode.

Answer: C  


An exclusive DDL lock prevents other sessions from obtaining a DDL or DML lock. Most DDL operations, except for those described in "Share DDL Locks", require exclusive DDL locks for a resource to prevent destructive interference with other DDL operations that might modify or reference the same schema object. For example, DROP TABLE is not allowed to drop a table while ALTER TABLE is adding a column to it, and vice versa.

Exclusive DDL locks last for the duration of DDL statement execution and automatic commit. During the acquisition of an exclusive DDL lock, if another DDL lock is held on the schema object by another operation, then the acquisition waits until the older DDL lock is released and then proceeds.

题中执行DROP TABLE的过程在,该会话已经获得了EXCLUSIVE 锁,防止其他DDL或者DML的操作。


原文地址:https://www.cnblogs.com/hzcya1995/p/13316747.html