Hello Dears,
A couple of months ago, we had problem:
we lost most recent added disk on the server. Which contained latest 4 datafiles.
As we had no database/archivelog backup, we had to mark those datafiles offline drop and open the instance.
We searched for segments, whose extents were on those datafiles, dropped those segments an recreated them.
Everything was ok.
Now, we are migrating this database to new host via transportable tablespace method.
no violation on dbms_tts.transport_set_check, but when tried make tablespace readonly, faced error: ORA-01230: cannot make read only - file is offline. Tried drop the datafiles, get error: ORA-03262: the file is non-empty.
select * from dba_extents
where file_id in (2857,2858,2856,2855,2854,2853,2852);
sql returned 3541 rows: all are temporary segments in these offline files.
What can we do in this situation? Moving all segments from this tablespace to another is not a solution, because size of this tablespace is ~15TB
Is there any way to drop not-empty offline datafiles from tablespace? Or force tablespace read-only?
current version: 10.2.0.5
migrating to : 11.2.0.4
Thanks in advance!
Best you liaise with Support on this one.
They can (possibly) walk you through options using:
- DBMS_SPACE_ADMIN.TABLESPACE_VERIFY
- DBMS_SPACE_ADMIN.SEGMENT_CORRUPT
- DBMS_SPACE_ADMIN.SEGMENT_DROP_CORRUPT
or if necessary, the DROP_SEGMENTS event.
But ultimately...you were in trouble the moment you allowed this to happen:
"As we had no database/archivelog backup,"