Oracle shutdown command Concepts
You might take the database down to make configuration
changes, for a backup or to upgrade Oracle software. When it?s time to bring
your database down, we use the shutdown command.
As you might guess, the shutdown command comes in many
forms. Oracle has three shutdown modes:
* Normal (default) - waits for in-flight work to
complete
* 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.
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
Oracle 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.
Oracle 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.
Oracle Shutdown Abort Command
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 should not be your first shutdown
method of choice, there may be times when you must force the database down. Here
is an example using the shutdown abort command:
SQL> shutdown abort
Next, let?s change topics and examine the Oracle data
dictionary where information about our database resides.
This is an excerpt from the bestselling "Easy
Oracle Jumpstart" by Robert Freeman and Steve Karam (Oracle ACE and Oracle
Certified Master). It?s only $19.95 when you buy it directly from the
publisher
here.
|
If you like Oracle tuning, you may enjoy the new book "Oracle
Tuning: The Definitive Reference", over 900 pages of BC's favorite tuning
tips & scripts.
You can buy it direct from the publisher for 30%-off and get instant access to
the code depot of Oracle tuning scripts. |