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 immediate hangs

Re: shutdown immediate hangs

From: Howard J. Rogers <howardjr2000_at_yahoo.com.au>
Date: Sat, 21 Sep 2002 07:59:00 +1000
Message-ID: <2LMi9.36725$g9.105152@newsfeeds.bigpond.com>

"Steve M" <steve.mcdaniels_at_vuinteractive.com> wrote in message news:amfvd4$6j6$1_at_spiney.sierra.com...
> My understanding is this:
>
> shutdown <normal> waits for all transactions to complete and all users to
> log out
>
> shutdown immediate completes all pending transactions, preventing new
> transactions, then waits for all users to log out
>

No. Shutdown immediate boots all users off without warning. It then spends time rolling their transactions back, and issues a final checkpoint. Then it closes the database gracefully. What you've described is a shutdown transactional.

> shutdown abort stops immediately, pending transactions are rolled back
> during the next normal startup.

Correct.

In fact, the only functional difference between an immediate and an abort is that the shutdown immediate does the rollback at shutdown time; the abort has to wait until the next startup. Otherwise, the two are identical in effect: anything that was pending at the time the shutdown command was issued is lost, but anything that was committed is safe.

The only concern with a shutdown abort is that there is a time delay between the close command and the eventual rollback (ie, when you finally get round to issuing a new startup command). During that time, it is possible that daft things could happen to your online redo logs (which are needed for the subsequent instance recovery). Were some online redo to go missing, you're forced to do an incomplete recovery, which means committed data would indeed be lost.

>
> If I am correct, there is a likelihood of a USER thinking that a
transaction
> completed when indeed it was rolled back.
>

Shouldn't be, actually. The rule in Oracle is that you're transaction's not committed until you see the 'Commit Processed' message -at which point, it's as safe as houses, whatever sort of shutdown you do (barring the mishap with the online redo in a shutdown abort scenario). Users shouldn't "think" their transaction's completed until they see that message -at which point, it *has* been completed.

> We use shutdown abort all the time.
>

And that's fine, with the one caveat I mentioned. Assuming you've multiplexed and mirrored you're redo, it's most unlikely that you'd ever be in the "I've lost my online redo after an abort" scenario.

Regards
HJR
> Killing sessions is (IMHO) misuse.
>
>
> "Karen Abgarian" <abvk_at_ureach.com> wrote in message
> news:3D8AB59A.441AF1D2_at_ureach.com...
> > I wonder why nobody has responded with an opinion on WHY does oracle
> > wait, sometimes indefinitely for shudown immediate. Likely this has to
do
> > with the famous question of when exactly PMON cleans up the sessions and
> > releases the resources after you issue a KILL SESSION command.
> >
> > It seems to be very popular to shutdown abort and then startup and
> shutdown
> > normal.
> > Even though this works, this is a misuse and it is natural to seek a
more
> > graceful solution.
> >
> > The contraindications of killing the sessions in a script are many but
> have
> > a common root:
> > they are difficult to implement properly. A few years ago I wrote such
a
> > script, it was
> > several dozens lines of code. I am not willing to dig it up, but I can
> > certify that it is possible.
> > The advantage is that you can do shutdown immediate or even normal
> instead
> > of
> > shutdown abort.
> >
> > Regs
> > AK
> >
> >
> >
> > Kenneth, Koenraadt wrote:
> >
> > > On Thu, 19 Sep 2002 12:51:46 +0200, cris <veronesic_at_libero.it> wrote:
> > >
> > > >Niall Litchfield wrote:
> > > >
> > > >> 1. issue shutdown ABORT then immediately startup and shutdown
normal.
> > > >
> > > >I was thinking about adding to my script a line that kills all the
> > > >active oracle<sid> processes immediatly before to do the shutdown. Is
> > > >this a safe way to proceed or are there contraindications?
> > > >
> > >
> > > Safe : NO!!
> > > Contraindications : Dozens!
> > >
> > > Do as Niall says. "Shutdown abort" will kill those processes in a safe
> > > way.
> > >
> > > - Kenneth Koenraadt
> > >
> > > >Thank you.
> > > >Kind regards, Cristian
> > > >
> >
>
>
Received on Fri Sep 20 2002 - 16:59:00 CDT

Original text of this message

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