Clean Temporary Segments

I can see several temporary segments eating about 485 MB in one of the schemas in my database:

SEGMENT_NAME				 TABLESPACE_NAME		SEGMENT_TYPE		   MB
---------------------------------------- ------------------------------ ------------------ ----------
4.194730				 USERS				TEMPORARY		.0625
4.194722				 USERS				TEMPORARY		.0625
4.194634				 USERS				TEMPORARY		.0625
4.194626				 USERS				TEMPORARY		.0625
4.194554				 USERS				TEMPORARY		.0625
4.194474				 USERS				TEMPORARY		.0625
4.194450				 USERS				TEMPORARY		.0625
4.194442				 USERS				TEMPORARY		.0625
6.370					 USERS				TEMPORARY		  104
6.354					 USERS				TEMPORARY		   13
4.30594 				 USERS				TEMPORARY		  104
4.122354				 USERS				TEMPORARY		   13
4.58578 				 USERS				TEMPORARY		    2
4.10322 				 USERS				TEMPORARY		   43
4.78234 				 USERS				TEMPORARY		   13
6.34810 				 USERS				TEMPORARY		   28
6.71458 				 USERS				TEMPORARY		  112
4.181154				 USERS				TEMPORARY		   53

18 rows selected.

Open in new window


I bounced the database but they are still there. Can you please help me clean them?
sysautomationAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Tomas Helgi JohannssonCommented:
Hi!

Cleaning up temporary segments is done automatically by SMON for DMT.
However, you can do that manually, by
alter tablespace USERS coalesce;

http://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_3002.htm

Regards,
    Tomas Helgi
0
sysautomationAuthor Commented:
I have already tried coalesce but no change.
0
Sanjeev LabhDatabase ConsultantCommented:
I think the link below covers the issue quite nicely, with various other options to remove the temporary segments.

http://askdba.org/weblog/2009/07/cleanup-temporary-segments-in-permanent-tablespace/
0
The Ultimate Tool Kit for Technolgy Solution Provi

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy for valuable how-to assets including sample agreements, checklists, flowcharts, and more!

sysautomationAuthor Commented:
Sorry I could not see it timely. But none of the solutions given worked for me.

SQL> select ts# from sys.ts$ where name = 'USERS';

       TS#
----------
       4

SQL> alter session set events 'immediate trace name DROP_SEGMENTS level 5';

Session altered.

But still I have temporary segments as before:

SQL>  select tablespace_name, sum(bytes/1024/1024) from dba_segments
  2* where segment_type = 'TEMPORARY' group by tablespace_name

SQL> /

TABLESPACE_NAME              SUM(BYTES/1024/1024)
------------------------------ --------------------
USERS                                 488.5625


Second method is throwing some error:

SQL> exec DBMS_SPACE_ADMIN.TABLESPACE_VERIFY('USERS');
BEGIN DBMS_SPACE_ADMIN.TABLESPACE_VERIFY('USERS'); END;

*
ERROR at line 1:
ORA-08103: object no longer exists
ORA-06512: at "SYS.DBMS_SPACE_ADMIN", line 83
ORA-06512: at line 1
0
Sanjeev LabhDatabase ConsultantCommented:
You have not posted as to what type of operation was in progress. Did you try to find and see whether it was a DDL. Because for that you will not be able to drop till the time the operation finishes.
0
sysautomationAuthor Commented:
I am not aware of any operation going on. It has been about a month old problem and hence even if a DDL was run it should have finished by now. Also the DB was bounced a few times therefore any operation would have been killed before completion.
0
gheistCommented:
They are kept around for reuse. If you dump and reload data sure they disappear for short time DB spins up.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
slightwv (䄆 Netminder) Commented:
They probably should not have survived a database bounce.

There are many posts out there that talk about the tablespace being read only but I cannot imagine USERS being set to read only.  If it is, set it to read write and try the coalsece again.

If that isn't the case try removing ALL temp segments:
alter session set events 'immediate trace name DROP_SEGMENTS level 2147483647';

If they remain, I would probably open up an SR with Oracle Support.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Oracle Database

From novice to tech pro — start learning today.