Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: Corrupt datafile of TEMPORARY tablespace
"Neki Lik" <boris_at_illustro.hr> wrote in message
news:aclv3d$dosu$1_at_as201.hinet.hr...
> Hi all,
>
> in one of our databases (Oracle 8.1.7.0.0. SE / WinNT) an user accidentaly
> swiched the server off while it was doing a big SQL query (and nothing
> else!).
> Now, database cannot start because temp datafile isn't as big as Oracle
> expect it would be. Autoexpand was on (on that datafile) and probably the
> datafile was expanding while user switched off the server.
>
> I supose that information in temporary datafile isn't important at all for
> the rest of the data (another tablespaces).
>
> My questions are next:
>
> 1. Is there any utility that can fix header of bad datafile?
> 2. Can I in any way put some other temp datafile in place of this one
> (created using exact same installation of Oracle, but with other SID, and
in
> the same tablespace)?
> 3. What and where should I change in header in that "replacement" datafile
> (using hex editor)?
> I tried to do this, and done some experimenting, and manage to realize
that
> among other things, header contains information of tablespace in which
> datafile belongs, SID of the database and, of course, block cheksums.
> Now, when I change those info (tblspace name and SID) dbverify reports
that
> cheksum is invalid and compute the cheksum (I manage to find where it
rests
> in file), but I can't change it since the checksum itself is used in
> calculation of cheksum (am I right?). Help.
> 4. Or there is another easy way to do it, and I'm just not aware of it?
>
> Thanks in advance...
>
>
>
Quite evidently you are just dangerous to any Oracle database, as you seem
to know absolutely nothing about Oracle administration. You are also working
in a dangerous environment when it is possible for 'an user' to switch the
system off.
All your ideas above result in a screwed up database.
The ordinary 'utility' is called *recovery*. That would be useless in your
situation, as I can bet you are running in noarchivelog.
As this is a temporary tablespace, just drop it and recreate it.
Then just rush to your Server Administrators manuals or to a bookshop in
Oracle to *learn* Oracle administration.
Or you must really want to change job
Regards
-- Sybrand Bakker Senior Oracle DBA to reply remove '-verwijderdit' from my e-mail addressReceived on Fri May 24 2002 - 14:56:46 CDT