如何杀掉(kill)Oracle中的会话(Session)

2024-12-28 23:26:29
推荐回答(2个)
回答1:

杀掉(kill)Oracle中的会话(Session)的方法:

SQL> conn etl/etl

Connected.

SQL>  update test set status='invalid';

55944 rows updated.

SQL> update test2 set dropped='Y';

3090 rows updated.

Oracle Database,简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统。

ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。比如SilverStream就是基于数据库的一种中间件。ORACLE数据库是目前世界上使用最为广泛的数据库管理系统。

回答2:

��匠�焙蟛呕岜唤饪��茄�蓟嵩斐捎τ貌僮鞅蛔枞�?梢砸設ralce管理员权限用户登录Oracle数据,查询到被锁的对象,然后杀除指定的会话。用下面的语句查询被锁的对象,可以带上更多约束条件,如schemaname等更精确的匹配。
alter system kill session 'sid, serial#' 如上面查出来的一条记录的sid是53, serial#为663,就执行以下的语句alter system kill session '53,663' 如果要一次性杀死多个会话,一个一个填写sid和serial#十分的繁琐,应该在查询被锁对象的同时拼凑出多条的杀会话语句,以分号分隔,一起复制下来,然后就可以批量的执行了。 1.SELECT'alter system kill session '''|| c.sid ||''||','|| c.serial# ||''';',2. a.object_id, a.session_id, b.object_name, c.*3. FROMv$locked_object a, dba_objects b, v$session c4. WHEREa.object_id = b.object_id5. ANDa.SESSION_ID = c.sid(+)6. ANDschemaname ='Unmi'7. ORDERBYlogon_time