Why fragmented SYSTEM tablespace ?

Posted on 2001-06-17
Last Modified: 2012-06-27
I have just created a new database with a system tablespace sized at 130 MB.  Even though it is only 25% full and does not contain any auditing records it is still fragmented.  Why ?   Do I dare try to defragment it ?

                                            Fragmented segments with more than 2 extents

OWNER                SEGMENT_NAME                      SEGMENT_TYPE         EXTENTS
-------------------- --------------------------------- ----------------- ----------
SYS                  SOURCE$                           TABLE                     11
SYS                  SYSTEM                            ROLLBACK                  10
SYS                  IDL_UB2$                          TABLE                     10
SYS                  C_OBJ#                            CLUSTER                    9
SYS                  I_SOURCE1                         INDEX                      9
SYS                  IDL_UB1$                          TABLE                      9
SYS                  VIEW$                             TABLE                      7
SYS                  I_COL1                            INDEX                      6
SYS                  I_OBJ2                            INDEX                      6
SYS                  I_OBJAUTH1                        INDEX                      6
SYS                  IDL_SB4$                          TABLE                      6
SYS                  OBJ$                              TABLE                      6
SYS                  C_FILE#_BLOCK#                    CLUSTER                    5
SYS                  C_USER#                           CLUSTER                    5
SYS                  I_ARGUMENT1                       INDEX                      5
SYS                  I_OBJAUTH2                        INDEX                      5
SYS                  ARGUMENT$                         TABLE                      5
SYS                  COM$                              TABLE                      5
SYS                  OBJAUTH$                          TABLE                      5
SYS                  C_TS#                             CLUSTER                    4
SYS                  I_COL2                            INDEX                      4
SYS                  I_COM1                            INDEX                      4
SYS                  I_DEPENDENCY2                     INDEX                      4
SYS                  ACCESS$                           TABLE                      4
SYS                  DEPENDENCY$                       TABLE                      4
SYS                  IDL_CHAR$                         TABLE                      4
SYS                  TRIGGER$                          TABLE                      4
SYS                  I_CON1                            INDEX                      3
SYS                  I_DEPENDENCY1                     INDEX                      3
SYS                  I_OBJ1                            INDEX                      3
SYS                  I_SYSAUTH1                        INDEX                      3
SYS                  SEQ$                              TABLE                      3
SYS                  SYN$                              TABLE                      3
Question by:EugeneGardner
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions

Expert Comment

ID: 6199903


I think it is looking good. One of my db is in state like that

segment          bytes          extents

I_SOURCE1     418914304     26
SOURCE$          953606144     23
IDL_UB1$     1333714944     23
IDL_UB2$     302833664     22
ARGUMENT$     107454464     17

and we can see no negative impact on performance.

 Talking about fragmentation is typical topic of big flamewars.


Expert Comment

ID: 6200385
When create new Oracle DB, both users system or sys temporary tablespace are system. Also, the default tablespace for 1st rollback segment is system. Both will cause the system tablespace becomes fragmented

Expert Comment

ID: 6200613
Hi, Eugene,

Fragmentation per se of the SYSTEM tablespace does not seem to be an issue, unless you have encountered a specific problem because of it.  Compared with the sizes of data tablespaces, the SYSTEM tablespace is usually very small, and the amount of I/O involved is also comparatively small.
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!


Expert Comment

ID: 6202387
The fragmentation is in objects, not in free space.
This fragmentation is result of starage clause - INITIAL EXTENT and NEXT EXTENT.
When the initial extent is full, then the next data will storaged in next extent - this next storage portion.
You can "defragment" object with re-creating it with new storage clause. For objects in tablespace SYSTEM this is not recomendet!
The another way is to make full export with compress extents and then make full import.


Accepted Solution

myerpz earned 100 total points
ID: 6203373
My advice would be to leave it alone and not worry about it. Read the white paper : "How to stop defragmenting and start living" in the Internet DBA section of Oracle Technet and you will see what I mean.

Author Comment

ID: 6204238
Thanks for the replies.  I will be reading through the article Myerpz mentioned.  I eventually found it at:

Featured Post

Online Training Solution

Drastically shorten your training time with WalkMe's advanced online training solution that Guides your trainees to action. Forget about retraining and skyrocket knowledge retention rates.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Why doesn't the Oracle optimizer use my index? Querying too much data Most Oracle developers know that an index is useful when you can use it to restrict your result set to a small number of the total rows in a table. So, the obvious side…
Working with Network Access Control Lists in Oracle 11g (part 2) Part 1: Previously, I introduced the basics of network ACL's including how to create, delete and modify entries to allow and deny access.  For many…
This videos aims to give the viewer a basic demonstration of how a user can query current session information by using the SYS_CONTEXT function
This video shows how to configure and send email from and Oracle database using both UTL_SMTP and UTL_MAIL, as well as comparing UTL_SMTP to a manual SMTP conversation with a mail server.

696 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question