This document is regarding performance issue of Client Copy and Client Deletion.

I promise that you will have the opportunity to meet this situation when you perform a project like HR Care-out, and you should never think it is easy to use SAP standard way like SCCL and SCC5.

So here you can get the instruction regarding how to do this and how to optimize performance for handling a huge client.

In fact, I never know how much performance we can get when using this instruction because the copy/deletion will never succeed if we don’t do some things……

Please be aware of that this instruction is only for the brainstorming not for detail.

Environment: SAP ERP 7.0 OS+Database: AIX + DB2 9.7.5

 

Client Copy:

The example here is to copy a Client with 10 TB and with SAP_CUST profile. (please remember never ever to copy a huge Client with SAP_ALL which is always the disaster in any cases, instead to use an alternative way like system copy)

Step 1: Client copy with parallel processes.

To set the parallel processes, one RFC group in RZ12 needs to be set. And then set as many as number of processes as screen below. it is recommended to set to 2 processes per DB CPU core.

Transaction SCCL:

SCCL.png

Step 2: Exclude huge tables for the client copy to be run

Always exclude huge tables in the standard client copy and leave them for later process. I don’t explain how to figure out the huge tables name here, actually it is not easy to do this.

SCCL -> Edit -> Expert setting

SCCL_Expert.png

 

Step 3: run the client copy in background.

You can monitor the parallel client copy in SCC3, SM50, SM66…

Step 4: Continue those excluded tables copy on OS level using R3trans.

Create an R3trans control file on DB server like:

cat testcopy

clientcopy source client = 400

target client = 210

select * from STXH

select * from STXL

select * from STXB

select * from PSTXH

select * from PSTXB

Run R3trans with this control file in background mode like:

nohup R3trans testcopy &

Client Deletion will be continued….

The Client Deletion is more complicated than Client Copy. In fact, we spent 2 months on Client copy and Deletion between DBA and SAP. Analysis, Execution, Communication, Re-Analysis, Re-Execution and Re-communication…….

Client Deletion

 

Step 1: Deletion with parallel processes just like Client Copy (no introduction anymore)

Step 2: Exclude top N huge tables (as many as, in fact) just like Client Copy (no introduction anymore)

Step 3: Run standard SAP Client Deletion program with Step 1 and 2 in background mode.

Step 4: Delete those tables excluded on DB2 level. But before this, table analysis is the key:

4.1 Make sure all tables you selected for exclusion have the “Client” field like MANDT, MANDANT and DCLIENT….

4.2 Check those tables using the below select statement if they have the data only with source system Client number, or they also have the data with multiple Client number.

select * from SAPR3.VBAP where mandt<>’400′ fetch first 1 rows only

4.3 For the tables only have the data with Source system client number, run the truncate statement as the below.

truncate table SAPR3.VBAP immediate

4.4 For the tables have the data with other Client number, DB2 made a script as the below way.

– Create the copy of tables
– Only Select the data except Source Client number and insert to the table copy
– Drop original tables
– Rename the table copy to original table name
– Recreate indexes

To report this post you need to login first.

2 Comments

You must be Logged on to comment or reply to a post.

Leave a Reply