Oracle锁表处理方式

 更新时间:2024年11月19日 10:47:25   作者:辣椒炒鸡  
文章主要介绍了如何解决Oracle数据库中的表被锁问题,包括查看被锁的表、查找锁表的进程、杀死进程等步骤,并提供了在Linux和Windows系统中杀死进程的方法

Oracle锁表处理

1.查看被锁的表

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

2.查看锁表的进程

select a.OS_USER_NAME, c.owner, c.object_name, b.sid, b.serial#, logon_time
  from v$locked_object a, v$session b, dba_objects c
 where a.session_id = b.sid
   and a.object_id = c.object_id 
 order by b.logon_time;

3.杀死进程

 -- immediate 添加为立即结束
 alter system kill session 'sid,serial' immediate

注:执行步骤3,可能存在权限不足的问题

解决方式:

GRANT ALTER SYSTEM TO <username>;

步骤3执行完,锁表已正常解决

4.查找对应进程号

步骤3可能存在‘ORA-00027: 无法终止当前会话’ 错误。

此时,需要通过杀死对应的进程号来解决

select a.SID,a.USERNAME,a.status,a.process,b.SPID from v$session a,v$process b where a.PADDR=b.ADDR;

5.杀死进程

  • Linux系统
kill -9 进程号
  • Windows系统

1.任务管理器直接终止相应的PID

2.命令行

orakill sid spid

sid 是数据库实例名

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 一文详解Oracle存储过程

    一文详解Oracle存储过程

    Oracle存储过程是Oracle数据库中的一种数据处理对象,它可以在数据库中定义一组预定义的SQL语句,用于完成特定的数据库操作,本文将通过代码示例详细介绍了Oracle存储过程,需要的朋友可以参考下
    2023-05-05
  • Oracle数据库中lead和lag函数用法示例

    Oracle数据库中lead和lag函数用法示例

    lag与lead函数是跟偏移量相关的两个分析函数,通过这两个函数可以在一次查询中取出同一字段的前N行的数据(lag)和后N行的数据(lead)作为独立的列,这篇文章主要给大家介绍了关于Oracle数据库中lead和lag函数用法的相关资料,需要的朋友可以参考下
    2024-06-06
  • PLSQL Developer连接oracle数据库配置教程

    PLSQL Developer连接oracle数据库配置教程

    这篇文章主要介绍了PLSQL Developer连接oracle数据库配置步骤,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • Oracle数据行拆分多行方法示例

    Oracle数据行拆分多行方法示例

    oracle数据库使用过程中,怎样将一行或者多行数据分割成需要的多行数据,本文我们就来看看具体方法,需要的朋友可以参考。
    2017-10-10
  • Oracle中decode函数应用示例详解

    Oracle中decode函数应用示例详解

    Oracle DECODE函数功能很强,这篇文章主要给大家介绍了关于Oracle中decode函数应用示例的相关资料,文中通过代码介绍的非常详细,对大家学习或者使用oracle具有一定的参考借鉴价值,需要的朋友可以参考下
    2024-05-05
  • oracle while的用法示例分享

    oracle while的用法示例分享

    Oracle with语句是经常可以见到的语句,下面就为您详细介绍Oracle with语句的用法,如果您对Oracle with语句感兴趣的话,不妨一看
    2014-03-03
  • Oracle数据表中的死锁情况解决方法

    Oracle数据表中的死锁情况解决方法

    这篇文章主要介绍了Oracle数据表中的死锁情况解决方法,包括如何避免死锁的建议,需要的朋友可以参考下
    2016-01-01
  • VMware中linux环境下oracle安装图文教程(一)

    VMware中linux环境下oracle安装图文教程(一)

    刚刚接触ORACLE的人来说,从那里学,如何学,有那些工具可以使用,应该执行什么操作,一定回感到无助。所以在学习使用ORACLE之前,首先来安装一下ORACLE 10g,在来掌握其基本工具。俗话说的好:工欲善其事,必先利其器。作为一个新手,我们还是先在VMware虚拟机里安装吧。
    2014-08-08
  • Oracle表空间与权限的深入讲解

    Oracle表空间与权限的深入讲解

    Oracle表空间(tablespaces)是一个逻辑的概念,真正存放数据的是数据文件(data files),下面这篇文章主要给大家介绍了关于Oracle表空间与权限的相关资料,需要的朋友可以参考下
    2021-11-11
  • oracle 11g的警告日志和监听日志的删除方法

    oracle 11g的警告日志和监听日志的删除方法

    这篇文章主要介绍了oracle 11g的警告日志和监听日志的删除方法,需要的朋友可以参考下
    2014-07-07

最新评论