Operating System - HP-UX
1748288 Members
3372 Online
108761 Solutions
New Discussion юеВ

oracle 8.1.6 not closed with shutdown immediate

 
SILVERSTAR
Frequent Advisor

oracle 8.1.6 not closed with shutdown immediate

During shutdown immediate oracle rdbms sometimes stops with the message:
WAITING FOR SMON TO DISABLE TX RECOVERY
and I have to do a shutdown abort to go on

7 REPLIES 7
Alexander M. Ermes
Honored Contributor

Re: oracle 8.1.6 not closed with shutdown immediate

Hi there.
The shutdown immediate means, that ALL processes on the database must ne finished, before the shutdown reacts. If a user's process would still be active, it would also finish first ( long query etc ). With the shutdown abort you shoot the horse, kill all processes,no rollback will work and it will take a bit longer to start the database because of recovery. Recovery will be done prior to opening of the database.
Rgds
Alexander M. Ermes
.. and all these memories are going to vanish like tears in the rain! final words from Rutger Hauer in "Blade Runner"
Thierry Poels_1
Honored Contributor

Re: oracle 8.1.6 not closed with shutdown immediate

hi,

this problem might occur when a very large number of temporary segments are in use (which have to be cleaned up at shutdown). A solution might be to edit the default storage of your temp tablespace and define larger extents, or even to completely recreate the temp tablespace (as locally managed?).

good luck,
Thierry.
All unix flavours are exactly the same . . . . . . . . . . for end users anyway.
Andreas D. Skjervold
Honored Contributor

Re: oracle 8.1.6 not closed with shutdown immediate

Hi
With shutdown immediate, all transactions that aren't commited are rolled back, and this may take a long time if there are large transactions going on in your base.

If you are in a hurry the abort is preferable, even if this may feel a litle risky, it isn't, as the recovery during startup gets everything into place.

To aviod having SMON doing cleanup of the temporary extents after your transactions are cleaned up, the temp tablespace should be set temporary, as the temp extents now are simply dropped during shutdown.

Andreas
Only by ignoring what everyone think is important, can you be aware of what everyone ignores!
Robert Binkley
Advisor

Re: oracle 8.1.6 not closed with shutdown immediate

During a SHUTDOWN IMMEDIATE and SHUTDOWN NORMAL, SMON is cleaning up extents
which are no longer needed and marking them as freed.

Either wait for SMON to clean up the free extents in the database as it
shuts down or perform a SHUTDOWN ABORT to shutdown the instance. A SHUTDOWN
ABORT will not perform a clean shutdown.

Verify that temporary segments are decreasing
---------------------------------------------
To verify that the temporary segments are decreasing have an active session
available in Server Manager during the SHUTDOWN IMMEDIATE. Issue the following
query to ensure the database is not hanging, but is actually perform extent
cleanup:

SVRMGR> select count(block#) from fet$;
COUNT(BLOC
----------
7

SVRMGR> select count(block#) from uet$;
COUNT(BLOC
----------
402

After some time has elapsed, reissue the query and see that the values for fet$
have increased while the values or uet$ have decreased:

SVRMGR> select count(block#) from fet$;
COUNT(BLOC
----------
10

SVRMGR> select count(block#) from uet$;
COUNT(BLOC
----------
399

During shutdown the SMON process is cleaning up extents and updating the data
dictionary tables with the marked free extents. As the extents are marked as
freed, they are removed from the table for used extents, UET$ and placed on the
table for free extents, FET$.

How to Avoid creating many Temporary Extents
--------------------------------------------
Once the database has shutdown cleanly, to avoid creating many temporary
extents change the initial and next extent sizes on temporary tablespaces
to a more appropriate size:

ALTER TABLESPACE STORAGE (INITIAL M/K NEXT M/K);

Note: If the temporary tablespace is of type TEMPORARY, then this change
will only affect temporary segments created after issuing the above
command. Any existing temporary segments already in the TEMPORARY tablespace
will not be affected till the instance is restarted. On shutdown, existing
temporary segments are dropped. If the TEMPORARY TABLESPACE is of type
PERMANENT, then cleanup is performed by SMON after completion of the process
using it.

Increasing the initial and next extent size will decrease the number of extents
that are allocated to temporary segments. Since there are fewer extents to
deallocate, the database should shutdown more speedily.

Take the following scenario:

A database was subject to large sorts with the following sort parameter in
the "init.ora" file:

- sort_area_size=1000000

The temporary tablespaces for this database were all created with initial and
next extents sized at 50k and the total database size was about 300mb.

Database sorts will utilize memory as much as possible based on the "init.ora"
parameter "sort_area_size". Once this memory-based sort area is filled, the
database will utilize the temporary table space associated with the database
user to complete the sort operation. During a shutdown normal, the database
will attempt to clean up the temporary tablespaces.

If a small extent size is used, then a large number of extents will be created
for a large sort. The cleanup of the temporary tablespace takes much longer
with a large number of extents.

Note:
=====
You have to do a shutdown abort and then bring the database
back up to run the suggested queries.
Wodisch
Honored Contributor

Re: oracle 8.1.6 not closed with shutdown immediate

Hello,

if you are in a hurry when shutting down the instance,
why not force a checkpoint and then do an "shutdown
abort"? Even Oracle themselfs recommend it now...

HTH,
Wodisch
Jayaprakash_1
Advisor

Re: oracle 8.1.6 not closed with shutdown immediate

the problem is with the cleaning up of transactions.here the problem is due to the hangup.shutdown abort.do a startup.

regds
jp
jp
Suresh Krishnan
New Member

Re: oracle 8.1.6 not closed with shutdown immediate

The solution worked for my Oracle9i R2 DB with same issue. Created another TEMP tablespace and bounced the default temporary tablespace to newly created temporary tablespace and dropped the old temporary tablespace. Now able to shutdown properly with SHUTDOWN NORMAL and SHUTDOWN IMMEDIATE. Thanks for all