Jump to content


0

4 levels of shutdown


5 replies to this topic

#1 xfx

xfx

    Awakening the World

  • Members
  • PipPipPipPipPipPip
  • 1,879 posts
  • 606 thanks

Posted 20 December 2009 - 01:28 PM

source: Burleson Consulting
During a normal shutdown, it's my understanding that Oracle will close all sessions (see modes below), close the database, un-mount the data files and then shut down the instance in two steps, first issuing a "free" the SGA RAM heap and finally, terminating the background processes.

Oracle has three shutdown modes:

·       Normal (default) - waits for in-flight work to complete.  This could take houes.

·       Immediate - terminates all sessions and does a rollback on all
uncommitted transactions.  

·       Abort - aborts all sessions, leaving current DML in need of rollback, de-allocates the SGA and terminates the background processes. Note that a shutdown abort is NOT evil or dangerous.  The "abort" simply means that Oracle will terminate all active work, which is what most people want during a shutdown!

The "normal" and "immediate" modes can take a long time in you have in-flight transactions, and many Oracle DBA's ensure a swift clean shutdown this way, aborting the sessions, re-starting to allow warmstart rollback of the aborted transactions, and a shutdown immediate to close cleanly:

SQL> shutdown abort

SQL> startup

SQL> shutdown immediate



Normal Shutdown

A normal shutdown of an Oracle database is actually rarely used. This is because the normal shutdown waits for everyone to complete their work and then logoff in an orderly fashion. When a normal shutdown occurs, the database is closed in a normal manner, and all changes made in the database are flushed to the database datafiles .  This is known as a “clean shutdown.”

Most of the time this is not practical… there always seems to be someone who has left for vacation and who forgot to log out, or there are times that Oracle processes become “zombied” (this is where Oracle thinks someone is connected to the database but they really are not). In these cases, the database will never come down.

It will simply wait forever until you manually kill those sessions. Because of this, we often recommend the shutdown immediate or shutdown abort commands, which we will discuss in the next sections. Here is an example of the use of the normal shutdown command.

SQL> shutdown

When you execute a shutdown , Oracle will flush all the changes in memory out to the database datafiles . This makes database startup quicker because the database is in a consistent state.

Think of it this way: if you jump into the air and land on your feet, you have landed in a way that prepares you to make another jump.  If, instead, you jump and land on your back, you are in no position to make another jump; instead, you must perform a recovery by taking the actions required to stand again.  A clean shutdown is one that is prepared to come back up without delay.  A dirty shutdown is one that lands on its back; it can not come back up without first recovering itself.

Shutdown Immediate

Perhaps the best way to initially shutdown the database is the shutdown immediate command. This command will prevent any new logins, then rollback any uncommitted transactions, and then bring down the database. In the process of bringing down the database, Oracle will flush all the changes in memory out to the database datafiles too, just like a regular shutdown does. This makes database startup quicker. Here is an example of shutting down a database with the shutdown immediate command:

SQL> shutdown immediate

The shutdown immediate command will work most of the time, but there are times when it can hang and fail to shutdown the database. In these cases, the shutdown abort command is called for.

Shutdown Abort

The shutdown abort command is pretty much a guaranteed way to get your database to shutdown. It’s a “hard crash” of the database, and this can result in a longer time to start the database back up. Still, you can’t really hurt the database using the shutdown abort command, and during your DBA years you will find more than a few occasions to use the shutdown abort command.

A shutdown abort can be your first shutdown method of choice, since there may be times when you must force the database down. Here is an example using the shutdown abort command:

SQL> shutdown  abort

#2 avinashraj

avinashraj

    Junior Member

  • Members
  • PipPip
  • 4 posts
  • 0 thanks

Posted 31 January 2010 - 10:54 PM

thanq

#3 xfx

xfx

    Awakening the World

  • Members
  • PipPipPipPipPipPip
  • 1,879 posts
  • 606 thanks

Posted 31 January 2010 - 11:37 PM

YW. :)

#4 harry817

harry817

    VIP

  • Senior Super Moderators
  • 1,514 posts
  • 14143 thanks

Posted 01 February 2010 - 06:22 AM

Nice to know. I was always wondering what the different modes were for. So I used immediate shutdown :)
Regards

Harry


***Join the "million count experience" ***



Do not post useless "thank you" post.
Please use the "Thanks" button as shown in the  announcements

#5 xfx

xfx

    Awakening the World

  • Members
  • PipPipPipPipPipPip
  • 1,879 posts
  • 606 thanks

Posted 01 February 2010 - 12:20 PM

Shutdown normal is my default.

#6 certscollector

certscollector

    Junior Member

  • Members
  • PipPip
  • 4 posts
  • 0 thanks

Posted 07 November 2010 - 01:54 PM

how about if we shut the server down?  :blink:




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Organization

Community

Downloads

Test Providers

Site Info


Go to top