Show TOC

RepartitioningLocate this document in the navigation structure

Use

Repartitioning can be useful if you have already loaded data to your InfoCube, and:

  • You did not partition the InfoCube when you created it.

  • You loaded more data into your InfoCube than you had planned when you partitioned it.

  • You did not choose a long enough period of time for partitioning.

  • Some partitions contain no data or little data due to data archiving over a period of time.

Integration

All database providers support this function except DB2 for Linux, UNIX, Windows and MAXDB. For IBM DB2 for Linux, UNIX, and Windows, you can use clustering or reclustering instead. For more information, see Clustering.

Features

Merging and Adding Partitions

When you merge and add partitions, InfoCube partitions are either merged at the bottom end of the partitioning schema (merge), or added at the top (split).

Ideally, this operation is only executed for the database catalog. This is the case if all the partitions that you want to merge are empty and no data has been loaded outside of the time period you initially defined. The runtime of the action is only a few minutes.

If there is still data in the partitions you want to merge, or if data has been loaded beyond the time period you initially defined, the system saves the data in a shadow table and then copies it back to the original table. The runtime depends on the amount of data to be copied.

With InfoCubes for non-cumulatives, all markers are either in the bottom partition or top partition of the E fact table. Whether mass data also has to be copied depends on the editing options. For this reason, the partitions of non-cumulative InfoCubes cannot be merged if all of the markers are in the bottom partition. If all of the markers are in the top partition, adding partitions is not permitted. If this is the case, use the Complete Repartitioning editing option.

You can merge and add partitions for aggregates as well as for InfoCubes. Alternatively, you can reactivate all of the aggregates after you have changed the InfoCube. Since this function only changes the DB memory parameters of fact tables, you can continue to use the available aggregates without having to modify them.

Recommendation

We recommend that you completely back up the database before you execute this function. This ensures that if an error occurs (for example, during a DB catalog operation), you can quickly restore the system to its previous status.

Complete Partitioning

Complete Partitioning fully converts the fact tables of the InfoCube. The system creates shadow tables with the new partitioning schema and copies all of the data from the original tables into the shadow tables. As soon as the data is copied, the system creates indexes and the original table replaces the shadow table. After the system has successfully completed the partitioning request, both fact tables exist in the original state (shadow table), as well as in the modified state with the new partitioning schema (original table). You can manually delete the shadow tables after repartitioning has been successfully completed to free up the memory. Shadow tables have the namespace /BIC/4F<Name of InfoCube> or /BIC/4E<Name of InfoCube>.

You can only use complete repartitioning for InfoCubes. A heterogeneous state is possible. For example, it is possible to have a partitioned InfoCube with non partitioned aggregates. This does not have an adverse effect on functionality. You can automatically modify all of the active aggregates by reactivating them.

Monitoring

You can monitor the repartitioning requests using a monitor. The monitor shows you the current status of the processing steps. When you double-click, the relevant logs appear. The following functions are available in the context menu of the request or editing step:

  • Delete: You delete the repartitioning request. It no longer appears in the monitor and you cannot restart. All tables remain in their current state. The InfoCube may be inconsistent.

  • Reset Request: You reset the repartitioning request. This deletes all the locks for the InfoCube and all its shadow tables.

  • Reset Step: You reset the canceled editing steps so that they are reset to their original state.

  • Restart: You restart the repartitioning request in the background. You cannot restart a repartitioning request if it still has status Active (yellow) in the monitor. Check whether the request is still active (transaction SM37) and, if necessary, reset the current editing step before you restart.

Background Information About Copying Data

By default, the system copies a maximum of six processes in parallel. The main process splits dialog processes in the background. These dialog processes each copy small data packages and finish with a COMMIT. If a timeout causes one of these dialog processes to terminate, you can restart the affected copy operations, after you have altered the timeout time. To do this, choose Restart Repartitioning Request.

Background Information About Error Handling

Even if you can restart the individual editing steps, you should not reset the repartitioning request or the individual editing steps without first performing an error analysis.

During repartitioning, the relevant InfoCube and its aggregates are locked against modifying operations (loading data, aggregation, rollup and so on) to avoid inconsistent data. In the initial dialog, you can manually unlock objects. This option is only intended for cases where errors have occurred and should only be used after the logs and datasets have been analyzed.

Transport

Since the metadata in the target system is adjusted without the DB tables being converted when you transport InfoCubes, repartitioned InfoCubes may only be transported when the repartitioning has already taken place in the target system. Otherwise inconsistencies that can only be corrected manually occur in the target system.

Activities

You can access repartitioning in the Data Warehousing Workbench using Administration, or in the context menu of your InfoCube.

You can schedule repartitioning in the background by choosing Initialize. You can monitor the repartitioning requests by choosing Monitor.