一些性能方面的告警信息通过dba_outstanding_alerts表都能查到,被锁定的表如果长期得不到释放,在这里也能查到相关session的sid和serial#。
select * from dba_outstanding_alerts
v$locked_object视图可以看到当前被锁定的对象,只有那些一直存在的session才有可能是被锁定的,因此不能简单匆忙的下结论,尤其是在RAC环境中,必须查看各个节点以发现相关的session在哪里。
select * from v$locked_object
有时候也可以根据对象名来查看锁的信息:
select sid,id1,type from v$lock where id1=(select object_id from dba_objects where object_name=upper('mytablename'));
找到了引起锁定的session,就可以找到对应的sid和serial#
select saddr,sid,serial#,paddr,username,status from v$session where sid=772
从而可以杀死这个session:
SQL> alter system kill session '772,9044';
System altered.
可以查询Oracle数据库的进程和操作系统进程之间的关联:
select spid, oSUSEr, s.program from v$session s,v$process p
where s.paddr=p.addr and s.sid=772
有时候一些进程要在操作系统杀死,这时可以用kill -9 pid的命令:
[root@erpdevdb ~]# ps -ef|grep sqlplus
oracle 11847 11126 0 16:39 pts/1 00:00:00 sqlplus -S @/oracle/home/droptable.sql
root 11889 11856 0 16:40 pts/2 00:00:00 grep sqlplus
[root@erpdevdb ~]# kill -9 11847
数据库对象锁定引起的阻塞是比较麻烦的事情,处理的时候一定要小心谨慎。
- 大小: 47.2 KB
分享到:
相关推荐
Oracle 数据库用户锁定解决方案在 Linux 下的操作记录 Oracle 数据库用户锁定是指用户账户被锁定,无法登录数据库的情况。这种情况可能是由于用户密码输入错误次数超过限制,或者是数据库管理员对用户账户进行了...
### 解决Oracle system或用户被锁定问题 在日常的数据库管理与维护工作中,经常会遇到Oracle系统用户或普通用户被锁定的问题。这种情况不仅会影响系统的正常使用,还可能导致数据丢失或业务中断等严重后果。本文将...
### 解决Oracle 11g中scott用户默认被锁定的问题 #### 背景介绍 在使用Oracle数据库的过程中,用户经常会遇到系统预设的一些示例用户被锁定的情况,其中最为人熟知的就是`scott`用户。`scott`用户是在安装Oracle...
在Oracle数据库操纵中,登录Oracle账号时提示失败,并且Oracle账号频繁被锁定。造成此故障的原因是什么呢?本文就介绍了这一过程,经由过程慢慢排查我们就能找到该故障的原因了。 下面记录下查找这个题目的步调。 1....
解决 Oracle 杀死死锁进程的方法可以分为两步:首先,查找被锁定的表和锁定的会话,然后杀死锁定的会话和操作系统进程。 在解决死锁问题时,需要注意以下几点: * 需要拥有足够的权限来杀死锁定的会话和操作系统...
ora-00031:session marked for kill处理oracle中杀不掉的锁一些ORACLE中的进程被杀掉后,状态被置为”killed”,但是锁定的资源很长时间不释放,有时实在没办法,只好重启数据库。现在提供一种方法解决这种问题,那...
### ORACLE 如何查询被锁定表及如何解锁释放session 在Oracle数据库管理中,了解如何查询被锁定的表以及如何解锁这些锁定对于确保数据库高效运行至关重要。本文将详细介绍如何使用Oracle SQL查询锁定的表,并提供一...
在Oracle数据库管理过程中,经常会出现表或行被锁定的情况,这可能会导致应用程序出现性能问题甚至挂起。因此,了解如何判断表是否被锁以及如何解锁是非常重要的技能。 #### 一、判断表是否被锁 1. **SQL查询语句*...
在IT领域,尤其是在数据库管理与优化中,存储过程的解锁是一项关键技能,尤其对于Oracle数据库而言。当存储过程被锁定时,可能会...通过遵循上述步骤,可以有效解决存储过程被锁定的问题,保障数据库系统的健康运行。
Oracle数据库解决死锁 Oracle数据库解决死锁是指在Oracle...解决Oracle数据库死锁问题需要具备一定的数据库管理知识和PL/SQL编程技能。同时,也需要了解Oracle数据库的工作原理和死锁机理,以便更好地解决死锁问题。
本文将详细介绍如何解决Oracle字段被SDE用户锁定的问题。 #### 一、理解SDE用户和锁定机制 在Oracle数据库中,SDE是一个特殊的用户账户,主要用于存储和管理空间数据。当SDE用户对某个对象(如表、视图等)进行...
Oracle数据库中的锁表问题可以通过一系列步骤来解决:首先识别出被锁定的表及其锁定模式;然后查找并确认锁定的会话;接着根据情况选择合适的方法来解除锁定(如终止会话或进程)。在整个过程中,数据库管理员需要...
本文将深入探讨Oracle锁定机制的各个方面,包括锁定类型、锁定级别、锁定模式以及如何在实践中应用。 一、锁定类型 1. 行级锁:Oracle主要使用行级锁定来最小化锁定范围,提高并发性能。行级锁分为共享锁(S锁)和...
### 解决ORACLE表死锁的方法 一旦检测到死锁,下一步就是解决它。解决死锁最直接的方法是终止其中一个参与死锁的事务。这可以通过查询V$SESSION视图来找到具体的会话信息,然后使用ALTER SYSTEM KILL SESSION命令来...
#### 四、解决Oracle死锁的方法 ##### 4.1 优化SQL语句 确保所有事务中的SQL语句按照相同的顺序执行可以减少死锁的机会。此外,还可以通过合并多个SQL语句或者调整SQL语句的执行顺序来避免死锁。 ##### 4.2 调整...
### Oracle在Windows 7上安装出错解决方案 #### 背景介绍 Oracle数据库是一款广泛应用于企业级数据处理的强大工具。然而,在某些操作系统环境下安装Oracle可能会遇到兼容性问题,特别是对于较旧的操作系统如Windows...
Oracle 查询用户锁表是指在 Oracle 数据库中查询当前用户锁定的表,以便诊断和解决锁表问题。本文档将详细介绍如何查询用户锁表,并提供相关的代码。 一、查询用户锁表的必要性 在 Oracle 数据库中,锁表是指用户...
本文将深入探讨在Oracle 10g环境下,以SYS身份登录失败的问题及其解决方案,帮助数据库管理员和使用者有效解决这一难题。 ### Oracle 10g以SYS身份登录的重要性 SYS是Oracle数据库中的一个超级用户账号,拥有对...
当多个权限或角色导致权限冲突时,Oracle遵循“最近者优先”原则,即最近被授予的权限优先级更高。如果需要,可以使用`WITH ADMIN OPTION`在授予角色时,使用户能够进一步管理和更改该角色的权限。 在Oracle用户...
解决Oracle死锁的方法有: 1. **手动干预**:通过SQL命令`ALTER SYSTEM KILL SESSION 'sid,serial#'`杀死其中一个会话,打破死锁。但需谨慎使用,避免数据一致性问题。 2. **调整应用程序逻辑**:重新设计事务处理...