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

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.
PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.


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

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

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

Subquery in Oracle: Sub queries are one of advance queries in oracle. Types of advance queries: •      Sub Queries •      Hierarchical Queries •      Set Operators Sub queries are know as the query called from another query or another subquery. It can …
Introduction A previously published article on Experts Exchange ("Joins in Oracle", makes a statement about "Oracle proprietary" joins and mixes the join syntax with gen…
This video explains at a high level about the four available data types in Oracle and how dates can be manipulated by the user to get data into and out of the database.
This video shows how to Export data from an Oracle database using the Original Export Utility.  The corresponding Import utility, which works the same way is referenced, but not demonstrated.

815 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

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now