141.Exhibit:
View the Exhibit for some of the current parameter settings. A user logs in to the HR schema and issues the following commands:
SQL> CREATE TABLE emp (empno NUMBER(3), ename VARCHAR2(20), sal NUMBER(8,2));
SQL>INSERT INTO emp(empno,ename) VALUES(1,'JAMES');
At this moment, a second user also logs in to the HR schema and issues the following command:
SQL> ALTER TABLE emp MODIFY sal NUMBER(10,2);
What happens in the above scenario?
A. The second user's session immediately produces the resource busy error.
B. The second user's command executes successfully.
C. The second user's session waits for a time period before producing the resource busy error.
D. A deadlock is created.
Answer: C
答案解析:
参考:http://docs.oracle.com/cd/E11882_01/server.112/e40402/initparams074.htm#REFRN10267
DDL_LOCK_TIMEOUT specifies a time limit for how long DDL statements will wait in a DML lock queue. The default value of zero indicates a status of NOWAIT. The maximum value of 1,000,000 seconds will result in the DDL statement waiting forever to acquire a DML lock.
If a lock is not acquired before the timeout period expires, then an error is returned.

在Oracle数据库中,当一个用户在修改表结构时,另一个用户尝试进行DML操作可能会遇到资源限制。通过设置DDL_LOCK_TIMEOUT参数,可以控制DDL语句等待获取DML锁的时间。如果在指定时间内未能获取锁,将返回错误。
7893

被折叠的 条评论
为什么被折叠?



