oracle 表锁定解锁

Oracle数据库操作中,我们有时会用到锁表查询以及解锁和kill进程等操作,那么这些操作是怎么实现的呢?本文我们主要就介绍一下这部分内容。
(1)锁表查询的代码有以下的形式:
select count(*) from v$locked_object;
select * from v$locked_object;
(2)查看哪个表被锁
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;
(3)查看是哪个session引起的
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;
(4)杀掉对应进程
执行命令:alter system kill session '1025,41';  (alter system kill session 'sid,serial#';)
其中1025为sid,41为serial#.

-------------------------------------------------------------------------------------------------------------------------------------

赋权:

【Oracle】想查询相关的v$视图,但是提示表或视图不存在解决办法

原因是使用的用户没有相关的查询权限导致

解决办法:

grant select  any dictionary to 用户;    --这个权限比较大 

这个权限是最低的要求,但是可以访问到v$相关视图

grant select_catalog_role to 用户;

收回权限  

revoke select_catalog_role from user;  (revoke select_catalog_role from 用户名;)

--------------------- 作者:zclinux_ 来源:CSDN 原文:https://blog.csdn.net/imliuqun123/article/details/79192396?utm_source=copy 版权声明:本文为博主原创文章,转载请附上博文链接!

备注:

赋权后,该账户重新登录。

原文地址:https://www.cnblogs.com/sunice/p/9771117.html