• oracle记录解锁


    oracle 怎样查一个表中的记录是否被锁住了  

     

    怎么查询一个数据库中有几个表引用了其中某个特定表的主键做为其外键的
    select t.table_name from user_constraints t
    where t.constraint_type='R' and t.r_constraint_name
    in(
    select s.constraint_name from user_constraints s
    where s.table_name='主表名' and s.constraint_type='P')


    oracle 怎样查一个表中的记录是否被锁住了
    SELECT a.object_id, a.session_id, b.object_name
    FROM v$locked_object a, dba_objects b
    WHERE a.object_id = b.object_id

    为表添加普通索引的SQL语句是怎样的?
    create Index index_name on table_name(col1_name,col2_name...);

    注:
    1.index_name :你建立的索引名
    2.table_name:你将要加索引的表名
    3.col1_name:你要加索引的列名,从col1_name往后的列名都可以为空,如果不为空就变为组合索引。

    给锁住的行解锁(oracle)

    1、查看数据库锁,诊断锁的来源及类型: select object_id,session_id,locked_mode from v$locked_object; 或者用以下命令:

    select b.owner,b.object_name,l.session_id,l.locked_mode from v$locked_object l, dba_objects b where b.object_id=l.object_id
    SELECT lpad(' ',decode(l.xidusn ,0,3,0))||l.oracle_username User_name, o.owner,o.object_name,o.object_type,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 ORDER BY o.object_id,xidusn DESC


    2、找出数据库的serial#,以备杀死:

    select t2.username,t2.sid,t2.serial#,t2.logon_time from v$locked_object t1,v$session t2 where t1.session_id=t2.sid order by t2.logon_time;
    3、杀死该session

    alter system kill session 'sid,serial#'

    用步骤2中查出来的记录,对应进该语句删除

  • 相关阅读:
    路由交换03-----传输层协议
    Linux结构目录
    Linux RedHat 7 配置本地 YUM源
    HUAWEI,H3C 三层交换机 常用命令
    windows操作系统更改 <远程桌面> 端口号
    SpringBoot 2.x (2):请求和传参
    SpringBoot 2.x (1):手动创建项目与自动创建项目
    Eclipse中使用Maven搭建SSM框架
    基于Spring和Mybatis拦截器实现数据库操作读写分离
    WinServer配置MySQL主从同步
  • 原文地址:https://www.cnblogs.com/Rozdy/p/4549297.html
Copyright © 2020-2023  润新知