ALLSTARS_ORACLE 发表于 2017-4-13 14:03:26

undo表空间损坏!

数据库版本:12.1.0.2.0,平台:suse linux(虚拟机)

undo表空间数据文件损坏,无法open,alert报错如下:
Errors in file /oracleser/app12102/oracle/diag/rdbms/persondb/persondb/trace/persondb_dbw0_2470.trc:
ORA-01157: cannot identify/lock data file 3 - see DBWR trace file
ORA-01110: data file 3: '/data/oradata/persondb/undotbs01.dbf'
ORA-27048: skgfifi: file header information is invalid

尝试offline后数据库能够open:
alter database datafile '/data/oradata/persondb/undotbs01.dbf' offline

发现有很多需要回滚的segments
SEGMENT_NAME                   OWNER  TABLESPACE_NAME                STATUS
------------------------------ ------ ------------------------------ ----------------
SYSTEM                         SYS    SYSTEM                         ONLINE
_SYSSMU10_832514571$           PUBLIC UNDOTBS1                       NEEDS RECOVERY
_SYSSMU9_4156997882$           PUBLIC UNDOTBS1                       NEEDS RECOVERY
_SYSSMU8_2674672116$           PUBLIC UNDOTBS1                       NEEDS RECOVERY
_SYSSMU7_527884491$            PUBLIC UNDOTBS1                       NEEDS RECOVERY
_SYSSMU6_2527403850$           PUBLIC UNDOTBS1                       NEEDS RECOVERY
_SYSSMU5_2096373581$           PUBLIC UNDOTBS1                       NEEDS RECOVERY
_SYSSMU4_4234299770$           PUBLIC UNDOTBS1                       NEEDS RECOVERY
_SYSSMU3_3668536125$           PUBLIC UNDOTBS1                       NEEDS RECOVERY
_SYSSMU2_3094239023$           PUBLIC UNDOTBS1                       NEEDS RECOVERY
_SYSSMU1_3118338713$           PUBLIC UNDOTBS1                       NEEDS RECOVERY

请问如何恢复undo表空间,如果需要恢复的segments很重要,不能丢失,该如何恢复呢?



undo头文件有损坏,有什么恢复方法呢?


oracle@pdccbpersondb:~> dbv file=/data/oradata/persondb/undotbs01.dbf

DBVERIFY: Release 12.1.0.2.0 - Production on Tue Mar 22 23:38:42 2016

Copyright (c) 1982, 2014, Oracle and/or its affiliates.  All rights reserved.


DBV-00107: Unknown header format (0) (0)

dbv检查报错,是测试环境,随便搞~
页: [1]
查看完整版本: undo表空间损坏!