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:

/wp-content/uploads/2014/04/preconfiguration_mode_option_417868.jpg

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.

/wp-content/uploads/2014/04/maintenance_without_shadow_418163.jpg

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

/wp-content/uploads/2014/04/maintenance_with_shadow_418164.jpg

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 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).

/wp-content/uploads/2014/04/shadow_system_418165.jpg

ℹ 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:

An upgrade

  • is a release change (like SAP ERP 5.0 to 6.0)
  • creates the shadow repository from DVD

An update

  • 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
To report this post you need to login first.

22 Comments

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

  1. Samuli Kaski

    Thanks Boris, great as always. Would you care to share additional details on what exactly happens and when with the shadow system. Especially useful would be to know how data is imported and activated in the shadow system which is then switched to become the target system. Another useful piece of information would be when is the last point transports can be imported into the source system so that they will be included in the shadow or rather the target system. See this discussion thread for details.

    (0) 
  2. Vladimir Kogan

    Than you . Just one question.  Is it possible in easy way to move the shadow instance to the specific application server? When upgrading production system users works usual, when shadows activation take place. Running shadow on dedicated sever can decrease the performance impact.

    I dint see this function in SUM, I cannot even select the instance number for shadow,

    Thank you

    Regards

    Vladimir Kogan

    (0) 
    1. Boris Rubarth Post author

      Hi Vladimir,

      see SUM guide, section 3.8 “Preconfiguration Mode Planning”, option “Switch expert mode on”: this option will offer the usage of a remote shadow instance.

      Regards, Boris

      (0) 
      1. Vladimir Kogan

        Yes. I found it.

        But one pint is still unclear.

        Let’s assume I have 3 serves:  CI AP1 AP2.  I am running SUM on CI, and habve a new clean server AP3 for Shadow Instance only. Do I need to install a dialog instance at AP3 before the upgrade, or SUM can install the files structure /usr/sap and all services remotely?

        Regards

        Vladimir

        (0) 
        1. Wipro Basis team

          We can install shadow instance either on existing dialog instance (AP1 and AP2) or on new server (AP3).

          Please find the below prerequisites for installing remote shadow instance:

          Applicable for Shadow Instance server:

          • The remote shadow instance can be installed on an existing Dialog instance server or any new server
          • If it is an existing dialog instance server, then we have to stop the dialog instance throughout the upgrade. After the upgrade, the instance can be used as usual.
          • If it is a new server, then we have to explicitly install Dialog instance manually before starting the upgrade. The instance Number should not be equal to Central instance number.
          • On the shadow instance host, enter the message server port of the shadow instance in the services file
            sapmsSHD<SAPSID>  36<instance number of SHD instance>/tcp
          • Install additional libraries by executing R3dllins.exe program is in the UM<U/N>_WINDOWS_<Platform>\DBINDEP\NTPATCH directory on the Upgrade Master DVD
          • Before upgrading to Release 7.01 or 7.10 and higher, you must execute the SAPMMC Installer instead of R3dllins
            • Patch – <DVD>\DATA_UNITS\K_710_UI_WINDOWS_<PROZESSOR>\DBINDEP\sapmmc<prozessor>u.msi.
            • SAP Note 1480785 contains much information
          • For the upgrade or update target release 7.01 or 7.10 and higher, install the C runtime manually on the host of the shadow instance
            • 684106 contains more information about this

          Applicable for Central Instance Host:

          • Share the folder /usr/sap/<SID>/SUM/abap as SHARE_PUT – provide full permissions for for SAP_>SID>_GlobalAdmin
          • Update the services of Central Instance server with below entries

          sapmsSHD<SID>  36<instance number of SHD instance>/tcp
          sapdp<instance number of SHD instance>  32<instance number of SHD instance>/tcp
          sapgw<instance number of SHD instance>   32<instance number of SHD instance>/tcp

          (1) 
  3. Marco Baiocco

    Hi Boris, I have a question.

    You say that only _some_ customizing tables are cloned to the shadow instance.

    What is the criteria for selecting which table gets cloned and which not?

    What about, in particular, for customer created customizing tables?

    Thanks

    (0) 
    1. Sourabh Chordiya

      Hi Marco,

      Only the customizing tables that will undergo a change in structure with upgrade are cloned to shadow instance in addition to mandatory basis tables which are required to keep shadow instance operational.

      Note that in addition the application tables are also copied to shadow instance in case you go for nZDM approach, the application tables in this case receive data via replication from primary instance to reduce the time consumed during downtime for switching/upgrading structure of shadow tables

      (1) 
  4. Kalyan Venigalla

    Hi Boris,

    That is very clear and a wonderful explanation on the upgrade/update process. Quick question on what happens to the original tables (non-upgraded) that were used for on-going operations once the system is switched to newer version. To be more clear – the REPO that was used for on-going production operations before the switch, do that tables get deleted or they still remain in DB? Thanks.

    Regards,

    Kalyan

    (0) 
  5. Arias García David Antón

    Hi,

    Good job, great blog.

    What would happen if you choose different ‘preconfiguration modes’ in each upgrade cycles? For instance, ‘single system’ during cycle 1 and ‘standard’ during cycle 2 and go live. Would it have any effect on the upgrade?

    Regards.

    (0) 
    1. Boris Rubarth Post author

      Hi Arias,

      not sure what you mean with “any effect on the upgrade” – sure it will have an effect on the upgrade: the procedure will behave differently. In general, you should always use the same configuration for testing and for go-live.

      Regards, Boris

      (0) 

Leave a Reply