Oracle数据库Immediate Kill Session错误解决方案

1.错误信息

Immediate Kill Session#: 1024, Serial#: 9855

Immediate Kill Session: sess: 7000001cc9bb9e8  OS pid: 799228 

2.原因:

This is caused by unpublished Bug 6955040 ALL THE SESSIONS LOST CONNECTION AFTER KILLING CRSD.BIN.

The problem is when CRSD is killed or crashed and restarted,

CRSD will run resource check action but CRS resource status will not be available at that time.

Then in instance check action,

it fails to get the preferred node VIP resource status and considered the preferred

node VIP resource is not running.

Therefore, instance check action will remove the default database service name

and disconnect sessions connected using default database service name.

简单地说,就是,会话session失去了连接。欲进行资源确认,可是资源状态信息却得不到。

于是,就认为资源没有在运行。

然后,就断开使用默认数据库服务名的session。

然后就没有然后了。。。

3.解决方案

方案一:升级数据库到10.2.0.5或以上版本

The fix is included in 10.2.0.5 patchset and 11.1.0.7 patchset.

    Apply the patchset once they are available.

方案二:更改服务名,不与db_name一致。

Configure a service name other than the default one (same as db_name),

and get user to use the non-default service name for connection.

具体步骤如下

1,获得实例名:

 select instance_name from v$instance;

 

2,获得当前service_names:

SQL> show parameter name

 

NAME                                 TYPE        VALUE

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

db_file_name_convert                 string

db_name                              string      orcl

db_unique_name                       string      orcl

global_names                         boolean     FALSE

instance_name                        string      orcl

lock_name_space                      string

log_file_name_convert                string

service_names                        string      orcl

3.更改service_names:

alter system set service_names = 'orcl1' scope=MEMORY sid='orcl';

相关推荐