How to check the size of the database & tables
Full database and individual table sizes can be checked via DB02 transaction. In that transaction there are several functions that are useful.
Full database overview
You can have a look at the overall server size by going to the "Overview". Then select "History" and either days/weeks or months :

- Size(Gb) : Total size of the BW server storage. Includes both free and used space
- Chg.Size : Change of size of the total size between this measurement and the previous one in Go
- Free(Gb) : Size of the free available space.
- Chg.Free : Change of the free space size between this measurement and the previous one in Go.
- % Used : Percentage of total space used = (Size(Gb) - Free (Gb)) / Size (Gb)
You can calculate the used space by simply doing : Size(Gb) - Free(Gb)
Tables sizes
You can check the individual table sizes via the "Segments" section.
Tips on DB02 table sizes
To measure the real size of a table, it is not enough to check only the table itself. You may be underestimating the size.
To have the full picture, you need to check all objects relative to that table :
- Indexes : most large tables have 1 or more index which can take a lot of space
- Lob Segments : In cases a lob segment is attached to the table. The lob segment is used to store the actual large data and therefore it could look like the table itself is very small... but the lob could be very large. Ex : The BW workbooks list is stored in the RSRWBSTORE table, but the actual workbooks data is stored in the attached Lob Segment
- Partitions : Large tables (and info-providers dimensions) can be split in many different partitions. You need to include all partitions.
Main system tables descriptions
| Table | Description |
|---|
| ARFCSDATA | tRFC tables - SM58 | | BALDAT | Application log (Details) - Logs from SLG1 | | BALHDR | Application Header | | C_OBJ#_INTCOL# | Cluster tables | | D010INC | Where used table | | D010TAB | Where used table | | DBTABLOG | Database Log | | DDPRS | Dictionnary Logs | | DOKCLU | Solution Manager Session Information | | EDI40 | Control record (IDoc) | | EDIDC | Control record (IDoc) | | EDIDS | Control record (IDoc) | | GVD_LATCHCHILDS | Oracle monitor | | GVD_SEGSTAT | Oracle monitor | | OCSCMPLOBJ | Complete Information for Objects | | REPOSRC | ABAP Source code repository | | RSBATCHCTRL | BI Background Management | | RSBATCHDATA | BI Background Management | | RSBATCHHEADER | BI Background Management | | RSBATCHPROT | BI Background Management | | RSBATCHSTACK | BI Background Management | | RSBERRORLOG | DTP Error Log | | RSBKDATA | Copy of INDX for DTP: Runtime Buffer | | RSBKSELECT | Selections for DTP Request (Summary) | | RSBMLOGPAR | Hierarchical Log: Field/Value Pair | | RSBMLOGPAR_DTP | DTP Log: Field/Value Pairs | | RSBMNODES | Hierarchical Log: Nodes | | RSBMONMESS | Hierarchical Log: Table with Messages | | RSBMREQ_DTP | DTP Error Log Related | | RSDDSTATAGGRDEF | BW Statistics | | RSDDSTATDTP | BW Statistics | | RSDDSTATEVDATA | BW Statistics | | RSDDSTATHEADER | BW Statistics | | RSDDSTATLOGGING | BW Statistics | | RSDDSTATWHM | BW Statistics | | RSHIENODETMP | Hierarchie Loading Log | | RSIXWWW | Web Reporting Component | | RSLDTDONE | Texts on the requested InfoPackages and groups | | RSMONFACT | Fact table monitor | | RSMONIPTAB | InfoPackage for the monitor | | RSMONMESS | Monitor Logs | | RSODSACTDATA | DSO Field aggregation | | RSODSACTUPDTYPE | DSO Field aggregation | | RSPCINSTANCE | PC Instance - Info on process chain instances | | RSPCPROCESSLOG | Process Chain Log | | RSREQDONE | Monitor: Saving of the QM entries | | RSREQDPTID | Note TID for Request and Data Package | | RSRWBSTORE | Workbooks Storage | | RSSELDONE | Monitor: Selections for executed request | | WBCROSSGT | Lists of objects in ABAP programs | | WRH$_ACTIVE_SESSION_HISTORY | Oracle system | | WRH$_EVENT_HISTOGRAM | Oracle system | | WRH$_SQL_PLAN | Oracle system | | WRH$_SYSMETRIC_HISTORY | Oracle system |
|
Table Reorg - Updating the size of the tables after clean up
When you delete data in tables, the tables size do not always change. This depends on the configuration of the table.
Usually if a table is dropped (ie. completly deleted, not just emptied) then the change will be reflected in DB02 the next day.
But in most cases, there is no change. it is necessary to do a "Re-organisation" of the table in order to reflect the change.
The BW team cannot do this re-org so it is necessary to request it to the SAP technical team.
Before running the procedure
Delete inactive user accounts
Before launching any of the following clean up actions, it is better if all the BW users accounts in production that have not been used for a long time (<6 months - Excluding IT & non-dialog users) be deleted from the system. This is because in some cases, data cannot be deleted if the user still exists.
Take a snapshot of Database sizes before process
In order to be able after the process to verify the changes of sizes, you need to take a snapshot of the database sizes before running the process.
1 - Go to DB02
2 - Select the "Segments" and "Detailed Analysis" options
3 - Extract the list of top largest tables sizes and save it