oracle数据库打不开了 老是在alert.log里出现ORA-00600[6711]错误怎么办

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle数据库打不开了 老是在alert.log里出现ORA-00600[6711]错误怎么办相关的知识,希望对你有一定的参考价值。

oracle数据库打不开了 老是在alert.log里出现ORA-00600[6711]错误怎么办啊?

参考技术A 这个错误很可能说明是你的数据文件损坏了。具体查看那个文件损坏,在进行恢复,主要是alert日志,你要详细看 参考技术B

ORA-00600: internal error code, arguments: [6711], [4256248], [1], [4256242], [0], [], [], []

MOS上有一个关于6711内部错误十分简单的Note,该文档声称出现6711错误极有可能是部分类型为簇(cluster)的数据字典表存在潜在的讹误,这个Note甚至没有告诉我们该错误argument参数的意义。
不过其实我们可以猜出来,因为是和corruption相关的错误,那么实际上可能关联的几个因素无非是
obj#,file#,block#;4256248和4256242 两个数字像极了Data Block 
Address,把他们当做dba来看待,也就指向了1号数据文件的61938块和61944数据块,我们来看看这些块属于哪个对象:
SQL> set linesize 200;
SQL> select segment_name, segment_type
  2    from dba_extents
  3   where relative_fno = 1
  4     and (61938 between block_id and block_id + blocks or
  5         61944 between block_id and block_id + blocks);

SEGMENT_NAME                                                                      SEGMENT_TYPE
--------------------------------------------------------------------------------- ------------------
SMON_SCN_TO_TIME                                                                  CLUSTER
不出意料是一个cluster,SMON_SCN_TO_TIME是SMON_SCN_TIME表的基簇,SMON_SCN_TIME表用以记录数据库中scn对应的时间戳。我们直接查看用以创建数据字典的sql.bsq文件,可以进一步了解他们的结构:
cat $ORACLE_HOME/rdbms/admin/sql.bsq|grep -A 24 "create cluster smon_scn_to_time"
create cluster smon_scn_to_time (
  thread number                         /* thread, compatibility */
)
/
create index smon_scn_to_time_idx on cluster smon_scn_to_time
/
create table smon_scn_time (
  thread number,                         /* thread, compatibility */
  time_mp number,                        /* time this recent scn represents */
  time_dp date,                          /* time as date, compatibility */
  scn_wrp number,                        /* scn.wrp, compatibility */
  scn_bas number,                        /* scn.bas, compatibility */
  num_mappings number,
  tim_scn_map raw(1200),
  scn number default 0,                  /* scn */
  orig_thread number default 0           /* for downgrade */
) cluster smon_scn_to_time (thread)
/

create unique index smon_scn_time_tim_idx on smon_scn_time(time_mp)
/

create unique index smon_scn_time_scn_idx on smon_scn_time(scn)
/
从以上脚本可以看到这个簇上存在多个索引,我们需要进一步validate验证所有这些对象:
SQL> analyze table SMON_SCN_TIME validate structure;
Table analyzed.

SQL>analyze table SMON_SCN_TIME validate structure cascade;
Table analyzed.

SQL> analyze cluster SMON_SCN_TO_TIME validate structure;
Cluster analyzed.

SQL> analyze cluster SMON_SCN_TO_TIME validate structure cascade;
analyze cluster SMON_SCN_TO_TIME validate structure cascade
*
ERROR at line 1:
ORA-01499: table/index cross reference failure - see trace file




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

本回答被提问者采纳

以上是关于oracle数据库打不开了 老是在alert.log里出现ORA-00600[6711]错误怎么办的主要内容,如果未能解决你的问题,请参考以下文章

sqlserver数据库怎么打不开,老是报错?

为啥XAMPP第一项Apache老是打不开

宝塔面板修改数据库root密码后打不开了

手机应用打不开无响应怎么办

我的.sql文件打不开了,怎么回事

win10闹钟,天气打不开了