- 浏览: 126432 次
- 来自: ...
最近访客 更多访客>>
文章分类
最新评论
-
dwangel:
给messageSource设置属性
<property ...
Spring i18n的better practice(相对于appfuse) -
dwangel:
spring 的message tag有一个属性text,可以 ...
Spring i18n的better practice(相对于appfuse) -
sn201:
awk高级篇
有问题啊!有问题!有问题!有问题!有问题!
i ...
awk文本处理总结(入门,中级,高级) -
happy_javaboy:
...
Log4j日志管理系统简单使用说明
oracle table-lock的5种模式
Oracle中的锁定可以分为几类:
1、DML lock(data lock),
2、DDL lock(dictionary lock)
3、internal lock/latch。
DML lock又可以分为row lock和table lock。row lock在select.. for update/insert/update/delete时隐式自动产生,而table lock除了隐式产生,也可以调用lock table <table_name> in </table_name> name来显示锁定。
如果不希望别的session lock/insert/update/delete表中任意一行,只允许查询,可以用lock table table_name in exclusive mode。(X)这个锁定模式级别最高,并发度最小。
如果允许别的session查询或用select for update锁定记录,不允许insert/update/delete,可以用
lock table table_name in share row exclusive mode。(SRX)
如果允许别的session查询或select for update以及lock table table_name in share mode,只是不允许insert/update/delete,可以用
lock table table_name in share mode。(share mode和share row exclusive mode的区别在于一个是非抢占式的而另一个是抢占式的。进入share row exclusive mode后其他session不能阻止你insert/update/delete,而进入share mode后其他session也同样可以进入share mode,进而阻止你对表的修改。(S)
还有两种锁定模式,row share(RS)和row exclusive(RX)。他们允许的并发操作更多,一般直接用DML语句自动获得,而不用lock语句。
详细参考concepts文档中的"Type Of Locks":
http://download-uk.oracle.com/docs/cd/B10501_01/server.920/a96524/c21cnsis.htm#2937
-------------------------------------
怎么unlock table 解锁
方法一、kill session:
SQL> select object_id,session_id from v$locked_object; //注意session_id 就是上锁的 session标志
SQL> select username,sid,SERIAL# from v$session where sid=。。; //这里的SID = session_id
SQL> alter system kill session 'id,serial#'; //杀死该session
方法二、rollback/commit 终止事务处理
Oracle中的锁定可以分为几类:
1、DML lock(data lock),
2、DDL lock(dictionary lock)
3、internal lock/latch。
DML lock又可以分为row lock和table lock。row lock在select.. for update/insert/update/delete时隐式自动产生,而table lock除了隐式产生,也可以调用lock table <table_name> in </table_name> name来显示锁定。
如果不希望别的session lock/insert/update/delete表中任意一行,只允许查询,可以用lock table table_name in exclusive mode。(X)这个锁定模式级别最高,并发度最小。
如果允许别的session查询或用select for update锁定记录,不允许insert/update/delete,可以用
lock table table_name in share row exclusive mode。(SRX)
如果允许别的session查询或select for update以及lock table table_name in share mode,只是不允许insert/update/delete,可以用
lock table table_name in share mode。(share mode和share row exclusive mode的区别在于一个是非抢占式的而另一个是抢占式的。进入share row exclusive mode后其他session不能阻止你insert/update/delete,而进入share mode后其他session也同样可以进入share mode,进而阻止你对表的修改。(S)
还有两种锁定模式,row share(RS)和row exclusive(RX)。他们允许的并发操作更多,一般直接用DML语句自动获得,而不用lock语句。
详细参考concepts文档中的"Type Of Locks":
http://download-uk.oracle.com/docs/cd/B10501_01/server.920/a96524/c21cnsis.htm#2937
-------------------------------------
怎么unlock table 解锁
方法一、kill session:
SQL> select object_id,session_id from v$locked_object; //注意session_id 就是上锁的 session标志
SQL> select username,sid,SERIAL# from v$session where sid=。。; //这里的SID = session_id
SQL> alter system kill session 'id,serial#'; //杀死该session
方法二、rollback/commit 终止事务处理
发表评论
-
Oracle性能调优-优化排序操作
2010-08-07 11:37 1182关于Oracle 10g性能方面,谈论最多的就是新的自动工作负 ... -
Oracle中的外连接简单介绍
2006-08-11 09:53 552在讲外连接之前,先举例介绍内连接,也就是一般的相等连接。 s ... -
SQLServer和Oracle常用函数对比
2006-08-11 09:55 359SQLServer和Oracle是大家经常用到的数据库,在此感 ... -
Oracle SQL 内置函数大全
2006-08-24 10:37 550... -
Oracle PL/SQL入门之慨述
2006-09-05 21:14 533一、PL/SQL出现的目的 结构化查询语言(Structur ... -
Oracle:PL/SQL 中如何使用Array
2006-09-18 20:41 644因为在PL/SQL 中并没有数 ... -
java高级编程:基于JNDI的应用开发
2006-10-02 18:08 592基于JNDI的应用开发 ... -
开源技术之Tomcat数据源配置总结
2006-10-06 14:55 603成功配置环境Tomcat5.0.28+ ... -
Java调用存储过程
2006-10-11 14:22 623摘要:本文阐述了怎 ... -
JNDI配置原理详解
2006-10-11 14:55 677最近写书,写到JNDI,到 ... -
ORACLE SEQUENCE的简单介绍
2006-12-28 11:01 749在oracle中sequence就是所 ... -
oracle系统表查询
2007-07-30 17:03 574数据字典dict总是属于Ora ... -
JOB
2007-09-04 17:42 446var jobno number begin sys.db ... -
网络收集:PLSQL常用方法汇总
2007-10-18 14:03 740网络收集:PLSQL常用方法汇总 在SQLPLUS下,实现中- ... -
oracle pl/sql 创建同义词
2007-10-24 11:05 1367CREATE OR REPLACE Procedure Cre ... -
索引分析和比较
2007-11-21 10:20 740转自:http://tb.blog.csdn.net/Trac ... -
ORACLE索引与高性能SQL介绍
2007-11-21 15:05 491转自:http://blog.csdn.net/annicyb ... -
oracle动态游标的简单实现方法
2008-05-27 09:17 768下面就是例子程序 --明细表打印予处理 通用报表: pro ... -
Oracle触发器
2008-05-27 15:22 632是特定事件出现的时候,自动执行的代码块。类似于存储过程,但是用 ... -
Oracle体系结构之-Oracle中各种名称
2008-05-31 15:18 796一、数据库名 数据 ...
相关推荐
- 在Oracle中,`LOCK TABLE`用于在会话级别锁定表,阻止其他会话对指定表的DML操作。这在处理高并发时特别有用,确保在执行敏感操作(如批量更新或删除)时数据的一致性。 - 使用`UNLOCK TABLE`语句可以解除对表的...
在Oracle数据库系统中,"lock table" 是一个重要的管理功能,用于控制多个用户对特定表的并发访问。当一个用户对表执行修改操作(如INSERT、UPDATE或DELETE)时,Oracle会自动对表施加锁,以防止其他用户在同一时间...
### Oracle Lock 概念与类型详解 #### 一、引言 在数据库管理系统(DBMS)中,锁是一种机制,用于管理多个用户同时访问共享资源(如数据库中的表或行)时可能产生的冲突。Oracle数据库中提供了多种类型的锁来确保数据...
4. **DML语句**:INSERT、UPDATE、DELETE和LOCK TABLE是PL/SQL中的数据操纵语言。在PL/SQL块中,可以直接使用这些语句,并结合变量来处理数据。例如,以下过程使用游标处理员工解雇: ```sql CREATE OR REPLACE ...
根据提供的文件信息,本文将详细解释Oracle数据库中的常用命令及相关知识点。这些命令涵盖了数据库操作的基础层面,对于初学者和日常使用者来说非常实用。 ### 1. 设置显示参数 - **`set linesize 100;`**:设置每...
在 Oracle 数据库中,“Library Cache Lock”是一种常见的等待事件,通常出现在以下两种情况: 1. **当会话尝试执行 DDL 操作时:** - 当会话1(session 1)正在对某个表执行 DML 或者 DDL 操作时,同时存在另一个...
Oracle中的锁主要有以下几种模式: - **0:None** —— 没有任何锁。 - **1:Null** —— 空锁,表示没有任何锁的状态。 - **2:Row-S (RS)** —— 行共享锁,允许其他用户读取锁定的数据行,但不能进行写操作。 - ...
### 对Oracle锁几种模式的理解 #### 一、Oracle锁模式概述 在Oracle数据库中,为了保证数据的一致性和完整性,引入了多种类型的锁机制。这些锁机制能够有效地控制并发操作,防止不同用户或进程间的相互干扰。...
本文将深入探讨如何在分布式事务中实现基于Oracle PL/SQL的UL (User-Level) LOCK的悲观离线锁策略。这种策略主要用于防止多个并发操作对同一数据进行修改,从而避免数据不一致性和死锁等问题。 首先,理解悲观锁的...
- **重置默认锁状态**:使用FOR UPDATE OF和LOCK TABLE语句来控制锁定行为。 - **FETCH中应用COMMIT语句**:在FETCH操作中使用COMMIT来保证数据的一致性。 - **分布式事务处理**:在多个数据库之间协调事务的完成或...
### Oracle数据库学习知识点详解 #### 一、基本使用 ##### 1.1 常用命令 **1.1.1 Connect/Disconnect数据库连接命令** - **用途:** 连接或断开与Oracle数据库的连接。 - **语法示例:** - `sqlplus username/...
Oracle SQL是用于管理和操作Oracle数据库的关键工具,涵盖了数据查询、数据操纵、数据定义以及数据控制等多个方面。在本文中,我们将深入探讨Oracle SQL中的数据控制语句(DCL)、数据定义语句(DDL)以及一些基本的...
- 动态采样是Oracle的一种技术,用于收集额外的统计信息来改善执行计划的选择。 - 本书解释了如何识别使用了动态采样的SQL语句,并提供了解决方案。 - 实例: - 使用`DBMS_XPLAN.DISPLAY_CURSOR`显示执行计划,...
在Oracle中,主要有两种类型的锁:行级锁(Row-Level Locks)和表级锁(Table-Level Locks)。行级锁允许并发用户同时访问不同的数据行,提高了系统的并行性;而表级锁则在整个表上施加锁定,适用于需要全局锁定的...
- **V$LOCK视图**:提供了关于锁定对象的信息,包括锁定模式、请求者等。通过结合V$LOCK和V$TRANSACTION视图,可以深入分析锁冲突和死锁的原因。 ### 数据加载与并行处理 在Oracle数据库中,数据的高效加载对于大...
- `LOCK TABLE`:用于锁定表。 - `SET CONSTRAINTS`:用于设置约束的状态。 - `SET TRANSACTION`:用于设置事务的工作方式。 5. **审计控制语言**:用于控制和审计用户的活动。 - `AUDIT`:用于开启审计功能。 ...
oracle锁机制可以分为六种模式:none、null、Row-S、Row-X、Share、exclusive。其中,Row-S模式为共享表锁,sub share,Row-X模式为行独占锁,sub exclusive,Share模式为共享锁,阻止其他DML操作,S/Row-X模式为...
5. 共享行排他锁(Share Row Exclusive Table Lock,SRX) 共享行排他锁是一种介于行级共享锁和行级排他锁之间的锁,它允许其他事务添加行级共享锁,但不允许添加行级排他锁。拥有 SRX 锁的事务可以执行更新操作,但...
- 此选项是一个快捷组合,相当于同时设置了`--add-drop-table --add-locking --create-option --disable-keys --extended-insert --lock-tables --quick --set-charset`。该选项使`mysqldump`能够快速导出数据,并...