精华内容
下载资源
问答
  • Oracle数据库锁表解锁

    千次阅读 2018-12-27 09:57:30
    --以下几个为相关 SELECT * FROM V$LOCK; SELECT * FROM V$SQLAREA; SELECT * FROM V$SESSION; SELECT * FROM V$PROCESS; SELECT * FROM V$LOCKED_OBJECT; SELECT * FROM ALL_OBJECTS; SELECT * FROM V$SESSION_...

    --以下几个为相关表

    SELECT * FROM V$LOCK;
    SELECT * FROM V$SQLAREA;
    SELECT * FROM V$SESSION;
    SELECT * FROM V$PROCESS;
    SELECT * FROM V$LOCKED_OBJECT;
    SELECT * FROM ALL_OBJECTS;
    SELECT * FROM V$SESSION_WAIT;

    --查看被锁的表 

    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;

    --查看那个用户那个进程照成死锁

    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;

    --查看连接的进程 

    SELECT SID, SERIAL#, USERNAME, OSUSER FROM V$SESSION;

    --3.查出锁定表的sid, serial#,os_user_name, machine_name, terminal,锁的type,mode

    SELECT S.SID,
           S.SERIAL#,
           S.USERNAME,
           S.SCHEMANAME,
           S.OSUSER,
           S.PROCESS,
           S.MACHINE,
           S.TERMINAL,
           S.LOGON_TIME,
           L.TYPE
      FROM V$SESSION S, V$LOCK L
     WHERE S.SID = L.SID
       AND S.USERNAME IS NOT NULL
     ORDER BY SID;

    --这个语句将查找到数据库中所有的DML语句产生的锁,还可以发现, 任何DML语句其实产生了两个锁,一个是表锁,一个是行锁。

    --杀掉进程 sid,serial#

    ALTER SYSTEM KILL SESSION '210,11562';


     

    展开全文
  • oracle锁表解锁语句示例。
  • oracle数据库 锁表解锁 批量解锁

    千次阅读 2019-05-20 09:29:38
    oracle数据库 锁表解锁 批量解锁 《PS:留下小赞赞,比心比心》 ORACLE 中查看当前系统中锁表情况 : select object_name , machine , s . sid , s . serial# from v$locked_object l , dba_objects o , v$...

    oracle数据库 锁表解锁 批量解锁

    《PS:留下小赞赞,比心比心》

    ORACLE中查看当前系统中锁表情况:
    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;
    
    ORACLE解锁的方法 (单个解锁)
    alter system kill session '13,298';
    
    ORACLE解锁的方法 (多个解锁)
    select a.object_name,b.session_id,c.serial#,'alter system kill session '''||b.session_id||','||c.serial#||'''; ' as a,c.program,c.username,c.command,c.machine,c.lockwait
    from all_objects a,v$locked_object b,v$session c where a.object_id=b.object_id and c.sid=b.session_id;
    
    展开全文
  • 直接使用最大权限的数据库用户执行第一条查询sql,然后根据查询到的数据,填写第二条解锁数据的对应字段进行解锁。注:执行sql的用户权限必须足够大才行。 锁表 --锁表查询: select b.sid,b.serial# from v$...

    简介

    直接使用最大权限的数据库用户执行第一条查询sql,然后根据查询到的数据,填写第二条解锁数据的对应字段进行解锁。注:执行sql的用户权限必须足够大才行。

     

    锁表

    --锁表查询:
     

    select b.sid,b.serial# from v$locked_object a,v$session b where a.session_id = b.sid order by b.logon_time;

     

    解锁

    --解表:alter system kill session'sid,serial#';
     

    alter system kill session'11,4038';

    批量解锁

    --解表:select a.object_name,b.session_id,c.serial#,'alter system kill session '''||b.session_id||','||c.serial#||'''; ' as a,c.program,c.username,c.command,c.machine,c.lockwait
    from all_objects a,v$locked_object b,v$session c where a.object_id=b.object_id and c.sid=b.session_id;

    展开全文
  • oracle数据库锁解锁,批量解锁

    -- 1. 查看被锁的表
    SELECT p.spid, a.serial#, c.object_name, b.session_id, b.oracle_username,b.os_user_name
     FROM v$process p, v$session a, v$locked_object b, all_objects c
     WHERE p.addr = a.paddr 
     AND a.process = b.process
     AND c.object_id = b.object_id
    -- 2. 查看是哪个进程锁的 
    SELECT sid, serial#, username, status, osuser FROM v$session  where serial# = '11016'
     
    -- 3. 杀掉这个进程  
    alter system kill session '72,11016';

    -- 4.批量解锁
    declare cursor mycur is   
    select b.sid,b.serial#   
      from v$locked_object a,v$session b   
      where a.session_id = b.sid group by b.sid,b.serial#;   
    begin   
      for cur in mycur   
        loop     
         execute immediate ( 'alter system  kill session  '''||cur.sid || ','|| cur.SERIAL# ||''' ');   
         end loop;   
    end;

    展开全文
  • oracle数据库解锁

    2021-02-26 16:49:14
    oracle数据库解锁切换成root用户切换成oracle用户用dba权限登录Oracle解锁账号,但不会取消密码过期解锁账号,同时取消密码过期。修改密码提交 切换成root用户 sudo su 切换成oracle用户 su - oracle 用dba权限...
  • 一、查询哪些以及查看锁表得会话及操作系统进程ID 其中locked_mode为的级别,spid为数据库所在操作系统的进程id select c.sid, c.serial#, c.username, c.osuser, b.owner, b.object_name, a.locked_...
  • Oracle数据库锁表解决方法

    千次阅读 2019-07-06 13:52:07
    锁表问题 今天执行一个删除语句的时候,一直执行不了,最后发现是因为之前对这个使用了for update语句,然后又忘记提交了。 解决方法 执行下语句将查找到有哪些住了: select b.owner,b.object_name,a....
  • Oracle数据库操作语句 备忘一下,后面方便查看 1、查看数据库锁表语句: select /*+rule*/ s.username, decode(I.type,'TM','TABLE LOCK','TX','ROW LOCK',NULL)LOCK_LEVEL,o.owner,o.object_name,o.object_type...
  • 1、根据表名查询锁定的会话 select p.spid, c.object_...b.session_id,a.serial#,b.oracle_username, b.os_user_name from v$process p, v$session a, v$locked_object b,all_objects c where p.ADDR = a.PADDR and a.
  • Oracle锁表查询和解锁方法

    万次阅读 多人点赞 2019-05-22 10:07:07
    我们这里一般用的PL/SQL,总是无意间把表锁住,所以我今天就整理了一下简单的解锁和查询锁表的方法; 一、首先PL/SQL要以管理员的账号(system/admin等)登录,管理员的账号和密码根据个人设置而来,连接为一般选择...
  • oracle数据库解锁表

    千次阅读 2018-08-31 11:47:06
    首先查询sid与串口: select object_name,machine,s.sid,s.serial# from v$locked_object l,dba_objects o ,v$session s where l.object_id = o....然后根据查询到的sid与串口,执行解锁命令: alter syste...
  • Oracle数据库锁定和解锁用户

    千次阅读 2018-10-08 12:25:40
    ALTER USER 用户名 ACCOUNT (UN)LOCK;
  • Oracle数据库锁表处理 工作中我们经常会遇到数据库锁表锁表后进程一大堆,业务功能都不能正常使用,下面给大家带来详细的锁表解锁方法; 第一步:查看数据库引起锁表的SQL语句 select sql_fulltext, b.sid, b....
  • 当多人同时操作oracle数据库的同一张的时候,经常会造成锁表现象,这时需要手动进行解锁。 首先:先看下那些住,程序如下: 1, select b.owner,b.object_name,a.session_id,a.locked_mode from v$locked_...
  • Oracle数据库账号被了怎么解锁

    万次阅读 2018-06-23 11:19:37
    如果遇到这样的情况第一步(别忘打开服务了,服务名OracleServiceORCL)输入数据库管理员用户名和密码用户名是SYSTEM固定的,密码应该是你安装时设置的密码第二步:解锁ALERT USER 用户名 ACCOUNT UNLOCK;...
  • select 'alter system kill session '||''''||t2.sid||','||t2.serial#||''';' from gv$locked_object t1,gv$session t2 where t1.session_id=t2.sid order by ...获取查询结果后:批量执行查询语句,进行批量解锁 ...
  • Oracle数据库表解锁

    2019-01-07 14:00:48
    1.查出被数据库用户 Select t2.username,t2.sid,t2.serial#,t2.logon_time from v$locked_object t1,v$session t2 where t1.session_id=t2.sid; 2.查出被用户的sid 和seria SELECT sid ,serial#,...
  • select * from V$session t1, SYS.V_$LOCKED_OBJECT t2 where t2.session_Id = t1.sid;--查出锁表的session及序号 alter system kill session '115,33246'--其中115是sid,33246为serial
  • (1)锁表查询的代码形式如下: select count(*) from v$locked_object; select * from v$locked_object; (2)查看哪个 ---不仅是死锁 select b.owner,b.object_name,a.session_id,a.locked_mode from v$...
  • 锁表是很多数据库中一个常见的内容与功能了,下面我来介绍在oracle中一些查询锁表解锁语句例举,欢迎各位朋友进入参考。 查询锁定的: SELECT l.session_id sid, s.serial#, l.locked_mode,l.oracle_username, ...
  • 查看Oracle锁表

    2015-11-26 15:32:09
    此文档可以查看当前Oracle数据库中被解锁命令,
  • Oracle数据库操作中,我们有时会用到锁表查询以及解锁和kill进程等操作,那么这些操作是怎么实现的呢?本文我们主要就介绍一下这部分内容。 (1)锁表查询的代码有以下的形式: select count(*) from v$locked_object;...
  • 解锁多个用户被锁定的DECLare str VARCHAR2(1000); BEGIN FOR c1 in (SELECT username FROM dba_users /*+ 筛选条件*/ ) LOOP str:='alter user '||c1.username||' account unlock'; EXECUTE IMMEDIATE str; ...
  • oracle锁表解锁
  • 个人总结-oracle查询锁表解锁语句

    万次阅读 2018-11-29 16:59:10
    oracle查询锁表解锁语句 –首先要用dba权限的用户登录,建议用system,然后直接看sql吧 1. 如下语句 查询锁定的. SELECT L.SESSION_ID SID, S.SERIAL#, L.LOCKED_MODE, L.ORACLE_USERNAME, L.OS_...
  • 在创建数据库时,其中SYS登录Oracle数据库在SQL*Plus工具通过如下SQL解锁。 1、通过数据字典dba_users,查看Oracle账户的锁定状态,如下:(v其中,OPEN表示账户为解锁状态;EXPIRED表示账户为过期状态(需要设置口令...
  • 数据库锁表解锁

    2020-01-08 10:14:22
    查看锁表进程SQL语句 select * from v$session t1, v$locked_object t2 where t1.sid = t2.SESSION_ID; 解锁 杀掉锁表进程: 记录下SID和serial# ,分别替换掉下面的1155,39095,即可解除锁表 alter system...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 19,025
精华内容 7,610
关键字:

oracle数据库锁表解锁