数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

数据库恢复实例


发布日期:2019年01月26日
 
数据库恢复实例

Errors in file /data/oracle/spftprd/admin/bdump/spftprd_ckpt_trc:

ORA: data file : /data/oracle/spftprd/index/spftprd_CALC_MEDIUM_INDEX_dbf

ORA: IO error reading block from file (block # )

ORA: skgfospo: number of bytes read/written is incorrect

SVR Error: : I/O error

Additional information:

Additional information:

Sun Nov ::

CKPT: terminating instance due to error

Instance terminated by CKPT pid =

数据库版本

从alertlog里面看到很多I/O错误均发生在datafile的第一个block(block # )应该是数据文件头(datafile header)

详细错误如下

SQL> select * from v$recover_file;

FILE# ONLINE ERROR CHANGE# TIME

ONLINE E+ ::

OFFLINE E+ ::

ONLINE E+ ::

ONLINE CANNOT READ HEADER

ONLINE CANNOT READ HEADER

ONLINE E+ ::

ONLINE E+ ::

ONLINE CANNOT READ HEADER

rows selected

ALERT LOG

Sun Nov ::

Errors in file /data/oracle/spftprd/admin/bdump/spftprd_ckpt_trc:

ORA: data file : /data/oracle/spftprd/index/spftprd_CALC_MEDIUM_INDEX_dbf

ORA: IO error reading block from file (block # )

ORA: skgfospo: number of bytes read/written is incorrect

SVR Error: : I/O error

Additional information:

Additional information:

Sun Nov ::

Errors in file /data/oracle/spftprd/admin/bdump/spftprd_ckpt_trc:

ORA: data file : /data/oracle/spftprd/index/spftprd_CALC_MEDIUM_INDEX_dbf

ORA: IO error reading block from file (block # )

ORA: skgfospo: number of bytes read/written is incorrect

SVR Error: : I/O error

Additional information:

Additional information:

Sun Nov ::

Errors in file /data/oracle/spftprd/admin/bdump/spftprd_ckpt_trc:

ORA: datafile going offline due to error advancing checkpoint

ORA: database file failed verification check

ORA: data file : /data/oracle/spftprd/index/spftprd_CALC_MEDIUM_INDEX_dbf

ORA: data file is an old version not accessing current version

Sun Nov ::

Errors in file /data/oracle/spftprd/admin/bdump/spftprd_ckpt_trc:

ORA: data file : /data/oracle/spftprd/index/spftprd_CALC_MEDIUM_INDEX_dbf

ORA: IO error reading block from file (block # )

ORA: skgfospo: number of bytes read/written is incorrect

SVR Error: : I/O error

Additional information:

Additional information:

Sun Nov ::

Errors in file /data/oracle/spftprd/admin/bdump/spftprd_ckpt_trc:

ORA: data file : /data/oracle/spftprd/index/spftprd_CALC_MEDIUM_INDEX_dbf

ORA: IO error reading block from file (block # )

ORA: skgfospo: number of bytes read/written is incorrect

SVR Error: : I/O error

Additional information:

Additional information:

Sun Nov ::

Errors in file /data/oracle/spftprd/admin/bdump/spftprd_ckpt_trc:

ORA: data file : /data/oracle/spftprd/index/spftprd_CALC_MEDIUM_INDEX_dbf

ORA: IO error reading block from file (block # )

ORA: skgfospo: number of bytes read/written is incorrect

SVR Error: : I/O error

Additional information:

Additional information:

Sun Nov ::

Errors in file /data/oracle/spftprd/admin/bdump/spftprd_ckpt_trc:

ORA: data file : /data/oracle/spftprd/index/spftprd_CALC_MEDIUM_INDEX_dbf

ORA: IO error reading block from file (block # )

ORA: skgfospo: number of bytes read/written is incorrect

SVR Error: : I/O error

Additional information:

Additional information:

Sun Nov ::

Errors in file /data/oracle/spftprd/admin/bdump/spftprd_ckpt_trc:

ORA: data file : /data/oracle/spftprd/index/spftprd_CALC_MEDIUM_INDEX_dbf

ORA: IO error reading block from file (block # )

ORA: skgfospo: number of bytes read/written is incorrect

SVR Error: : I/O error

Additional information:

Additional information:

Sun Nov ::

CKPT: terminating instance due to error

Instance terminated by CKPT pid =

个数据文件需要恢复但使用dbv没有查到有corrupted block类似

DBVERIFY: Release Production on Mon Nov ::

(c) Copyright Oracle Corporation All rights reserved

DBVERIFY Verification starting : FILE = /data/oracle/spftprd/index/spftprd_build_index_dbf

DBVERIFY Verification complete

Total Pages Examined :

Total Pages Processed (Data) :

Total Pages Failing (Data) :

Total Pages Processed (Index):

Total Pages Failing (Index):

Total Pages Processed (Other):

Total Pages Empty :

Total Pages Marked Corrupt :

Total Pages Influx :

由于没有合适的备份(数据库archive log 模式天前刚resetlog过还没有备份)上一班的DBA挺boring的认为是数据文件有坏块连尝试recover database都没有作

刚开始我也误如歧途还想着offline这些数据文件(经过确认全部是索引表空间没有存储数据段)再重建这T左右的索引数据

后来想确认还有哪些datafile有问题便一个tablespace一个tablespace的恢复最后把数据库给起来了真好笑手生了

SQL> alter database open;

alter database open

*

ERROR at line :

ORA: file needs media recovery

ORA: data file :

/data/oracle/spftprd/index/spftprd_build_index_dbf

SQL> recover tablespace build_index;

Media recovery complete

SQL> alter database open;

alter database open

*

ERROR at line :

ORA: file needs media recovery

ORA: data file :

/data/oracle/spftprd/index/spftprd_CALC_MEDIUM_INDEX_dbf

SQL> recover tablespace CALC_MEDIUM_INDEX;

Media recovery complete

SQL> alter database open;

alter database open

*

ERROR at line :

ORA: file needs media recovery

ORA: data file :

/data/oracle/spftprd/index/spftprd_CAVJ_LARGE_INDEX_dbf

SQL> recover tablespace CAVJ_LARGE_INDEX;

Media recovery complete

SQL> alter database open;

alter database open

*

ERROR at line :

ORA: file needs media recovery

ORA: data file :

/data/oracle/spftprd/index/spftprd_CALC_LARGE_INDEX_dbf

SQL> recover tablespace CALC_LARGE_INDEX;

Media recovery complete

SQL> alter database open;

alter database open

*

ERROR at line :

ORA: file needs media recovery

ORA: data file :

/data/oracle/spftprd/index/spftprd_BOXV_MEDIUM_INDEX_dbf

SQL> recover tablespace BOXV_MEDIUM_INDEX;

Media recovery complete

SQL> alter database open;

alter database open

*

ERROR at line :

ORA: file needs media recovery

ORA: data file :

/data/oracle/spftprd/index/spftprd_atds_large_index_dbf

SQL> recover tablespace atds_large_index;

Media recovery complete

SQL> alter database open;

Database altered

SQL> alter system checkpoint;

System altered

早知如此就recover database了

猜测问题是磁盘子系统的异步I/O出了internal的问题不然怎么会坏在database header

同时Oracle support提供了一个bug还是我们的版本太低了CKPT不够稳定

This problem is due to the next bug:

==================================================================

BugTag: Support notes on Bug DDR info BugDesc

Affects: RDBMS (A)

NB: FIXED

Abstract: CKPT may crash the instance if datafile cannot be accessed

FixedReleases: A

Tags: CRASH

Details:

If a datafile from a nonsystem tablespace is inaccessible

the CKPT process may bring down the instance rather than taking

the datafile offline

==================================================================

SOLUTION / ACTION PLAN

======================

) Please apply the Oracle Server Patchset (bit) for Sun Sparc Solaris

) Then please apply the next oneoff patch:

==================================================================

Patch:

Description: DIAG MERGE LABEL REQUEST ON TOP OF FOR BUG# AND MORE

Product: Oracle Database Family

Release: Oracle

Platform or Language: Solaris Operating System (SPARC bit)

Last Updated: OCT

Size: M ( bytes)

==================================================================

上一篇:DBMS的使用方法举例介绍

下一篇:Oracle中的Raw类型解释