Read this blog to get a simple introduction into the shadow system usage that the Software Update Manager (SUM) offers for the maintenance of ABAP-based SAP systems. You should be familiar with the general concept of the SUM, described in the blog Software Update Manager (SUM): introducing the tool for software maintenance
The goal of this blog is to explain the usage of a shadow system during the maintenance of ABAP based systems. This is in close correlation of the preconfiguration mode which is set in a SUM dialog during the configuration of a maintenance:
Comparing system maintenance with updating a house
If you want to renovate the house you live in, you may have a period of time during which the usage of the house is not possible.
The “downtime” of the house may be long. And after the renovation has started, there is no easy reset to the initial state of your house.
Advantage is that you do not need additional resources for a shadow house (see below).
Now if you want to reduce the downtime in which you have no house available (imagine all your familiy members living in one tent instead …) you may consider to use a shadow house for your renovation/maintenance. Before starting the renovation, you create the shadow house, and then conduct the changes on the shadow house, while still living in your initial house. Once the renovation is done, you have only a short period of downtime for the move into the new house.
Using the shadow means
- short downtime (only for the move)
- simple reset possible (skip the move)
- additional resources required: area and workers for shadow
There are two different ways to create the shadow: either you copy your (customized) house, or you create a new house from blueprint.
Explaining the shadow system
A shadow (SHD) system can be used by SUM during system maintenance (or update) parallel to the existing ABAP system.
A shadow system uses the same system-ID as the original system, but has a separate instance (shadow instance, own instance number) and a separate repository (shadow repository).
ℹ An instance combines some processes on OS level (like work processes, gateway, dispatcher, …) that can be started and stopped together. It is somtetimes also called application server (software view).
ℹ The ABAP repository is a specific part of the database and consists of all development objects like programs, classes, database table definitions, and so on.
The shadow repository contains selected tables: basis tables, some customizing tables, but no application tables. The advantage is that the shadow instance is working on the shadow repository to update these tables to the new software level (target release) already during uptime processing so that the downtime processing is faster.
ℹ Uptime processing is the time during which the SUM is already preparing the update of the system, but the system is still available for end users to change data.
The shadow system has the advantage that the downtime is reduced, but you have to consider additional resources: memory on the application server for running the additional instance, and space on the database for the additional tables of the shadow repository. (Remember that the repository is typically only a very small part of the database content, and it is independent on the total DB size.)
The work on the shadow repository makes it necessary to prohibit changes on the original repository. That is why transport and development of ABAP objects are forbidden once the creation of the shadow repository started..
When and how a shadow system is used
If you now think that the preconfiguration mode Single System (see first figure above) means that no shadow system is being used, you may or may not be correct, as this depends on the type of system maintenace you are executing (explained below). All we can say right now is that both preconfiguration mode Standard and Advanced do use the shadow system.
Remember the two possibilities above to create the shadow house: “copy your house, or create from blueprint”?
For system maintenance, this is equivalent to the difference between update and upgrade:
- is a release change (like SAP ERP 5.0 to 6.0)
- creates the shadow repository from DVD
- is an implementation of EHP or SPs (like SAP ERP 6.0 EHP3 -> EHP7)
- creates the shadow repository from the existing repository
❗ Note that the path to SAP ECC 6.0 EHP 8 is an upgrade path! See Why EHP 8 is different
ℹ Note that in the documentation, we just say update for all scenarios, like the name of SUM contains only update as the general term.
Single System Mode
If you choose single system mode in the preconfiguration mode (see first screenshot above), this means:
- An update (implementing SPs or EHPs) does not create or use a shadow system at all
This maintenance type is sometimes also referred to as “transport like”
- An upgrade (release change) creates a shadow repository (from DVD) and a shadow instance,
but the original instance is stopped as long as the shadow instance works on the shadow repository;
only a single system (instance) is running at a time -> “Single System Mode”
ℹ Single System Mode is sometimes also referred to as resource-minimized mode, as only few additional resources are required. On the other hand, the Standard and the Advanced Mode are both referred to as downtime-minimized mode, as only they offer downtime minimization. After handling the preconfiguration mode dialog (first screenshot above), the next dialog “Parameters for procedure” allows setting the number of processes, and it lists the mode as resource or downtime minimized (e.g. “The tool uses strategy Downtime-minimized.”).
Difference between Standard and Advanced Mode
- Both use a shadow system to minimize the downtime
- Choosing Advanced Mode sets the default parameters for the number of processes to higher values
(which could be achieved manually with Standard Mode as well)
- But only the Advanced Mode offers the option near Zero Downtime Maintenance (nZDM),
as described in the following blog Near-Zero Downtime Maintenance for SAP Business Suite Systems
- Further differences go beyond the scope of this introduction