阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

ORA-00600 [3020] ORA-10560问题解决办法

232次阅读
没有评论

共计 2501 个字符,预计需要花费 7 分钟才能阅读完成。

渠道一用户,断电后 Oracle 数据库无法启动,渠道技术人员做了一些恢复尝试,包括重建控制文件、介质恢复提示如下错误:

Errors in filed:\oracle\diag\rdbms\orcl\orcl1\trace\orcl1_pr0g_5100.trc  (incident=259565):
ORA-00600: internal error code, arguments:[3020], [2], [102936], [8491544], [], [], [], [], [], [], [], []
ORA-10567: Redo is inconsistent with datablock (file# 2, block# 102936, file offset is 843251712 bytes)
ORA-10564: tablespace SYSAUX
ORA-01110: data file 2:'G:\ORADATA\ORCL\SYSAUX01.DBF'
ORA-10560: block type 'FIRST LEVEL BITMAPBLOCK'
Incident details in:d:\oracle\diag\rdbms\orcl\orcl1\incident\incdir_259565\orcl1_pr0g_5100_i259565.trc
Slave exiting with ORA-600 exception
Errors in file d:\oracle\diag\rdbms\orcl\orcl1\trace\orcl1_pr0g_5100.trc:
ORA-00600: internal error code, arguments:[3020], [2], [102936], [8491544], [], [], [], [], [], [], [], []
ORA-10567: Redo is inconsistent with datablock (file# 2, block# 102936, file offset is 843251712 bytes)
ORA-10564: tablespace SYSAUX
ORA-01110: data file 2:'G:\ORADATA\ORCL\SYSAUX01.DBF'
ORA-10560: block type 'FIRST LEVEL BITMAPBLOCK'

可能介质恢复过程中出现了坏块,还好 recover database 有个命令可以允许坏块,如下:

If you do not have a backup available, than the options are VERY limited. Please open a Service Request with Oracle Support Services for assistance on this.  Otherwise:

1. Use Trial Recovery to determine the extent of the problem:

SQL> recover database test;

This will tell you how many blocks (n) would be left corrupted after recovery – check the alert
log for details of the blocks affected.  If there are a large number of corruptions reported you may decide to restore from backup and issue point in time recovery.  However, if only a few blocks are reported as corrupt you could proceed with recovery :

2. Skip the corrupted block(s)

SQL> recover database allow 1 corruption;

Do this <n> times,  <n> being the number of blocks reported as corrupt in step 1 above.

This will allow recovery to continue,  ‘skipping’ the blocks that cannot be recovered and leaving them marked as ‘corrupt’ after which the database can be opened.

3. Take the corrupt blocks reported in the alert log and for each,  identify the object that the block belongs to::

SQL> SELECT tablespace_name, segment_type, owner, segment_name
    FROM dba_extents
    WHERE file_id = <file#>
      and <block> between block_id AND block_id + blocks – 1;

Replacing <file#> and <block> with the file# and block ids reported in the alert log.

For each object identified – take steps to resolve the corruption:

– if it belongs to an index then simply drop and recreate the index

– if it belong to a user object then consider recreating the object or extracting what you can from the object; if necessary raise a Service Request with Oracle and request assistance with extracting data from a corrupt object. 

更多 Oracle 相关信息见 Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-11/137677.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计2501字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中