ERROR:
Format: ORA-600 [kccsbck_first] [a] [b]
VERSIONS:
versions 8.1.5 to 10.2
DESCRIPTION:
We receive this error because we are attempting to be the first
thread
/instance
to
mount
the database and cannot because it appears that
at least one other thread has mounted the database already.
We therefore abort the
mount
attempt and log this error.
ARGUMENTS:
Arg [a] thread number
which
has database mounted
Arg [b]
mount
id
of the thread
FUNCTIONALITY:
CONTROL FILE COMPONENT
===================================================================================
一朋友的数据库在做数据库恢复的时候,数据库不能启动到mount状态,检查发现
alert日志错误如下
Mon Aug 27 10:00:18 2012
ALTER DATABASE MOUNT
Mon Aug 27 10:00:23 2012
Errors
in
file
/oracle/admin/wf2009/udump/orcl_ora_7042
.trc:
ORA-00600: internal error code, arguments: [kccsbck_first], [1], [1208656276], [], [], [], [], []
Mon Aug 27 10:00:23 2012
ORA-600 signalled during: ALTER DATABASE MOUNT...
|
查询mos发现解释
The ORA-600 [kccsbck_first] error occurs when Oracle detects that another instance
has this database already mounted. For some reason, Oracle already sees a thread
with a heartbeat. This could be the expected behaviour
if
running OPS. In such a
case
the parallel_server parameter needs to be
set
. In cases where Parallel Server
is not linked
in
, this is not the expected behaviour.
|
在非集群环境中,当该数据库已经在一个节点启动,然后另外一个节点再尝试启动数据库可能出现该错误.
检查环境发现是使用roseha(也是一种集群的软件)的双机环境,当关闭当前节点的数据库时候,另外一个节点认为oracle down掉了,然后自动在该节点去尝试启动数据库,而当前操作节点去尝试mount数据库的时候发生该错误,因为该数据库的另外一个节点已经mount了.出现这样的情况,和朋友的存储资源的配置也有不合理之处,在接管资源之前,应该先分析和处理存储的挂载情况,而不是不卸载这边,另外一遍直接挂载(也就是存储两边都挂载)
解决办法
这个问题的本质就是因为ha的两边都启动了数据库导致,关闭一边的roseha或者关闭主机就可以了
在做数据库恢复的时候,尽量排查掉其他因素的影响,比如:rac在一个节点上操作,ha关闭双机软件等