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.
PeopleSoft Has Never Been Easier

PeopleSoft Adoption Made Smooth & Simple!

On-The-Job Training Is made Intuitive & Easy With WalkMe's On-Screen Guidance Tool.  Claim Your Free WalkMe Account Now


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

Creating Instructional Tutorials  

For Any Use & On Any Platform

Contextual Guidance at the moment of need helps your employees/users adopt software o& achieve even the most complex tasks instantly. Boost knowledge retention, software adoption & employee engagement with easy solution.

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…
Have you ever had to make fundamental changes to a table in Oracle, but haven't been able to get any downtime?  I'm talking things like: * Dropping columns * Shrinking allocated space * Removing chained blocks and restoring the PCTFREE * Re-or…
This video shows how to copy a database user from one database to another user DBMS_METADATA.  It also shows how to copy a user's permissions and discusses password hash differences between Oracle 10g and 11g.
Video by: Steve
Using examples as well as descriptions, step through each of the common simple join types, explaining differences in syntax, differences in expected outputs and showing how the queries run along with the actual outputs based upon a simple set of dem…

688 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