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]