oracle锁表,oracle解锁表,oracle用户连接数

一、查看被锁的表

select sess.sid, 
    sess.serial#, 
    lo.oracle_username, 
    lo.os_user_name, 
    ao.object_name, 
    lo.locked_mode 
    from v$locked_object lo, 
    dba_objects ao, 
    v$session sess 
where ao.object_id = lo.object_id and lo.session_id = sess.sid; 

二、解锁表语句

alter system kill session '#SID#,#serial#';

三、被锁的表生成批量解表语句

select 'alter system kill session ''' ||  sess.sid || ',' || sess.serial# || ''';' 
    from v$locked_object lo, 
    dba_objects ao, 
    v$session sess 
where ao.object_id = lo.object_id and lo.session_id = sess.sid;

四、查看用户连接数

SELECT machine,terminal,osuser,program,process,logon_time,username,command,sql_hash_value FROM v$session 
v$session:

这个视图主要提供的是一个数据库connect的信息,
主要是client端的信息,比如以下字段:
machine 在哪台机器上
terminal 使用什么终端
osuser 操作系统用户是谁
program 通过什么客户端程序,比如TOAD
process 操作系统分配给TOAD的进程号
ogon_time 在什么时间
username 以什么oracle的帐号登录
command 执行了什么类型的SQL命令
sql_hash_value SQL语句信息

五、检验数据库是否存在此表

# TABLE_NAME(表名)
# OWNER(所属用户下)
SELECT COUNT(*) COUNT FROM ALL_TABLES WHERE 1=1 AND TABLE_NAME = UPPER('MS_TCJ_620546I01') AND OWNER = UPPER('JHYSC')
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容