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