Upon analyzing the database's top tables, I discovered that table "REPOLOAD" contains almost 30+ GB of disk space.
I found a useful Snote while searching
2193457. In case RS_LOAD_FORMAT_ADM doesn't exist in the system,2324429 to check/delete obsolete loads manually.
Symptom
It has been
noticed that REPOLOAD, REPOSRC, REPOTEXT, D010INC and D010TAB
tables have huge amount of data in the system.
Environment
SAP
NetWeaver release independent
Resolution
1. What are these tables used for?
REPOLOAD
stores the ABAP program loads and REPOSRC stores the ABAP program source code.
Find details in the Wiki page Understanding Program Load.
The table REPOTEXT stores the Text Elements of the programs.
When an
ABAP program load is generated, the tables D010TAB and D010INC are also
updated. These tables contain the information about the includes and DDIC
objects the load of a specific program depends on. These tables do not contain
any entries for programs for which no load was generated. The tables D010TAB
and D010INC play a central part in dependency management. For details, check
SAP Note 1230076.
2. Is it possible to delete/truncate the table entries of these
tables?
SAP does
not recommend to delete contents from these tables unless SAP
support ask you to do so.
If the
REPOLOAD entries are lost, the system will face performance issues since all
the entries of the table(program loads) will need to be re-created (it can be
repaired with the regeneration of the programs, either manually or running
SGEN, see KBA 1989778 for
further information).
All the
ABAP programs are stored in REPOSRC, so deleting the entries of REPOSRC
mean deleting ABAP programs, which will definitely damage the system.
The tables
D010TAB and D010INC are same, the dependence between ABAP programs and DDIC
objects will be lost if the entries are deleted.
3. How to cleanup these tables?
As
mentioned above, these tables store critical information, normally the data
cannot be reduced.
But it is
still possible that these tables contains obsolete entries:
-
Report RS_LOAD_FORMAT_ADM can be used to check whether there are obsolete data
in REPOLOAD, D010INC, and D010TAB. The report can also be used
to delete obsolete data. For details, see SAP Note 2193457. In
case RS_LOAD_FORMAT_ADM doesn't exist in the system, check KBA 2324429 to check/delete obsolete
loads manually.
4. Whether the table size in my system is normal?
Here are
some samples:
NW750 - EHP8 FOR SAP ERP 6.0:
These two
systems are just our internal test system which doesn't have any
production business. So in real customer systems, it is normal that you
have a much bigger size than above.
5. Suddenly the size of REPOLOAD, D010INC, D010TAB
are growing quite fast. Why?
Most likely
somebody executed a mass generation by SGEN or SAMT.
6. Table REPOLOAD has many entries for platform ID (MACH) equal to 0. Why?
REPOLOAD entries with MACH = 0 are used for precompiled headers and
should not be deleted.
7. Index REPOLOAD~SRC exists and consume a lot of space. Why?
This is related to the ABAP Source Search in ABAP Development Tools for
Eclipse (ADT). If this is not needed, the business function must be deactivate.
See SAP Note 1918229 for
further information.
See Also
- SAP Note 1918229 -
ABAP Source Search: Enable via Business Function
- KBA 2324429 - Manually
cleaning the ABAP Load table (Repoload)
- KBA 1989778 - FAQ:
SGEN
- SAP Note 1230076 - Generation
of ABAP loads: Tips for the analysis
- SAP Note 2193457 - Job
DELETE_OLD_LOAD_FORMAT/tables REPOLOAD, D010INC, and D010TAB grow
Symptom
It has been
noticed that REPOLOAD, REPOSRC, REPOTEXT, D010INC and D010TAB
tables have huge amount of data in the system.
Environment
SAP
NetWeaver release independent
Resolution
1. What are these tables used for?
REPOLOAD
stores the ABAP program loads and REPOSRC stores the ABAP program source code.
Find details in the Wiki page Understanding Program Load.
The table REPOTEXT stores the Text Elements of the programs.
When an
ABAP program load is generated, the tables D010TAB and D010INC are also
updated. These tables contain the information about the includes and DDIC
objects the load of a specific program depends on. These tables do not contain
any entries for programs for which no load was generated. The tables D010TAB
and D010INC play a central part in dependency management. For details, check
SAP Note 1230076.
2. Is it possible to delete/truncate the table entries of these
tables?
SAP does
not recommend to delete contents from these tables unless SAP
support ask you to do so.
If the
REPOLOAD entries are lost, the system will face performance issues since all
the entries of the table(program loads) will need to be re-created (it can be
repaired with the regeneration of the programs, either manually or running
SGEN, see KBA 1989778 for
further information).
All the
ABAP programs are stored in REPOSRC, so deleting the entries of REPOSRC
mean deleting ABAP programs, which will definitely damage the system.
The tables
D010TAB and D010INC are same, the dependence between ABAP programs and DDIC
objects will be lost if the entries are deleted.
3. How to cleanup these tables?
As
mentioned above, these tables store critical information, normally the data
cannot be reduced.
But it is
still possible that these tables contains obsolete entries:
-
Report RS_LOAD_FORMAT_ADM can be used to check whether there are obsolete data
in REPOLOAD, D010INC, and D010TAB. The report can also be used
to delete obsolete data. For details, see SAP Note 2193457. In
case RS_LOAD_FORMAT_ADM doesn't exist in the system, check KBA 2324429 to check/delete obsolete
loads manually.
4. Whether the table size in my system is normal?
Here are
some samples:
NW750 - EHP8 FOR SAP ERP 6.0:
These two systems are just our internal test system which doesn't have any production business. So in real customer systems, it is normal that you have a much bigger size than above.
5. Suddenly the size of REPOLOAD, D010INC, D010TAB are growing quite fast. Why?
Most likely
somebody executed a mass generation by SGEN or SAMT.
6. Table REPOLOAD has many entries for platform ID (MACH) equal to 0. Why?
REPOLOAD entries with MACH = 0 are used for precompiled headers and
should not be deleted.
7. Index REPOLOAD~SRC exists and consume a lot of space. Why?
This is related to the ABAP Source Search in ABAP Development Tools for
Eclipse (ADT). If this is not needed, the business function must be deactivate.
See SAP Note 1918229 for
further information.
See Also
- SAP Note 1918229 -
ABAP Source Search: Enable via Business Function
- KBA 2324429 - Manually
cleaning the ABAP Load table (Repoload)
- KBA 1989778 - FAQ:
SGEN
- SAP Note 1230076 - Generation
of ABAP loads: Tips for the analysis
- SAP Note 2193457 - Job
DELETE_OLD_LOAD_FORMAT/tables REPOLOAD, D010INC, and D010TAB grow