11gR1引入的新特性:可等待DDL操作
簡單的記錄了一個測試過程。
[@more@]11gR1之前ddl是不會等待的,如果有不相容的鎖,直接返回錯誤:ORA-00054: resource busy and acquire with NOWAIT specified,從11gR1開始,返回的錯誤有一點小小的變化:
ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired
錯誤提示當中多了or timeout expired,這個提示其實就是針對DDL可等待這個新特性的。
11gR1引入了一個引數:
DDL_LOCK_TIMEOUT
Property | Description |
---|---|
Parameter type | Integer |
Default value | 0 |
Modifiable | ALTER SESSION |
Range of values | 0 to 1,000,000 (in seconds) |
Basic | No |
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.
下面是一個簡單的測試過程:
session 1:
SQL> update t set id=1 where name='a';
1 row updated.
SQL>
session 2:
SQL> show parameter ddl
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
ddl_lock_timeout integer 0
enable_ddl_logging boolean FALSE
SQL> drop table t;
drop table t
*
ERROR at line 1:
ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired
SQL> alter session set ddl_lock_timeout=10;
Session altered.
SQL> set time on
11:49:38 SQL>
11:49:44 SQL> drop table t;
drop table t
*
ERROR at line 1:
ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired
11:49:55 SQL>
這裡我們能感覺到延遲了10秒之後才報錯。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/19602/viewspace-1060554/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ORACLE 11g新特性-允許DDL鎖等待DML鎖Oracle
- Oracle12c 新特性 - log記錄DDL操作Oracle
- C++各版本引入的新特性C++
- 11GR1 新特性 adaptive cursor sharingAPT
- 控制DDL許可權及紀錄DDL操作的Trigger
- Oracle12C新特性_DDL日誌Oracle
- 【11g新特性】DDL_LOCK_TIMEOUT的作用
- Go1.18 新特性:引入新的 netip 網路庫Go
- ORACLE裡的慢查跟蹤 Real Time SQL Monitoring 11GR1 新特性OracleSQL
- Oracle12c新特性(2)記錄DDL日誌Oracle
- C# 9.0中引入的新特性init和record的使用思考C#
- JDK新特性-Lambda表示式的神操作JDK
- OceanBase學習之路11|體驗 DDL 新特性(Oracle 模式)Oracle模式
- OceanBase學習之路12|體驗 DDL 新特性(MySQL 模式)MySql模式
- DDL操作的自動提交
- swift語言新特性:可選值Swift
- 限制DDL操作(四)
- 限制DDL操作(三)
- 限制DDL操作(二)
- 限制DDL操作(一)
- MySQL DDL操作表MySql
- oracle 12c 新特性之二:可以記錄DDL日誌Oracle
- Selenium的等待操作
- 禁止使用者的DDL操作
- 04 MySQL 表的基本操作-DDLMySql
- 配置GoldenGate啟動DDL支援同步DDL操作Go
- Android Pie 引入 Keystore 新特性,安全防護再升級Android
- Java8新特性系列(原子性操作)Java
- ORACLE 11G新特性之列新增操作Oracle
- Oracle12c新特性之基本操作Oracle
- 當心ORACLE 12.2 RAC新特性引入的BUG導致ORA-4031Oracle
- 創新觸手可及: WebSphere CloudBurst V2.0 新特性WebCloud
- MySQL的DDL和DML操作語法MySql
- logmnr挖掘中間有DDL的操作示例-對於執行DDL前的操作無法挖掘
- JDK5.0新特性的學習--可變長引數JDK
- oracle追蹤誤操作DDLOracle
- DML操作 DDL觸發器觸發器
- DML, DDL操作的自動提交問題