RAC下,alter system kill session报错ORA-00030: User session ID does not exist

本文探讨了在RAC(Real Application Clusters)环境中遇到'alter system kill session'命令返回ORA-00030错误的情况。文章分析了该错误的原因,并可能提供的解决方案,帮助数据库管理员更好地管理和终止无效的用户会话。
在RAC环境下,KILL SESSION时报错ORA-00030 User session ID does not exist.

问题再现:

NODE2:

[oracle@node2 ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Sun Feb 11 21:27:08 2018
Copyright (c) 1982, 2011, Oracle.  All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
SQL> conn sh/sh
Connected.
SQL> show parameter instance_number
NAME     TYPE VALUE
------------------------------------ ----------- ------------------------------
instance_number     integer 2
SQL> select sid ,serial# from v$session where sid=userenv('sid');
       SID    SERIAL#
---------- ----------
       136    5
SQL> create table test as select a.* from all_objects a,all_objects b,all_objects c;

NODE1:

[oracle@node1 ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Sun Feb 11 21:25:53 2018
Copyright (c) 1982, 2011, Oracle.  All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
SQL> show parameter instance_number;   
NAME     TYPE VALUE
------------------------------------ ----------- ------------------------------
instance_number     integer 1
SQL> alter system kill session '136,5';
alter system kill session '136,5'
*
ERROR at line 1:
ORA-00030: User session ID does not exist.

node2:

SQL> alter system kill session '136,5,@2';
System altered.
node1:

SQL> create table test as select a.* from all_objects a,all_objects b,all_objects c;
create table test as select a.* from all_objects a,all_objects b,all_objects c
                                     *
ERROR at line 1:
ORA-00028: your session has been killed
ORA-00028: your session has been killed

小结:对于RAC环境下的跨实例杀会话,alter system kill session 需要增加 @instance_number。其中,instance_number可通过show parameter instance_number来获取。




来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31448585/viewspace-2151051/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/31448585/viewspace-2151051/

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值