如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

诗檀软件专业数据库修复团队

服务热线 : 13764045638    QQ号:47079569    邮箱:service@parnassusdata.com

  症状 1)从备份中恢复数据库,并进行不完全恢复 2) 用 resetlogs打开数据库。 3) 打开数据库后,会收到以下报错:
  • ORA-00600 [kclchkblk_4]
  • ORA-00600 [2662]
来自ALERT 的示例输出: Errors in file /u01/app/oracle/admin/orcl/bdump/orcl_smon_7493.trc: ORA-600: internal error code, arguments: [kclchkblk_4], [1904], [18446744073431179384], [1904], [18446744073403569507], [], [], [] Starting background process QMNC QMNC started with pid=24, OS id=8329 Errors in file /u01/app/oracle/admin/orcl/bdump/orcl_smon_7493.trc: ORA-600: internal error code, arguments: [2662], [1904], [3988985522], [1904], [4016595064], [83 88610], [], [] Errors in file /u01/app/oracle/admin/orcl/bdump/orcl_smon_7493.trc: ORA-600: internal error code, arguments: [2662], [1904], [3988985525], [1904], [4016595064], [83 88610], [], [] SMON: terminating instance due to error 474 Instance terminated by SMON, pid = 7493 4) ORA-600 [kclchkblk_4] 生成的调用堆栈类似于下面这些: ... kclchkblk kcbzib kcbgcur ktfbhget ktftfcload ... 变化 这个问题出现在10.1.0.2,尝试打开数据库时闪回数据库后,使用“open database resetlogs”。 原因 1) 错误ORA-600[kclchkblk_4],发出信号,因为临时文件中SCN块太高。同样的原因导致警报日志中出现ORA-600[2662] S。 2) 该问题是因为打开resetlogs时,可能没有初始化临时文件。 此问题经过未公开的分析: Bug 3517013 - GSIST: OPEN DB RESETLOG AFTER FLASHBACK DB FAILS ORA-600 [KCLCHKBLK_4], [1904]在10.1.0.3 以及更高版本 10.1中已得到修复 该问题不会出现在10.2或更高版本中,因为10.2中我们不再初始化临时文件。 解决方案 要在问题发生时解决该问题,请按照下列步骤删除并重建临时文件:
  • 首先在数据库中找到临时文件:
SQL> select file_name, file_id from dba_temp_files;  
  • 关闭数据库并启动安装
SQL> shutdown immediate SQL> startup mount  
  • 删除所有临时文件:
SQL> alter database tempfile drop; SQL> alter database open;  
  • 添加新的临时文件.
SQL> alter tablespace add tempfile size N;  
  • 重启实例.
要避免遇到这个问题,该问题在10.1.0.3 及更高版本中已得到修复:
  • 应用10.1.0.3或更高版本的补丁集或升级到10.2或更高版本。更好的解决方案是升级到RDBMS支持的版本。 见 Note:757445.1 - FAQ for Products in Extended Support
参考 NOTE:757445.1 - FAQ for Products in Extended Support