标签云
asm恢复 bbed bootstrap$ dul In Memory kcbzib_kcrsds_1 kccpb_sanity_check_2 MySQL恢复 ORA-00312 ORA-00607 ORA-00704 ORA-00742 ORA-01110 ORA-01555 ORA-01578 ORA-01595 ORA-08103 ORA-600 2131 ORA-600 2662 ORA-600 3020 ORA-600 4000 ORA-600 4137 ORA-600 4193 ORA-600 4194 ORA-600 16703 ORA-600 kcbzib_kcrsds_1 ORA-600 KCLCHKBLK_4 ORA-15042 ORA-15196 ORACLE 12C oracle dul ORACLE PATCH Oracle Recovery Tools oracle加密恢复 oracle勒索 oracle勒索恢复 oracle异常恢复 Oracle 恢复 ORACLE恢复 ORACLE数据库恢复 oracle 比特币 OSD-04016 YOUR FILES ARE ENCRYPTED 勒索恢复 比特币加密文章分类
- Others (2)
- 中间件 (2)
- WebLogic (2)
- 操作系统 (103)
- 数据库 (1,769)
- DB2 (22)
- MySQL (77)
- Oracle (1,610)
- Data Guard (52)
- EXADATA (8)
- GoldenGate (24)
- ORA-xxxxx (166)
- ORACLE 12C (72)
- ORACLE 18C (6)
- ORACLE 19C (15)
- ORACLE 21C (3)
- Oracle 23ai (8)
- Oracle ASM (69)
- Oracle Bug (8)
- Oracle RAC (54)
- Oracle 安全 (6)
- Oracle 开发 (28)
- Oracle 监听 (29)
- Oracle备份恢复 (592)
- Oracle安装升级 (97)
- Oracle性能优化 (62)
- 专题索引 (5)
- 勒索恢复 (86)
- PostgreSQL (30)
- pdu工具 (6)
- PostgreSQL恢复 (9)
- SQL Server (32)
- SQL Server恢复 (13)
- TimesTen (7)
- 达梦数据库 (3)
- 达梦恢复 (1)
- 生活娱乐 (2)
- 至理名言 (11)
- 虚拟化 (2)
- VMware (2)
- 软件开发 (39)
- Asp.Net (9)
- JavaScript (12)
- PHP (2)
- 小工具 (22)
-
最近发表
- 2025年的Oracle 8.0.5数据库恢复
- ORA-600 kokiasg1故障分析(obj$中核心字典序列全部被恶意删除)
- ORA-00756 ORA-10567故障数据0丢失恢复
- 数据库文件变成32k故障恢复
- tcp连接过多导致监听TNS-12532 TNS-12560 TNS-00502错误
- 文件系统格式化MySQL数据库恢复
- .sstop勒索加密数据库恢复
- 解决一次硬件恢复之后数据文件0kb的故障恢复case
- Error in invoking target ‘libasmclntsh19.ohso libasmperl19.ohso client_sharedlib’问题处理
- ORA-01171: datafile N going offline due to error advancing checkpoint
- linux环境oracle数据库被文件系统勒索加密为.babyk扩展名溯源
- ORA-600 ksvworkmsgalloc: bad reaper
- ORA-600 krccfl_chunk故障处理
- Oracle Recovery Tools恢复案例总结—202505
- ORA-600 kddummy_blkchk 数据库循环重启
- 记录一次asm disk加入到vg通过恢复直接open库的案例
- CHECKDB 发现了 N 个分配错误和 M 个一致性错误
- 达梦数据库dm.ctl文件异常恢复
- Oracle Recovery Tools修复ORA-00742、ORA-600 ktbair2: illegal inheritance故障
- 可能是 tempdb 空间用尽或某个系统表不一致故障处理
月归档:九月 2012
dbca创建数据库报ORA-00443
今天早上一个朋友和我说他们RAC dbca创建库不成功提示ORA-00443错误,让我帮他们分析下是什么原因导致
提示错误如图
环境状况
OS:LINUX REDHAT x86_64 5.7 kernel:2.6.18-194.el5 memory:100G CPU:ntel(R) Xeon(R) CPU E7- 8837 @ 2.67GHz * 64 ORACLE:10.2.0.4
查看alert日志错误
Wed Sep 5 01:32:33 2012 cluster interconnect IPC version:Oracle UDP/IP (generic) IPC Vendor 1 proto 2 PMON started with pid=2, OS id=17859 DIAG started with pid=7, OS id=17861 PSP0 started with pid=12, OS id=17863 LMON started with pid=17, OS id=17865 LMD0 started with pid=22, OS id=17867 MMAN started with pid=27, OS id=17869 DBW0 started with pid=32, OS id=17871 Wed Sep 5 01:32:33 2012 Errors in file /u01/app/oracle/admin/dtjcdb/bdump/dtjcdb1_ora_17873.trc: ORA-00600: internal error code, arguments: [ksbmoveme4], [], [], [], [], [], [], [] ORA-27300: OS system dependent operation:run on node failed with status: 2 ORA-27301: OS failure message: No such file or directory ORA-27302: failure occurred at: skgpmoveme:1 Wed Sep 5 01:32:34 2012 Trace dumping is performing id=[cdmp_20120905013234] Wed Sep 5 01:32:34 2012 Process DBW1 died, see its trace file USER: terminating instance due to error 443 Instance terminated by USER, pid = 17857
trace文件中内容
*** 2012-09-05 01:32:33.996 ksedmp: internal or fatal error ORA-00600: internal error code, arguments: [ksbmoveme4], [], [], [], [], [], [], [] ORA-27300: OS system dependent operation:run on node failed with status: 2 ORA-27301: OS failure message: No such file or directory ORA-27302: failure occurred at: skgpmoveme:1 Current SQL information unavailable - no session. ----- Call Stack Trace ----- calling call entry argument values in hex location type point (? means dubious value) -------------------- -------- -------------------- ---------------------------- ksedst()+31 call ksedst1() 000000000 ? 000000001 ? 7FFFC4ABA4C0 ? 7FFFC4ABA520 ? 7FFFC4ABA460 ? 000000000 ? ksedmp()+610 call ksedst() 000000000 ? 000000001 ? 7FFFC4ABA4C0 ? 7FFFC4ABA520 ? 7FFFC4ABA460 ? 000000000 ? ksfdmp()+21 call ksedmp() 000000003 ? 000000001 ? 7FFFC4ABA4C0 ? 7FFFC4ABA520 ? 7FFFC4ABA460 ? 000000000 ? kgerinv()+161 call ksfdmp() 000000003 ? 000000001 ? 7FFFC4ABA4C0 ? 7FFFC4ABA520 ? 7FFFC4ABA460 ? 000000000 ? kgesinv()+33 call kgerinv() 0068966E0 ? 000000000 ? 7FFFC4ABA520 ? 7FFFC4ABA460 ? 000000000 ? 000000000 ? ksesin()+211 call kgesinv() 0068966E0 ? 000000000 ? 7FFFC4ABA520 ? 7FFFC4ABA460 ? 000000000 ? 000000000 ? ksbmoveme()+350 call ksesin() 00533D5C8 ? 000000000 ? 006896FA3 ? 000000001 ? 000000001 ? 000000000 ? ksosp_set_current() call ksbmoveme() 000000001 ? 000000000 ? +117 006896FA3 ? 000000001 ? 000000001 ? 000000000 ? kso_init()+161 call ksosp_set_current() 151056D10 ? 000000000 ? 006896FA3 ? 000000001 ? 000000001 ? 000000000 ? opirip()+523 call kso_init() 151056D10 ? 000000000 ? 006896FA3 ? 000000001 ? 000000001 ? 000000000 ? opidrv()+582 call opirip() 000000032 ? 000000004 ? 7FFFC4ABC128 ? 000000001 ? 000000001 ? 000000000 ? sou2o()+114 call opidrv() 000000032 ? 000000004 ? 7FFFC4ABC128 ? 000000001 ? 000000001 ? 000000000 ? opimai_real()+317 call sou2o() 7FFFC4ABC100 ? 000000032 ? 000000004 ? 7FFFC4ABC128 ? 000000001 ? 000000000 ? main()+116 call opimai_real() 000000003 ? 7FFFC4ABC190 ? 000000004 ? 7FFFC4ABC128 ? 000000001 ? 000000000 ? __libc_start_main() call main() 000000003 ? 7FFFC4ABC190 ? +244 000000004 ? 7FFFC4ABC128 ? 000000001 ? 000000000 ? _start()+41 call __libc_start_main() 000723088 ? 000000001 ? 7FFFC4ABC2E8 ? 000000000 ? 000000001 ? 000000003 ? --------------------- Binary Stack Dump ---------------------
通过查询MOS发现[ID 422908.1]有类此的错误提示,但是该提示说是因为系统重新增加了过多CPU导致数据库crashed掉并且出现 ORA-27300 ORA-27301 ORA-27302 错误.在该案例中,起始就是64c,根据经验在win的10.2.0.4中如果cpu超过32c也是在dbcd创建数据库2%的地方hang住,所以怀疑该错误也是由于cpu太多导致.
处理方法
To solve the problem: 1) apply patch:6471079 - or - 2) apply the 10.2.0.5 (when available) - or - 3) upgrade to 11g
朋友打上patch:6471079,dbca正常建库
_no_recovery_through_resetlogs参数功能探讨
_no_recovery_through_resetlogs参数默认值和描述
SQL> select a.ksppinm name,b.ksppstvl value,a.ksppdesc description 2 from x$ksppi a,x$ksppcv b 3 where a.inst_id = USERENV ('Instance') 4 and b.inst_id = USERENV ('Instance') 5 and a.indx = b.indx 6 and upper(a.ksppinm) LIKE upper('%¶m%') 7 order by name 8 / Enter value for param: _no_recovery_through_resetlogs old 6: and upper(a.ksppinm) LIKE upper('%¶m%') new 6: and upper(a.ksppinm) LIKE upper('%_no_recovery_through_resetlogs%') NAME VALUE DESCRIPTION -------------------------------- ------------------------ -------------------------------------------- _no_recovery_through_resetlogs FALSE no recovery through this resetlogs operation
大家知道在10gr2版本及其以后版本,大家知道默认情况下,可以实现跨resetlogs恢复数据库.通过该参数的描述可以看出,该参数的用途是使得resetlogs之后不能继续进行恢复(我的理解是以前的备份不能应用resetlogs后的归档日志)
在实际中该函数的作用是否和该参数的描述相符,我们通过试验验证
rman备份数据库
[oracle@xifenfei tmp]$ rman target / Recovery Manager: Release 10.2.0.4.0 - Production on Thu Aug 30 11:51:49 2012 Copyright (c) 1982, 2007, Oracle. All rights reserved. connected to target database: XFF (DBID=3440302261) RMAN> backup database format '/u01/oracle/oradata/tmp/10g_db_%U'; Starting backup at 30-AUG-12 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: sid=143 devtype=DISK channel ORA_DISK_1: starting full datafile backupset channel ORA_DISK_1: specifying datafile(s) in backupset input datafile fno=00001 name=/u01/oracle/oradata/XFF/system01.dbf input datafile fno=00003 name=/u01/oracle/oradata/XFF/sysaux01.dbf input datafile fno=00002 name=/u01/oracle/oradata/XFF/undotbs01.dbf input datafile fno=00004 name=/u01/oracle/oradata/XFF/users01.dbf channel ORA_DISK_1: starting piece 1 at 30-AUG-12 channel ORA_DISK_1: finished piece 1 at 30-AUG-12 piece handle=/u01/oracle/oradata/tmp/10g_db_0anjuhve_1_1 tag=TAG20120830T115214 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:01:35 channel ORA_DISK_1: starting full datafile backupset channel ORA_DISK_1: specifying datafile(s) in backupset including current control file in backupset including current SPFILE in backupset channel ORA_DISK_1: starting piece 1 at 30-AUG-12 channel ORA_DISK_1: finished piece 1 at 30-AUG-12 piece handle=/u01/oracle/oradata/tmp/10g_db_0bnjui2d_1_1 tag=TAG20120830T115214 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:03 Finished backup at 30-AUG-12
resetlogs打开数据库
SQL> shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down. SQL> startup mount; ORACLE instance started. Total System Global Area 318767104 bytes Fixed Size 1267236 bytes Variable Size 100665820 bytes Database Buffers 209715200 bytes Redo Buffers 7118848 bytes Database mounted. SQL> recover database until cancel; Media recovery complete. SQL> alter database open resetlogs; Database altered.
创建测试表
SQL> create table t_xifenfei01 2 as 3 select * from dba_tables; Table created. SQL> create table t_xifenfei02 2 as 3 select * from dba_objects; Table created. SQL> alter system switch logfile; System altered. SQL> / System altered. SQL> create table t_xifenfei03 2 as 3 select * from dba_objects; Table created. SQL> alter system switch logfile; System altered. SQL> / System altered.
恢复数据库
SQL> shutdown immediate Database closed. Database dismounted. ORACLE instance shut down. [oracle@xifenfei XFF]$ rm *.dbf [oracle@xifenfei XFF]$ rman target / Recovery Manager: Release 10.2.0.4.0 - Production on Thu Aug 30 12:00:47 2012 Copyright (c) 1982, 2007, Oracle. All rights reserved. connected to target database (not started) RMAN> startup mount Oracle instance started database mounted Total System Global Area 318767104 bytes Fixed Size 1267236 bytes Variable Size 100665820 bytes Database Buffers 209715200 bytes Redo Buffers 7118848 bytes RMAN> restore database; Starting restore at 30-AUG-12 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: sid=157 devtype=DISK channel ORA_DISK_1: starting datafile backupset restore channel ORA_DISK_1: specifying datafile(s) to restore from backup set restoring datafile 00001 to /u01/oracle/oradata/XFF/system01.dbf restoring datafile 00002 to /u01/oracle/oradata/XFF/undotbs01.dbf restoring datafile 00003 to /u01/oracle/oradata/XFF/sysaux01.dbf restoring datafile 00004 to /u01/oracle/oradata/XFF/users01.dbf channel ORA_DISK_1: reading from backup piece /u01/oracle/oradata/tmp/10g_db_0anjuhve_1_1 channel ORA_DISK_1: restored backup piece 1 piece handle=/u01/oracle/oradata/tmp/10g_db_0anjuhve_1_1 tag=TAG20120830T115214 channel ORA_DISK_1: restore complete, elapsed time: 00:00:55 Finished restore at 30-AUG-12 RMAN> recover database; Starting recover at 30-AUG-12 using channel ORA_DISK_1 starting media recovery archive log thread 1 sequence 7 is already on disk as file /u01/oracle/oradata/XFF/archivelog/1_7_790743352.dbf archive log thread 1 sequence 8 is already on disk as file /u01/oracle/oradata/XFF/archivelog/1_8_790743352.dbf archive log thread 1 sequence 9 is already on disk as file /u01/oracle/oradata/XFF/archivelog/1_9_790743352.dbf archive log thread 1 sequence 10 is already on disk as file /u01/oracle/oradata/XFF/archivelog/1_10_790743352.dbf archive log thread 1 sequence 1 is already on disk as file /u01/oracle/oradata/XFF/archivelog/1_1_792676624.dbf archive log thread 1 sequence 2 is already on disk as file /u01/oracle/oradata/XFF/archivelog/1_2_792676624.dbf archive log thread 1 sequence 3 is already on disk as file /u01/oracle/oradata/XFF/archivelog/1_3_792676624.dbf archive log thread 1 sequence 4 is already on disk as file /u01/oracle/oradata/XFF/archivelog/1_4_792676624.dbf archive log filename=/u01/oracle/oradata/XFF/archivelog/1_7_790743352.dbf thread=1 sequence=7 archive log filename=/u01/oracle/oradata/XFF/archivelog/1_8_790743352.dbf thread=1 sequence=8 archive log filename=/u01/oracle/oradata/XFF/archivelog/1_9_790743352.dbf thread=1 sequence=9 archive log filename=/u01/oracle/oradata/XFF/archivelog/1_10_790743352.dbf thread=1 sequence=10 archive log filename=/u01/oracle/oradata/XFF/archivelog/1_1_792676624.dbf thread=1 sequence=1 archive log filename=/u01/oracle/oradata/XFF/archivelog/1_2_792676624.dbf thread=1 sequence=2 media recovery complete, elapsed time: 00:00:06 Finished recover at 30-AUG-12 SQL> alter database open; Database altered. SQL> select table_name from user_tables where table_name like 'T_XIFENFEI0_'; TABLE_NAME ------------------------------ T_XIFENFEI01 T_XIFENFEI02 T_XIFENFEI03
证明10gr2确实可以跨resetlogs recover 日志恢复数据库
测试_no_recovery_through_resetlogs参数
SQL> create table t_xifenfei04 as 2 select * from dba_objects; Table created. SQL> alter system set "_no_recovery_through_resetlogs"=true scope=spfile; System altered. SQL> shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down. SQL> startup mount; ORACLE instance started. Total System Global Area 318767104 bytes Fixed Size 1267236 bytes Variable Size 100665820 bytes Database Buffers 209715200 bytes Redo Buffers 7118848 bytes Database mounted. SQL> recover database until cancel; Media recovery complete. SQL> alter database open resetlogs; Database altered. SQL> create table t_xifenfei05 2 as 3 select * from dba_objects; Table created. SQL> create table t_xifenfei06 2 as 3 select * from dba_objects; Table created. SQL> alter system switch logfile; System altered. SQL> / System altered. SQL> / System altered. SQL> shutdown immediate Database closed. Database dismounted. ORACLE instance shut down. [oracle@xifenfei XFF]$ rm *.dbf [oracle@xifenfei XFF]$ rman target / Recovery Manager: Release 10.2.0.4.0 - Production on Thu Aug 30 12:47:40 2012 Copyright (c) 1982, 2007, Oracle. All rights reserved. connected to target database (not started) RMAN> startup mount; Oracle instance started database mounted Total System Global Area 318767104 bytes Fixed Size 1267236 bytes Variable Size 100665820 bytes Database Buffers 209715200 bytes Redo Buffers 7118848 bytes RMAN> restore database; Starting restore at 30-AUG-12 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: sid=157 devtype=DISK channel ORA_DISK_1: starting datafile backupset restore channel ORA_DISK_1: specifying datafile(s) to restore from backup set restoring datafile 00001 to /u01/oracle/oradata/XFF/system01.dbf restoring datafile 00002 to /u01/oracle/oradata/XFF/undotbs01.dbf restoring datafile 00003 to /u01/oracle/oradata/XFF/sysaux01.dbf restoring datafile 00004 to /u01/oracle/oradata/XFF/users01.dbf channel ORA_DISK_1: reading from backup piece /u01/oracle/oradata/tmp/10g_db_0anjuhve_1_1 channel ORA_DISK_1: restored backup piece 1 piece handle=/u01/oracle/oradata/tmp/10g_db_0anjuhve_1_1 tag=TAG20120830T115214 channel ORA_DISK_1: restore complete, elapsed time: 00:00:45 Finished restore at 30-AUG-12 RMAN> recover database; Starting recover at 30-AUG-12 using channel ORA_DISK_1 starting media recovery archive log thread 1 sequence 7 is already on disk as file /u01/oracle/oradata/XFF/archivelog/1_7_790743352.dbf archive log thread 1 sequence 8 is already on disk as file /u01/oracle/oradata/XFF/archivelog/1_8_790743352.dbf archive log thread 1 sequence 9 is already on disk as file /u01/oracle/oradata/XFF/archivelog/1_9_790743352.dbf archive log thread 1 sequence 10 is already on disk as file /u01/oracle/oradata/XFF/archivelog/1_10_790743352.dbf archive log thread 1 sequence 1 is already on disk as file /u01/oracle/oradata/XFF/archivelog/1_1_792676624.dbf archive log thread 1 sequence 2 is already on disk as file /u01/oracle/oradata/XFF/archivelog/1_2_792676624.dbf archive log thread 1 sequence 3 is already on disk as file /u01/oracle/oradata/XFF/archivelog/1_3_792676624.dbf archive log thread 1 sequence 4 is already on disk as file /u01/oracle/oradata/XFF/archivelog/1_4_792676624.dbf archive log thread 1 sequence 5 is already on disk as file /u01/oracle/oradata/XFF/archivelog/1_5_792676624.dbf archive log thread 1 sequence 6 is already on disk as file /u01/oracle/oradata/XFF/archivelog/1_6_792676624.dbf archive log thread 1 sequence 1 is already on disk as file /u01/oracle/oradata/XFF/archivelog/1_1_792679299.dbf archive log thread 1 sequence 2 is already on disk as file /u01/oracle/oradata/XFF/archivelog/1_2_792679299.dbf archive log thread 1 sequence 3 is already on disk as file /u01/oracle/oradata/XFF/archivelog/1_3_792679299.dbf archive log filename=/u01/oracle/oradata/XFF/archivelog/1_7_790743352.dbf thread=1 sequence=7 archive log filename=/u01/oracle/oradata/XFF/archivelog/1_8_790743352.dbf thread=1 sequence=8 archive log filename=/u01/oracle/oradata/XFF/archivelog/1_9_790743352.dbf thread=1 sequence=9 archive log filename=/u01/oracle/oradata/XFF/archivelog/1_10_790743352.dbf thread=1 sequence=10 --第一次 resetlogs后的归档 archive log filename=/u01/oracle/oradata/XFF/archivelog/1_1_792676624.dbf thread=1 sequence=1 archive log filename=/u01/oracle/oradata/XFF/archivelog/1_2_792676624.dbf thread=1 sequence=2 archive log filename=/u01/oracle/oradata/XFF/archivelog/1_3_792676624.dbf thread=1 sequence=3 archive log filename=/u01/oracle/oradata/XFF/archivelog/1_4_792676624.dbf thread=1 sequence=4 archive log filename=/u01/oracle/oradata/XFF/archivelog/1_5_792676624.dbf thread=1 sequence=5 archive log filename=/u01/oracle/oradata/XFF/archivelog/1_6_792676624.dbf thread=1 sequence=6 --第二次 resetlogs后的归档(设置了_no_recovery_through_resetlogs参数为true并resetlogs后的归档日志 archive log filename=/u01/oracle/oradata/XFF/archivelog/1_1_792679299.dbf thread=1 sequence=1 media recovery complete, elapsed time: 00:00:13 Finished recover at 30-AUG-12 RMAN> alter database open; database opened RMAN> exit Recovery Manager complete. [oracle@xifenfei XFF]$ sqlplus / as sysdba SQL*Plus: Release 10.2.0.4.0 - Production on Thu Aug 30 12:49:46 2012 Copyright (c) 1982, 2007, Oracle. All Rights Reserved. Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> select table_name from user_tables where table_name like 'T_XIFENFEI0_'; TABLE_NAME ------------------------------ T_XIFENFEI01 T_XIFENFEI02 T_XIFENFEI03 T_XIFENFEI04 T_XIFENFEI05 T_XIFENFEI06 6 rows selected.
通过这里的测试证明使用_no_recovery_through_resetlogs=true后,resetlogs之后还是可以正常可以recover相关日志,证明_no_recovery_through_resetlogs参数不是限制这里的resetlogs后的归档日志应用,至于该参数的具体用途也希望知道的朋友告知下。但是这个参数在clone db和从rac db恢复到单实例db的时候,可能因为bug原因需要设置该参数为true,如:
--rac恢复到单实例RMAN Duplicate from RAC backup fails ORA-38856 [ID 334899.1] sql>alter open database resetlogs; ORA-38856: cannot mark instance UNNAMED_INSTANCE_2 (redo thread 2) as enabled
发表在 Oracle
评论关闭
控制文件异常导致ORA-00600[kccsbck_first]
今天接到一个朋友求救他们的his系统数据库不能访问,情况比较紧急,让我帮忙处理.登录数据库得到信息如下:
操作系统:windows 2003 数据库:8.1.7 容灾方案:双机+emc存储镜像 备份:数据库无任何备份 启动到mount报错类此: ORA-00600: internal error code, arguments: [kccsbck_first], [1], [4141358753], [], [], [], [], []
这个问题在上周的数据库恢复中遇到过一次,他们也是因为双机的案例,当时的情况见:双机mount数据库出现ORA-00600[kccsbck_first],有了上次的思维,我开始也怀疑是客户的双机的问题,但是客户说双机在半年前就关闭了,没有启动过;因为我对win的双机不太熟悉,怕他们双机软自动启动系统然后接管oracle从而导致这个问题,然后让客户检查另一台机器,确定没有启动和接管oracle 服务.
然后查询MOS发现win上面的特殊之处:是控制文件corruption导致故障(不过dbv检查不出来),而且三个控制文件有同样的问题
MOS记录如下(不过8.1.7也存在同样问题) [ID 291684.1]
Applies to: Oracle Server - Enterprise Edition - Version: 9.0.1.5 and later [Release: 9.0.1 and later ] Information in this document applies to any platform. ***Checked for relevance on 09-APR-2012*** Symptoms Alter database mount exclusive results in ORA-00600: internal error code, arguments: [kccsbck_first], [1], [2141358753], [], [], [], [], [] The description of the error is: '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'. However in this case the database was a standalone database on Windows. It had only one oracle service running. The operating system was rebooted, the oracle service was deleted and a new service created. Even then the error persisted. Cause There was some corruption present in the controlfile. Solution In this case the problem was resolved by: + Taking a backup of the old control file + Recreating the control file using the following document How to Recreate a Controlfile [Document 735106.1]
因为数据库不能mount,所以不能使用backup controlfile to trace;
因为是win系统,没有任何的控制文件备份,只能把控制文件拷贝到linux下面通过strings命令,自己编辑创建控制文件脚本(noresetlogs).执行脚本创建控制文件,recover database,应用redo文件恢复,然后resetlogs库,恢复成功(注意:8i中不需要另外增加临时文件)