一些ORACLE中的进程被杀掉后,状态被置为"killed",但是锁定的资源很长时间不释放,有时实在没办法,只好重启数据库。现在提供一种方法解决这种问题,那就是在ORACLE中杀不掉的,在OS一级再杀。
1.下面的语句用来查询哪些对象被锁:
select object_name,machine,s.sid,s.serial#
from v$locked_object l,dba_objects o ,v$session s
where l.object_id = o.object_id and l.session_id=s.sid;
2.下面的语句用来杀死一个进程:
alter system kill session '24,111'; (其中24,111分别是上面查询出的sid,serial#)
【注】以上两步,可以通过Oracle的管理控制台来执行。
3.如果利用上面的命令杀死一个进程后,进程状态被置为"killed",但是锁定的资源很长时间没有被释放,那么可以在os一级再杀死相应的进程(线程),首先执行下面的语句获得进程(线程)号:
select spid, osuser, s.program
from v$session s,v$process p
where s.paddr=p.addr and s.sid=24 (24是上面的sid)
4.在OS上杀死这个进程(线程):
1)在unix上,用root身份执行命令:
#kill -9 12345(即第3步查询出的spid)
2)在windows(unix也适用)用orakill杀死线程,orakill是oracle提供的一个可执行命令,语法为:
orakill sid thread
其中:
sid:表示要杀死的进程属于的实例名
thread:是要杀掉的线程号,即第3步查询出的spid。
例:c:>orakill orcl 12345
分享到:
相关推荐
总结来说,解锁Oracle存储过程的过程涉及到识别锁定会话、查询锁定详情,并最终终止锁定会话以释放锁定。这一系列操作需要对Oracle数据库的系统视图有深入的理解,同时也需要具备一定的数据库管理经验。通过遵循上述...
本文将详细介绍如何使用Oracle SQL查询锁定的表,并提供一种方法来解锁并释放相关的会话。 #### 一、查询被锁定的表 在Oracle数据库中,当一个事务开始执行时,它可能会锁定表或行以防止其他事务同时对其进行修改...
因此,了解如何有效地解锁表是每个Oracle数据库管理员必备的技能之一。 #### 1. 识别锁定的表 在解决锁定问题之前,首先需要确定哪些表被锁定了以及锁定的原因。可以通过查询`v$locked_object`视图来获取当前被...
本文将详细介绍如何查找被锁的表以及如何解锁这些表,以确保数据库系统的稳定性和效率。 首先,要查找被锁的表,可以使用以下SQL查询: ```sql select b.owner, b.object_name, a.session_id, a.locked_mode from ...
### Oracle查看被锁的表与解锁方法 在Oracle数据库管理及开发过程中,有时会遇到表被锁的问题,这种情况可能会导致应用程序出现性能瓶颈甚至完全无法执行某些操作。因此,掌握如何查看哪些表被锁以及如何解锁变得尤...
在Oracle数据库管理中,"快速查找Oracle锁对象"是一个关键任务,特别是在处理并发事务和解决性能问题时。当多个用户或进程同时访问同一资源时,可能会出现锁冲突,导致某些事务等待,影响数据库的正常运行。了解如何...
Oracle数据库在运行过程中,可能会遇到由于并发操作导致的锁问题,这可能会引发数据一致性问题或者导致其他用户无法正常访问特定的表或行。在这种情况下,了解如何查询锁表与解锁情况至关重要。本篇文章将深入探讨...
在Oracle SQL中,有几个关键概念和技术值得深入理解,包括CASE WHEN语句、查看执行计划、文本操作、锁定和解锁表以及游标。以下是对这些知识点的详细解释: 1. **CASE WHEN语句**: CASE WHEN是SQL中的一个条件...
常常因为一些吴操作将数据表锁定了,这里提供一个SQL查找锁表的ID,并且解锁
本篇文章将详细解释如何查询Oracle数据库中的死锁,并提供终极的解锁方法。 首先,我们可以通过SQL查询来找出被锁定的对象。以下语句结合`v$locked_object`, `dba_objects` 和 `v$session` 视图,能够列出所有被...
本文将详细介绍Oracle系统用户及普通用户被锁定后的解决办法,并提供一些实用的技巧,帮助读者有效应对这类问题。 #### 一、Oracle System用户被锁定的解决方案 当Oracle system用户被锁定时,通常可以采取以下...
因此,在进行数据库开发与维护时,能够快速有效地查找并分析锁与锁等待情况是非常必要的。 #### 使用PL/SQL Developer查找锁与锁等待 **PL/SQL Developer**是一款广泛应用于Oracle数据库开发与管理的强大工具,它...
可以通过快捷键 `Win+R` 输入 `services.msc` 并按回车,在服务列表中查找Oracle相关的服务。 #### 四、安装数据库实例 1. **准备创建数据库实例**:启动数据库实例创建向导。 2. **选择创建类型**:选择适合的...
在操作过程中,可能会导致用户被锁,可以使用命令 `SELECT LOCK_DATE,username from dba_users where username='USERNAME';` 查看被锁的用户,然后使用命令 `ALTER USER USER_NAME ACCOUNT UNLOCK;` 解锁用户。 ...
1. **删除Oracle配置文件**:在Windows系统文件夹(默认为`C:\WINNT`)中查找并删除与Oracle相关的配置文件,如`ORACLE.INI`、`oradim73.INI`、`oradim80.INI`、`oraodbc.ini`等。 ### 七、修改系统配置文件 1. **...
使用Oracle时,发现有表被锁,又不知道是谁(或者哪个程序)锁的,怎么办 ? 两步走: 1、查找出被锁对象的会话ID和序列号 执行如下SQL: -- 查询出被锁对象,并提供 kill 脚本 SELECT S.SID, S.MACHINE, O.OBJECT_...
Oracle命令详解是一个面向初学者的教程,旨在帮助学习者掌握Oracle数据库的基本操作。在这个教程中,我们将重点关注如何解锁和管理用户账户...理解并熟练运用这些命令和概念,将有助于你在Oracle数据库管理中游刃有余。
在登陆时被告知test用户被...2、查看具体的被锁时间 SQL> select username,lock_date from dba_users where username='TEST'; USERNAME LOCK_DATE TEST 2009-03-10 08:51:03 3、解锁 SQL> alter user test account u
本文将深入探讨Oracle数据库中“记录被另一个用户锁住”的原因以及解决方法。 首先,理解为什么会出现记录被锁住的情况至关重要。在多用户环境下,数据库必须确保事务的隔离性,以防止并发操作导致的数据不一致。...