Oracle 变量之 DDL_LOCK_TIMEOUT
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.
该参数是oralce 11g中才有的;
实验:
--session 1
SQL> select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
PL/SQL Release 11.2.0.1.0 - Production
CORE 11.2.0.1.0 Production
TNS for Linux: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production
SQL> show parameter ddl
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
ddl_lock_timeout integer 0
enable_ddl_logging boolean FALSE
--session 2
SQL> insert into t_1 values('b');
1 row created.
--session 3
SQL> alter table t_1 modify(a varchar2(50));
alter table t_1 modify(a varchar2(50))
*
ERROR at line 1:
ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired
该错误是执行之后没有等待直接出现;
--session 1
SQL> alter system set ddl_lock_timeout=60;
System altered.
SQL> show parameter ddl
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
ddl_lock_timeout integer 60
enable_ddl_logging boolean FALSE
--session 2
SQL> insert into t_1 values('a');
1 row created.
--session 3
SQL> alter table t_1 modify (a varchar2(30));
alter table t_1 modify (a varchar2(30))
*
ERROR at line 1:
ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired
该错误是在等待了60秒之后才出现;
--session 3
SQL> alter table t_1 add c number;
则会一直等待下去,直到请求的锁资源被释放(该变量不起作用);
在网上有些文章说,如果是添加列回立即提交,不敢苟同;
---------------------
作者:搞怪的索引
来源:CSDN
原文:https://blog.csdn.net/perfect_db/article/details/9125625
版权声明:本文为博主原创文章,转载请附上博文链接!
Oracle 变量之 DDL_LOCK_TIMEOUT的更多相关文章
- Oracle 变量 之 define variable declare 用法及区别
Oracle 变量 之 define variable declare 用法及区别 Table of Contents 1. 扯蛋 2. define和accept 3. variable 3.1. ...
- oracle 变量赋值
在oracle 中使用 select 字段 into 变量 from 表 where 条件 这种方法给变量赋值时和MSSQL的行为有比较大区别. 在MSSQL中如果在该表中未检索到任何行,则变量的值保 ...
- Oracle ->> 变量赋值 Demo
刚学Oracle,学习学习别人的代码.这段代码时从下面的博文中摘取的:http://www.cnblogs.com/mq0036/p/4155774.html declare l_dept ; cur ...
- oracle 变量作用域
以下为测试 代码块DECLARE v_i number := 100; v_p VARCHAR2(200) := 'a';BEGIN DECLARE v_i number := 999; ...
- oracle变量的定义和使用【转】
在程序中定义变量.常量和参数时,则必须要为它们指定PL/SQL数据类型.在编写PL/SQL程序时,可以使用标量(Scalar)类型.复合(Composite)类型.参照(Reference)类型和LO ...
- ORACLE变量定义及使用(另,T-SQL EXISTS的PLSQL替代写法)
1. 简单变量 declare v_cnt NUMBER(10,0) := 0; BEGIN SELECT COUNT(1) INTO v_cnt FROM concept.Decoction W ...
- ORACLE 变量定义
DECLARE v_productid productinfo.productid%TYPE; v_productname ); v_productprice ,); v_quantity ); v_ ...
- oracle 变量练习
select ename,&column2 from scott.emp; 输入sal: /替代标量: select * from &tab: select * from ...
- Oracle变量的定义、赋值及使用
首先我们来看看代码,然后我们在说明和解释代码: declare l_dept ; currtime date := sysdate; l_nam ) :),'yyyymmdd'); -- to_cha ...
随机推荐
- WCF中记录SOAP消息日志
Windows Communication Foundation (WCF) 默认启用消息日志,WCF使用了在System.Diagnostics名称空间中定义的跟踪机制.在这个跟踪机制中,通过在配置 ...
- mysqlcheck与myisamchk的区别
mysqlcheck和myisamchk都可以用来检测和修复表.(主要是MyISAM表)但是也有以下不同点:1.都可以检查.分析和修复myisam表.但是mysqlcheck也可以检查.分析innod ...
- H5的Video事件,控制方法,及监听
1.标签基本属性 src :视频的属性 poster:视频封面,没有播放时显示的图片preload:预加载autoplay:自动播放loop:循环播放controls:浏览器自带的控制条width:视 ...
- ASP.NET CORE中判断是否移动端打开网页
using Microsoft.AspNetCore.Http;using System;using System.Collections.Generic;using System.Text;usin ...
- 严苛模式 strictmode
参考链接 http://blog.csdn.net/brokge/article/details/8543145 一.严苛模式-虚拟机策略 虚拟机策略(VmPolicy)能检查内存泄漏,譬如,当关闭一 ...
- Approx Analytic Arealight
试着实现的基于分析方法的近似面积光源.
- 树莓派做路由器_配置防火墙filter和nat转发_转载
转自:https://blog.csdn.net/hustsselbj/article/details/45866681 如果用树莓派当作路由器转发有线和无线网络,则需要对iptables进行相关配置 ...
- [Angularjs] 第一步开始一个项目
[Angularjs] 第一步开始一个项目 一.什么是angularjs angularjs是2009年兴起的,目前由Google维护一个采用mvc模式的js框架,很多时候用来创建单页面应用.我也经常 ...
- 牛客网_Go语言相关练习_选择题(2)
注:题目来源均出自牛客网. 一.选择题 Map(集合)属于Go的内置类型,不需要引入其它库即可使用. Go-Map_菜鸟教程 在函数声明中,返回的参数要么都有变量名,要么都没有. C选项函数声明语法有 ...
- 一、Bitcoin比特币与BlockChain区块链技术
一.比特币历史 2008 年 10 月 31 日,一个网名叫中本聪(英文翻译过来滴)的家伙发布比特币唯一的白皮书:<Bitcoin:A Peer-to-PeerElectronic Cash S ...