警告日志里出现错误:
Errors in file /u01/app/oracle/diag/rdbms/r92cfdb/r92cfdb/trace/r92cfdb_smon_22972.trc (incident=361333):
ORA-01110: data file 11: '/u01/app/oracle/oradata/r92cfdb/SEARCH_DATA_1.dbf'
偿试恢复:
SQL> select * from v$database_block_corruption;
FILE# BLOCK# BLOCKS CORRUPTION_CHANGE# CORRUPTIO
---------- ---------- ---------- ------------------ ---------
11 2186414 1 0 FRACTURED
-bash-3.2$ rman target /
Recovery Manager: Release 11.2.0.4.0 - Production on Tue Mar 10 03:10:00 2015
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
connected to target database: R92CFDB (DBID=1492361450)
RMAN> blockrecover datafile 11 block 2186414;
Starting recover at 10-MAR-15
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=5066 device type=DISK
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 03/10/2015 03:10:35
RMAN-06026: some targets not found - aborting restore
RMAN-06023: no backup or copy of datafile 11 found to restore
看看是什么对象损坏了吧:
SQL> SELECT tablespace_name, segment_type, owner, segment_name
2 FROM dba_extents
3 WHERE file_id = &fileid
and &blockid between block_id AND block_id + blocks - 1; 4
Enter value for fileid: 11
old 3: WHERE file_id = &fileid
new 3: WHERE file_id = 11
Enter value for blockid: 2186414
old 4: and &blockid between block_id AND block_id + blocks - 1
new 4: and 2186414 between block_id AND block_id + blocks - 1
TABLESPACE_NAME SEGMENT_TYPE OWNER
------------------------------ ------------------ ------------------------------
SEGMENT_NAME
--------------------------------------------------------------------------------
SEARCH_DATA INDEX SEARCHSYS
DR$EQ$DOC_PATH_IDX$X
还是是索引,
既然不能恢复,删除重新建立吧:
set long 9999
select dbms_metadata.get_ddl('INDEX','DR$EQ$DOC_PATH_IDX$X','SEARCHSYS') from dual;
CREATE INDEX "SEARCHSYS"."DR$EQ$DOC_PATH_IDX$X" ON "SEARCHSYS"."DR$EQ$DOC_PATH
_IDX$I" ("TOKEN_TEXT", "TOKEN_TYPE", "TOKEN_FIRST", "TOKEN_LAST", "TOKEN_COUNT")
PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS COMPRESS 2
STORAGE(INITIAL 5242880 NEXT 52428800 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "SEARCH_DATA"
问题解决。