- 浏览: 164783 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
钱少少:
programming 写道和maven相比没优势
ivy只是 ...
ant+ivy管理项目 -
programming:
和maven相比没优势
ant+ivy管理项目 -
钱少少:
kingsfighter 写道和maven相比,有什么优势?
...
ant+ivy管理项目 -
kingsfighter:
和maven相比,有什么优势?
ant+ivy管理项目 -
zhijie_zhang:
搭建java-web框架(一)
SELECT OBJECT_ID,SESSION_ID,SERIAL# ,a.oracle_username,a.os_user_name,a.process
FROM V$LOCKED_OBJECT a ,
V$SESSION WHERE a.SESSION_ID=SID;
解锁SQL:alter system kill session 'sid,serial#';
--查询是table锁还是行锁
select /*+ rule */ s.username,s.SID,s.SERIAL#,
decode(l.type,'TM','TABLE LOCK',
'TX','ROW LOCK',
NULL) LOCK_LEVEL,
o.owner,o.object_name,o.object_type,
s.sid,s.serial#,s.terminal,s.machine,s.program,s.osuser
FROM v$session s,v$lock l,dba_objects o
WHERE l.sid = s.sid
AND l.id1 = o.object_id(+)
AND s.username is NOT NULL;
解锁:
alter system kill session 's.SID,s.SERIAL'
在存储过程中,往往因为逻辑的复杂会修改很多表记录。
1,修改a表: update a set a.1=1 where a.id=2
2,修改b表: update b set b.1=1 where b.id=2
3,修改a表: update a set a.1=1 where a.id=2
4,修改b表: update b set b.1=1 where b.id=2
oracle一般会自动解锁,不过上面的写法可能会照成错误,一般修改重复表时建议,如果可能就先修改a,在修改b,不要交叉处理
收集;
select b.owner,b.object_name,a.session_id,a.locked_mode from v$locked_object a,dba_objects b where b.object_id = a.object_id; OWNER OBJECT_NAME SESSION_ID LOCKED_MODE ------------------------------ ----------------- WSSB SBDA_PSHPFTDT 22 3 WSSB_RTREPOS WB_RT_SERVICE_QUEUE_TAB 24 2 WSSB_RTREPOS WB_RT_NOTIFY_QUEUE_TAB 29 2 WSSB_RTREPOS WB_RT_NOTIFY_QUEUE_TAB 39 2 WSSB SBDA_PSDBDT 47 3 WSSB_RTREPOS WB_RT_AUDIT_DETAIL 47 3 select b.username,b.sid,b.serial#,logon_time from v$locked_object a,v$session b where a.session_id = b.sid order by b.logon_time; USERNAME SID SERIAL# LOGON_TIME ------------------------------ ---------- ------- WSSB_RTACCESS 39 1178 2006-5-22 1 WSSB_RTACCESS 29 5497 2006-5-22 1
alter system kill session 'sid,serial#'; e.g alter system kill session '29,5497';
select t2.username||' '||t2.sid||' '||t2.serial#||' '||t2.logon_time||' '||t3.sql_text from v$locked_object t1,v$session t2,v$sqltext t3 where t1.session_id=t2.sid and t2.sql_address=t3.address order by t2.logon_time;
SELECT a.username,c.spid AS os_process_id,c.pid AS oracle_process_id FROM v$session a,v$process c WHERE c.addr=a.paddr and a.sid= and a.serial#= ;
ps -ef|grep os_process_id kill -9 os_process_id ps -ef|grep os_process_id
sqlplus "/as sysdba" (sys/change_on_install) SELECT s.username,l.OBJECT_ID,l.SESSION_ID,s.SERIAL#, l.ORACLE_USERNAME,l.OS_USER_NAME,l.PROCESS FROM V$LOCKED_OBJECT l,V$SESSION S WHERE l.SESSION_ID=S.SID;
select pro.spid from v$session ses, v$process pro where ses.sid=XX and ses.paddr=pro.addr;
exit ps -ef|grep spid
SQL> select p.addr from v$process p where pid <> 1 2 minus 3 select s.paddr from v$session s;
现在我们获得了进程地址,就可以在v$process中找到spid,然后可以使用Kill或者orakill在系统级来杀掉这些进程.
发表评论
-
Oracle同义词创建及其作用
2014-03-05 10:30 703Oracle的同义词(synonyms)从字面上理解就是别名 ... -
oracle中将列转化为行
2012-10-25 11:40 933oracle 10g以后 wm_concat函数的运用 准备 ... -
索引的运用
2012-09-18 17:48 1319索引整理 SQL语法整理——索引 什么是索引 数据 ... -
ORACLE PL/SQL编程之八:(触发器经典实例(全))
2012-08-03 13:54 1075ORACLE PL/SQL编程之八: ... -
oracle触发器详解实例
2012-08-03 13:36 1557语法规则: Create [or replace] trigg ... -
JNDI全面总结 (tomact中配置连接池)
2012-08-02 12:42 4032JNDI全面总结 原理: 在DataSo ... -
系统运行一段时间后,提升其速度的方法总结
2012-07-30 18:08 1370BI系统运行一段时间后 ... -
ORACLE中函数和存储过程的区别
2012-07-20 15:40 1076函数和存储过程的区别 从参数的返回情况来看: 如果返 ... -
pl_sql中函数的基本运用
2012-05-16 17:42 8531基本函数 create or replace functio ... -
plsql中利用函数将一个逗号分隔字符串转义返回单个的列
2012-04-05 15:12 53671.传进去一个字符串,类似于'123,456'; CREATE ... -
sql中的having和where的作用
2012-02-24 16:39 1431例子: select max(orgid) from au ... -
pl-sql中函数循环插入值方式一
2012-02-14 10:39 1732create or replace function F_TE ... -
给表中增加一列或者修改列类型,大小脚本
2012-02-13 16:27 1106修改表中的某列: alter table tablename ... -
sql语句-创建索引
2012-02-07 15:59 1057语法: CREATE [索引类型] INDEX 索引名称 ON ... -
(转)SQL 优化原则(精)
2012-02-07 15:47 849(转)SQL 优化原则 一、问题的提出 在应用系统开发 ... -
pl-sql中关于函数test及存储过程中调用function函数
2012-02-07 15:20 2235对于存储过程可以直接反键test 但是对于函数就要先在过程中 ... -
UNDO_RETENTION
2011-12-28 14:01 2285深度理解Oracle10g中UNDO_RETENTION参数 ... -
oracle中恢复表数据及相关设置
2011-12-28 14:00 1016>1、从flash back里查询被删除的表 ... -
sqlserver和oracle中去除某一字段中重复字节,以逗号分隔
2011-12-15 16:19 2809sqlserver: create function ren ... -
树状数据库表:Oracle中start with...connect by prior子句用法
2011-12-15 15:57 1463Oracle中start with...connect by ...
相关推荐
Oracle数据库在运行过程中,可能会遇到一种情况,那就是“表死锁”,这会导致多个事务相互等待对方释放资源,从而无法继续执行。死锁不仅影响数据库的正常运行,还可能导致数据一致性问题。本文将深入探讨Oracle表...
#### 四、Oracle死锁检测与处理 1. **检测死锁**:Oracle数据库能够自动检测死锁,并在检测到死锁后采取措施。默认情况下,Oracle会随机选择一个事务作为受害者并回滚它,从而解决死锁问题。此外,还可以使用`V$...
查询ORACLE死锁以及解锁语句查询ORACLE死锁以及解锁语句
执行查询语句查询Oracle是否有死锁,以及叫你如何解锁。
本文将详细介绍如何在Oracle中查询死锁,以及如何有效地解锁和处理这类问题。 1. **查询死锁** 要确定Oracle中的死锁,可以使用`V$LOCKED_OBJECT`视图来查看当前被锁定的对象。通过以下SQL查询,我们可以得到被...
Oracle 死锁是指在数据库中出现的循环等待资源的情形,从而导致数据库性能下降或系统崩溃。出现死锁的原因有多种,如资源竞争、锁定机制不当等。下面是排查 Oracle 死锁问题的语句: 1. 等待 Session 排查语句: ...
在Oracle数据库管理中,死锁是指两个或多个事务在执行过程中,因争夺资源而造成的一种相互等待的现象。当这种情况发生时,没有一个事务能够继续执行,导致系统停滞不前。解决这种问题通常需要手动干预,本文将详细...
在Oracle数据库系统中,"ORA-00060: 等待资源时检测到死锁" 是一个常见的错误提示,它表明两个或多个事务在执行过程中陷入了无法继续进行的状态,因为彼此都在等待对方释放资源。这种情况通常发生在并发操作中,比如...
### Oracle的锁表与解锁...通过以上方法,我们可以有效地管理和监控Oracle数据库中的锁状态,从而避免死锁和提高系统的并发性能。在日常数据库管理中,正确理解和应用锁机制对于保持数据库的高可用性和响应性至关重要。
- **死锁检测与自动解锁**:启用Oracle数据库的死锁检测功能,自动解除死锁。 通过以上方法,不仅可以有效检测到Oracle数据库中的死锁问题,还可以采取措施预防未来可能出现的死锁,从而提高系统的稳定性和性能。
### 一、Oracle死锁查询 当怀疑Oracle数据库中存在死锁时,可以使用以下SQL查询来检查哪些会话处于锁定状态: ```sql SELECT s.username, l.object_id, l.session_id, s.serial#, l.oracle_username, l.os_...
当oracle出现死锁时,查询死锁的内容,kill死锁进程。
在Oracle数据库管理中,锁定与解锁是常见的操作之一,特别是在处理并发控制时尤为重要。当一个会话长时间占用资源导致其他会话无法正常工作时,可能需要进行解锁操作来解除这种状态。本文将详细介绍如何在Oracle中...
### ORACLE 如何查询被锁定表及如何解锁释放session 在Oracle数据库管理中,了解如何查询被锁定的表以及如何解锁这些锁定对于确保数据库高效运行至关重要。本文将详细介绍如何使用Oracle SQL查询锁定的表,并提供一...
数据库死锁的概念, 所谓...Oracle对于“死锁”采取的策略是回滚其中一个事务,让另外一个事务顺利进行。 对于锁死的会话,我们可以直接删掉该会话,等事物回滚完成,也可以找出锁死进程的spid,从服务器中删掉该进程。
Oracle数据库在运行过程中,有时会出现表被锁定的情况,这可能是由于事务处理未完成、死锁或其他原因导致的。本文将详细介绍如何解锁Oracle表,并提供相关的SQL命令和步骤。 首先,了解Oracle表锁定的原因是必要的...
例如,Oracle提供了查询死锁并解锁的命令,以及查看和释放会话锁定的解决方案。对于查询锁定的表,可以使用`v$lock`视图,解锁则可能需要`ALTER TABLE ... UNLOCK`或`ALTER SESSION ... ROLLBACK`等命令。 此外,...