Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: shutdown abort and database consistency

Re: shutdown abort and database consistency

From: Howard J. Rogers <dba_at_hjrdba.com>
Date: Wed, 10 Jul 2002 18:00:32 +1000
Message-ID: <aggphm$npn$1@lust.ihug.co.nz>

"Jonathan Lewis" <jonathan_at_jlcomp.demon.co.uk> wrote in message news:1026287386.13426.1.nnrp-10.9e984b29_at_news.demon.co.uk...
>
> A couple of comments in-line.
>
> --
> Jonathan Lewis
> http://www.jlcomp.demon.co.uk
>
> Next Seminars
> UK July / Sept
> Australia July / August
> Malaysia September
> USA (MI) November
> http://www.jlcomp.demon.co.uk/seminar.html
>
> Howard J. Rogers wrote in message ...
> >So the database opens fine, but the table is missing, in its entirety.
Not
> >just the records.... the table itself. Why? Because when you create a
table
> >'nologging', the entries in the data dictionary to record its creation
are
> >not logged either. Therefore, the change to the data dictionary is lost
> >along with the insertion of records. But the database is consistent
> >(consistently missing table NASTY, anyway).
> >
>
>
> I think you may need to review the above.
> The data dictionary entries to record its creation are logged,
> but the sequence of events is:
> create temporary segment
> load data into temporary segment
> create most table definitions entries
> attach temp segement to table definition
> eliminate temp segment definition.
>
> So if you crash in mid-create, there is only a temp segment
> definition in the dictionary to clear out (smon) on startup.
>

Yeah, I was trying to simplify, and not go into any of that (true) detail. And also not to lose my rag over my hub deciding to do its impression of Lord Lucan.

>
> >
> >So the last batch insert was lost, but not the preceeding ones. I *was*
> >committing after each insert, though. Had I not been, I would have lost
the
> >lot. But the database would have opened consistent.
> >
>
>
> It doesn't change the nature of your argument, but if you
> had not been committing between inserts you would have
> got oracle error:
> ORA-12838: cannot read/modify an object after modifying it in parallel.
> ;)
>
>

Thanks. That one I didn't know, because I couldn't be bothered walking from one side of the study to another to do yet another test.

Anyway: to the Original Poster: with Jonathan's extra precision, you see that shutdown aborts do not lose committed data, will lose uncommitted data (just like shutdown immediate), and may pose local (ie segment-specific) corruption/access issues if used in combination with nologging (just like shutdown immediate).

Regards, and thanks to JL for the clarifications. HJR
>
>
Received on Wed Jul 10 2002 - 03:00:32 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US