Oracle 查看 对象 持有锁的情况
来源:互联网 发布:腾讯云域名名称怎么填 编辑:程序博客网 时间:2024/05/05 21:18
同事在测试库上对一个表加字段,提示 ORA-00054, 资源忙。 应该是表对象的锁没有释放。
用如下SQL 查看一下系统中相关对象上锁的情况:
- /* Formatted on 2011/9/26 14:45:46(QP5 v5.163.1008.3004) */
- SELECT S.SIDSESSION_ID,
- S.USERNAME,
- DECODE (LMODE,
- 0, ' None ',
- 1, ' Null ',
- 2, ' Row-S(SS) ',
- 3, ' Row-X(SX) ',
- 4, ' Share',
- 5, 'S/Row-X (SSX) ',
- 6, 'Exclusive ',
- TO_CHAR (LMODE))
- MODE_HELD,
- DECODE (REQUEST,
- 0, ' None ',
- 1, ' Null ',
- 2, ' Row-S(SS) ',
- 3, ' Row-X(SX) ',
- 4, ' Share',
- 5, 'S/Row-X (SSX) ',
- 6, 'Exclusive ',
- TO_CHAR (REQUEST))
- MODE_REQUESTED,
- O.OWNER|| ' . ' || O.OBJECT_NAME|| ' ( ' || O.OBJECT_TYPE|| ' ) ' as OBJECT_NAME,
- S.TYPELOCK_TYPE,
- L.ID1LOCK_ID1,
- L.ID2LOCK_ID2
- FROMV$LOCK L, SYS.DBA_OBJECTSO,V$SESSION S
- WHERE L.SID = S.SID AND L.ID1 = O.OBJECT_ID
该SQL 显示所有对象上的锁,如果要查某个具体的对象,可以根据OBJECT_NAME 字段进行一下过滤,找到对应的SID 之后去查V$SESSION 视图。
该视图会显示session 对应的信息,包括终端的信息,如果找到了终端,可以让它提交或者回滚一下就OK了。 我这里是测试环境,直接把session kill 掉了。然后修改表就ok了。
- SQL>alter system kill session 'SID,SERIAL#'
- Oracle 查看 对象 持有 锁 的情况
- Oracle 查看 对象 持有锁的情况
- Oracle 查看 对象 持有锁的情况
- Oracle 查看 对象 持有锁的情况
- Oracle 查看 对象 持有 锁 的情况
- Oracle 查看 对象 持有 锁 的情况
- Oracle 查看 对象 持有 锁 的情况
- 查看持有行锁的SQL
- Oracle查看对象空间使用情况show_space
- smartclient 持有对象的引用
- 如何查看oracle的scott用户使用表空间及对象情况
- Oracle 如何查看buffer_cache中缓存对象使用块的情况
- 查看ORACLE表空间的情况
- 查看oracle数据库的连接情况
- oracle job 情况的查看处理
- oracle查看控制文件的配置情况
- 查看oracle当前连接的情况
- 查看Oracle数据库的连接情况
- 我选择框架的几个标准
- 基于 SOA 的组件化业务基础平台
- 如何使用定时器
- 乐学吧新的UI明天将火热出炉,这次的改版表示很满意
- linked server "XXX" was unable to begina distributed transaction.
- Oracle 查看 对象 持有锁的情况
- 如何修改linux的MAC地址
- Oracle 字符集的查看和修改
- DueDate
- 导入android源码有错,R.java文件不能自动生成解决方法
- 链队列类
- Oracle 进程 说明
- 10个必需的iOS开发工具和资源
- 摄影入门-之二-型号篇