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';