如何将数据库中被锁表解锁

2016-01-29 16:50 55 1 收藏

如何将数据库中被锁表解锁,如何将数据库中被锁表解锁

【 tulaoshi.com - SQLServer 】

 我们在操作数据库的时候,有时候会由于操作不当引起数据库表被锁定,这么我们经常不知所措,不知怎么给这些表解锁,在pl/sql Developer工具的的菜单“tools”里面的“sessions”可以查询现在存在的会话,但是我们很难找到那个会话被锁定了,想找到所以被锁的会话就更难了,下面这叫查询语句可以查询出所以被锁的会话。如下:

SELECT   sn.username, m.SID,sn.SERIAL#, m.TYPE,
         DECODE (m.lmode,
                 0, 'None',
                 1, 'Null',
                 2, 'Row Share',
                 3, 'Row Excl.',
                 4, 'Share',
                 5, 'S/Row Excl.',
                 6, 'Exclusive',
                 lmode, LTRIM (TO_CHAR (lmode, '990'))
                ) lmode,
         DECODE (m.request,
                 0, 'None',
                 1, 'Null',
                 2, 'Row Share',
                 3, 'Row Excl.',
                 4, 'Share',
                 5, 'S/Row Excl.',
                 6, 'Exclusive',
                 request, LTRIM (TO_CHAR (m.request, '990'))
                ) request,
         m.id1, m.id2
    FROM v$session sn, v$lock m
   WHERE (sn.SID = m.SID AND m.request != 0)         --存在锁请求,即被阻塞
      OR (    sn.SID = m.SID                         --不存在锁请求,但是锁定的对象被其他会话请求锁定
          AND m.request = 0
          AND lmode != 4
          AND (id1, id2) IN (
                        SELECT s.id1, s.id2
                          FROM v$lock s
                         WHERE request != 0 AND s.id1 = m.id1
                               AND s.id2

来源:http://www.tulaoshi.com/n/20160129/1499632.html

延伸阅读
select for update 这个是行级锁 当 commit或者rollback时,锁释放 记得打开事务,比如jdbc里面 setAutoCommit(false); 步骤如下: 1 在JDBC中setAutoCommit为false 2 在Oracle中查询,使用for update字句,锁定所有select出来的记录行 3 执行所需操作 4 con.commit()以上事务 完毕。
如果想将Excel中的数据转换到Access中,可以采取下面的直接导入法和建立链接法来完成。 一、直接导入法 1.启动Access,新建一数据库文件。 2.在“表”选项中,执行“文件→获取外部数据→导入”命令,打开“导入”对话框。 3.按“文件类型”右侧的下拉按钮,选中“Microsoft Excel(.xls)”选项,再定位到需要转换的...
如何操作access数据库 一、查找记录 find.htm 请输入您要查找的人的姓名: find.asp 二、过滤记录 filter.asp 三、添加记录 add.asp 四、更新记录 和上面的“添加记录”一样,只需把“添加”命令改做“更新”就可以了: objrs.update 五、删除记录 本文来自学习网(www.gzu521.com),原文地址:http://www.gzu521.com/campus/artic...
How to speed up database access Here is a trick to loop through a recordset faster. Often when looping through a recordset people will use the following code: Do While Not Records.EOF   Combo1.AddItem Records![Full Name]   Eecords.Movenext LoopThe problem is that everytime the database moves to the next re...
标签: SQLServer
关于系统数据库的恢复总结如下: 在SQL Server数据库中,系统信息存储在系统数据库中,主要的系统数据库包括: master-从整体上控制用户数据库和SQL Server操作,在创建了任何用户定义的对象后,都要备份它 model-为新数据库提供模版和原型 msdb-包含了有关作业、报警及操作员等信息如果包含系统数据库的介质变了,那么必须重...

经验教程

893

收藏

82
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部