zoukankan      html  css  js  c++  java
  • 查看Oracle中是否有锁表

    转:

    查看Oracle中是否有锁表

    2018-04-23 17:59 alapha 阅读(19450) 评论(0) 编辑 收藏

    一、用dba用户登录,或者将用户赋权为DBA用户

        命令:

        su - oracle

        sqlplus / nolog

       conn sys as sysdba

       sys

       grant connect,resource,dba to TSAMS(用户名);

    二、执行sql查看被锁的表、用户、session等信息。参考文章:http://www.cnblogs.com/XQiu/p/5212787.html

    --以下几个为相关表
    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';

  • 相关阅读:
    js正则表达式中的问号使用技巧总结
    380. Insert Delete GetRandom O(1)
    34. Find First and Last Position of Element in Sorted Array
    162. Find Peak Element
    220. Contains Duplicate III
    269. Alien Dictionary
    18. 4Sum
    15. 3Sum
    224. Basic Calculator
    227. Basic Calculator II
  • 原文地址:https://www.cnblogs.com/libin6505/p/11806696.html
Copyright © 2011-2022 走看看