Wednesday, January 23, 2013

Heterogeneous System Copy Export: Table Splitting

I recently had a customer who requiered an OS/DB migration for their ABAP 8TB database.

The particular case for this customer was the unavailability to export and import in week window, during acceptable times of table VBOX, which was around 500 GB in size, and no data could be deleted from it until the system was migrated on the new target platform.

Using the SAPInst tool for your particular version, you can find the "Table Splitting Preparation". What this does is making a preparation for splitting the table in multiple R3Load packages, which later allows for multiple R3Load packages during import, thus allowing parallelization depending on your hardware and making the overall copy process faster.

First of all, you have to calculate in how many packages you are going to split your "trouble table". My advice is to split a table up to packages of 5 GB max. In this case, my 500 GB VBOX table should split into 10 packages.

1- Create an empty text file containing the list of table(s) you want to split and their number of packages. For example, my splittable.txt contains:
              
                           VBOX%10

The format of this file is %.


2- Place the the file on an empty directory.

3- Create a directory where you will place later the Export Dump.

4- Run SAPinst for your particular version and choose - - Software Life-Cycle Options - System Copy - - Based on - Table Splitting Preparation.

5- Fill in the requiered data. Choose 1 Parallel R3ta Run per CPU if your system is on a High Load (choose 1 x 2 CPUs if on very high load), and if on low load choose 2 R3ta processes per CPU.

6- Copy the resulting WHR files to the DATA directory of the Export directory created on step 3.


Later on, execute the database export which will cause your SAP System to stop.

Use the resulting Split Preparation + DB Export on your target system to Import the Load. You can customize the order of the packages editing the order_by.txt file located on the export directory.