OS/DB Migration - CMD. STR, TOC, EXT, R3load, DDLDBS.TPL and more

With increasing need to improve performance or reduce costs or vanishing support for operating systems/databases it becomes inevitable to migrate to a better OS or DB. We feel take a quick look at the primary ingredients of the tools for OS/DB migration handled by R3SETUP.

Tools - R3load, R3ldctl and R3szchk

R3ldctl creates STRucture files, TemPLate files by reading the technical settings for table/indexes in SAP data dictionary. R3szchk calculates the database size object sizes (EXTent files) for the target system based on the STR files created by R3ldctl. The EXT and STR files can be later split into smaller groups.

R3ldctl and R3szchk create STR, EXT and TPL files


The most crucial tool R3load is responsible for unloading and loading data from the database. R3load uses the files created by R3ldctl and R3szchk and dumps the data into compressed binary format as .001, .002 .. files. It uses cmd files to achieve the task. If the cmd files are not present, it creates on its own.

R3load to unload and load data from and to database

Files

Command files*.cmd are created in the installation directory by R3load process if they are not already present. The command files contain path to database independent structure file (*.STR), database dependent template files (*.TPL), directory file (*.TOC) containing contents of dump files and directory containing data dump files.

Command Files *.cmd are generated and used by R3load

DB independent structure files *.STR are created by R3ldctl. Together, these files describe every table and index recognized in the SAP data dictionary. The TABART (class) and TABKAT (category) are read from the technical settings of the tables/indexes defined in DD09L.

Table and index attributes are extracted to STR files

DB dependent template files DDL<DBS>.TPL contain the database specific syntax which are used for creating tables and indexes. By carefully adjusting the template file, certain import steps can be made to run fast and certain potential errors can be avoided.

Editing DDLORA.TPL to use PARALLEL clause

Editing the max and next extents in DDLORA.TPL

In case of Oracle database,  DDLORA.TPL contains the mapping of tablespaces with the table classes (TABART) and table category to extent definitions.

Extent parameter files *.EXT contain the initial sizes of the tables/indexes. The default values of the initial extents are 16KB for Oracle database.

EXT files contain tables sizes. 16KB is the smallest value.

During export, the initial extent sizes of large tables are limited to 1.7 GB. This may be small and is very likely to pose a problem during import. Find all occurrence of 1782579200 in EXT files and increase them to a large value (say 10GB 10000*1024*1024 = 10485760000)

Export log shows initial extents limited to 1782579200

Change initial extents for big tables

Data dump files *.001, *.002 etc are the binary data files created by R3load while unloading the data from the database. These files are highly compressed. As a rule of thumb, the total size of the dump files may be about 10% of the database. It may be smaller if the tables are highly fragmented (for example as a result of data archiving). The dump files should not be edited.

Data dump file - R3load

Content directory files *.TOC contain the number of rows, which portion of the dump file holds which table and the timestamp of unload. You should never edit TOC files.

TOC - Mapping table data location in the dump files

DB size template DBSIZE.TPL contains how the datafiles are layed out accross the sapdata file systems. The source database may have had datafiles arrnaged in disorderly fashion. Editing DBSIZE.TPL before tablespace creation helps you control how big and where the datafiles are created.

Datafile layout in DBSIZE.TPL

Reading datafile layout in DBSIZE.TPL

You have to ensure that you are not exceeding the FS size and the summations at the bottom of the file match. You can use the following command to do the check for each SAPDATA

cat DBSIZE.TPL | awk -F"=" '{ print $2}' | sed  's/!/ /g' | xargs -n1 | grep @SAPDATA1@ | awk -F";" '{ print $2}' | awk '{s+=$1} END {print s}'

DBSIZE.TPL sum totals

R3SETUP Control files *.R3S orchestrate the export and import process. DBEXPORT.R3S controls export and DBMIG.R3S controls the database (only) migration.

There is no practical need to edit DBEXPORT.R3S, but DBMIG.R3S may need editing to insert exit routines.

Insert a line in the [EXE] section. If you find some activities in the import phase that can be performed before export completes, you may wish to run them while export is in progress to reduce downtime. Before the data loading is started by R3load, you should exit the import program. This can be achieved by adding an exit routine before DBR3LOADEXECDUMMY_IND_IND step starts.

Search for DBR3LOADEXECDUMMY_IND_IND in the DBMIG.R3S file. Just before that line, add <previous line number + 5>=EXITSAPNWNEBWIE_IND_IND to exit before the R3load process begins.

Custom exit section in the list of steps

By adding the line you have specified another step to be executed by R3SETUP, but the definition of that step is not added yet.

Note that the steps in R3S file [EXAMPLELABEL_OS_DB] are sorted in alphabetical order. Therefore the new exit section should follow the alphabetical sequence.

Adding CExitStep in R3S file

EXITSAPNWNEWBIE... section is alphabetically ordered between EXITORA.. and EXITSTARTR3...

Comments

Popular posts from this blog

Fixing Inconsistent Table - Table activation fails due to inconsistency between DD and DB

301 Redirect Using SAP Web Dispatcher