db locked ?

 碰到一个问题,gqkk这个数据库的devicestate无法insert,发现是被锁。
 解决方案:
 --Step1:看看是谁在访问这个对象
 select b.sid, b.username, b.machine
  from v$access a, v$session b
 where a.sid = b.sid
   and a.OBJECT = 'DEVICE_TABLE_MAP2_TG'
--根据sid获得操作系统的进程号
select spid os_sid from v$process where addr=(select paddr from v$session where sid = &oracle_sid)
--利用ssh secuture登录,然后
 ps -ef|grep 14153
 kill -9 14153

参考资料:

用户要求删除一个数据库的用户 GREENPASS,在删除的过程中,报错如下:

drop user GREENPASS
*
ERROR at line 1:
ORA-04021: timeout occurred while waiting to lock object NEWDR.HNDR_SMS_LOG

处理过程

1. 首先查询NEWDR.HNDR_SMS_LOG,这是一个'PROCEDURE';

2. 现在报错,不能对此对象进行锁定。

3. 看看什么会话在访问此对象:

select B.SID, b.USERNAME, b.MACHINE
FROM V$ACCESS A, V$SESSION B
WHERE A.SID = B.SID
   and a.OBJECT = 'HNDR_SMS_LOG'
   and a.TYPE = 'PROCEDURE';
  

       SID USERNAME     MACHINE
---------- ------------ -------------------
       520 NEWDR        WORKGROUP\BONC02

4. 根据sid获取操作系统的进程号

select spid os_sid
from v$process
where addr = (select paddr from v$session where sid = &oracle_sid);

old   3: where addr = (select paddr from v$session where sid = &oracle_sid)
new   3: where addr = (select paddr from v$session where sid = 520)

OS_SID
------------
29360

5. 询问业务人员,可以直接杀掉进程

ps -ef|grep 29360
kill -9 29360

6. 重新尝试
SQL> drop user GREENPASS;

用户已丢弃

-----------------http://hi.baidu.com/51885729/blog/item/d1ea1a9717be0e6454fb9655.html 

至于为什么会这样。。。。估计是我用了一个网络管理软件有关。。。 

原文地址:https://www.cnblogs.com/xianqingzh/p/1780117.html