Re: how to recover the DB from a dmp file?
Date: Tue, 1 Jul 2008 10:47:37 -0700 (PDT)
On Jul 1, 10:23 am, Helma <helma.vi..._at_hotmail.com> wrote:
> On Jun 30, 3:49 pm, Fabio Zanotti <zanotti.fa..._at_gmail.com> wrote:
> > Hi all,
> > we had corrupted one datafile and now the DB could not be open, but
> > can be
> > mount. Unfortunately, we are running our DB in NOARCHIVE mode and we
> > don't have a backup
> > too. We have a full dmp file only.
> > STARTUP FORCE
> > ORACLE instance started.
> > Total System Global Area 27480224 bytes
> > Fixed Size 73888 bytes
> > Variable Size 18845696 bytes
> > Database Buffers 8388608 bytes
> > Redo Buffers 172032 bytes
> > Database mounted.
> > ORA-01113: file 5 needs media recovery
> > ORA-01110: data file 5: '/opt/oracle/oradata/st0918bo/indx01.dbf'
> > plz. help me, how to recover the DB from a dmp file?.
> > regards.
> > Fabio Zanotti.
> ORA-01110: data file 5: '/opt/oracle/oradata/st0918bo/indx01.dbf'
> plz. help me, how to recover the DB from a dmp file ?
> seems this is just an index file? Ofline and drop it?
> H- Hide quoted text -
> - Show quoted text -
If the missing datafile is used to only hold indexes then yes it should be possible to generate from the dictionary (dbms_metadata) the source DDL for all indexes stored in the tablespace the file belongs to. Then the tablespace could be dropped and recreated at which time the create index scripts could be ran. Code for PK, UK, and FK will likely require generation so that the constraints can be reestablished.
There will be data loss if any tables including IOT's were stored in the tablespace using this approach though tables could be recovered from the dump file mentioned by the OP.
- Mark D Powell --