Wednesday, 15 May 2024

BODS migration

In this blog, I have detailed the steps taken for SAP BODS application migration from existing on premises to HANA database including the DR Testing Setup.

The Purpose of this blog is to provide a guidance path for migration of the BODS Application to HANA.

Existing Landscape Design:

1. The IPS and DS version remain the same as on premises.

1.1 In this landscape NW JAVA is used as underlying Web Application instead of Tomcat.
1.2 This landscape had additional WACS installation.
1.3 There is a single Central repository across the landscape.
 
Considerations prior to Migration:

1. The Version history for Objects cannot be retained in case of a Migration of BODS application to another Database. SAP KBA 2768127.

1.1 The migration is performed using the ATL code import mechanism.
1.2 Central Repository migration must be performed via ATL code import into local repository. i.e. An additional local repository needs to be created on prem for this activity.
1.3 For Installation and build the <SID>adm user should be using csh shell for IPS and NW JAVA.
1.4 For Installation and build the <SID>adm user should be using the bash shell for DS.
 

Migration Steps:


1. Since the landscape consists of NW JAVA – Import / Export for NW JAVA via SWPM tool is used.

2. For the Database HANA MCD Setup is used. Corresponding users are created for each repository and the CMS & AUD repositories.

3. HANA Encryption performed

4. For HANA Database connectivity, UNIXodbc must be installed on all application servers for BODS.

4.1 Can be checked by using ./odbcinst -j as root user.
4.2 Edit the odbc.ini file to allow for the connections to the HANA database from the BODS Application servers. The DSN entry could be for each user for the Repository / Single DSN used across the repositories, but the <CMS> and <AUD> DSN are mandatory. Examples below:

BODS migration

3. The connection can be checked using the command as below as root user.
3.1 Command – isql <DSN> <USERNAME> <PASSWORD>

Each BODS Application server requires its own IPS and DS installation.

Few important steps during the installation which needs to be considered:

1. The IPS and DS Installation can be run directly using the patch download for the required version.
2. The Installation for IPS must be run with <SID>adm user under csh shell.
3. Once the CMS and AUD Repositories are confirmed on the HANA Database, select the option to manually deploy Web Applications

BODS migration

1. The SIA name and port details need to be confirmed at this time to use <hostname> and port 6400 or any other port. We will cover cluster name change and cluster setup for IPS under step <f>.

2. In case of multiple Application servers for BODS – as mentioned above each server will require its own IPS and DS installation. While performing the second IPS installation for the CMS Information step, you will need to provide the hostname for the first IPS installation.

3. For changing the cluster name in case of multiple applications once the steps till <e> are completed, stop the IPS as per SAP note 2143877 - What is the correct start and stop order for Data Services components. Follow the SAP note 3169978 - How to change CMS cluster name in Linux for BI 4.x to update the cluster name. The input needed will be <hostname:port> while providing the new Cluster name – which will translate to <@hostname:port> while logging onto BOE/CMC & DSMC and Designer tool.

4. For DS Installation as well, run with <SID>adm user. The destination folder for the DS Installation can be pre-created.

5. For the CMS Logon during DS installation – provide each individual <hostname:port> information. Execute Step <f> at the end.

6. For our purpose we had re-used the DSConfig.txt from the on-premises, during the DS Installation – this helps to cover any added parameters into the DSCOnfig.txt file from on premises but does not help with the job server and repositories assignments – which must be repeated to be covered after step <l and m>

7. Since we had selected Web Application to be manually deployed, we will have to run Wdeploy to create the configuration files to be imported to NW JAVA via SUM Tool.

7.1 Edit the file corresponding to the NW version under path <BODS Installation Directory>/enterprise_xi40/wdeploy/conf. The file name would be in the format config.sapappsvr<XX>

7.2 The inputs into this File would be against “as_sid”, “as_instance”, “as_admin_username” and “as_admin_password” fields

7.3 Run the command as ./wdeploy.sh sapappsvr<XX> predeployall

7.4 This creates the required files under path <BODS Installation Directory>/ enterprise_xi40/wdeploy/workdir/sapappsvr<XX>/application

7.5 Copy over these files to /usr/sap/trans/EPS/in

7.6 Run the SUM tool and import the components to the NW JAVA

BODS migration

1. For WACS installation run the ./modifyOrRemoveProducts.sh under BODS installation directory and select the Information Platform Services to modify. Make sure to not remove any selections already showing – but only add the selection for “Web Application Container Service” in the Step and complete the installation providing the same information as provided during the IPS installation for each server.

BODS migration

1. Create the Repositories corresponding to the Users created on the HANA Database using the below command.

Command to be run from <BODS installation Directory>/bin

./repoman -c -tlocal -U<USERNAME> -P<Password> -S<FQDN for the DB> -p<Tenant Port> -s -NHANA -Q<SID>

./repoman -c -tcentral -U<USERNAME> -P<Password> -S<FQDN for the DB> -p<Tenant Port> -s -NHANA -Q<SID>

For Central Repository the “Secure” option can be activated using the Repository Manager tool.

The Tenant port can be checked using the command from the SYSTEM Database

SELECT DATABASE_NAME, SQL_PORT FROM SYS_DATABASES.M_SERVICES

1. Re-create the Job server and assign Repositories.

1.1 Edit the DSConfig.txt file to remove the entries for Job Server, Access Server coming from On Premises. Find the Section [AL_JobServer] and remove the entries against fields “AL_JobServerName1” & “AL_JobServerPort1” and any more entries. Keep the Same Job Server name and port while recreating.
1.2 Find the Section [Access_Server] and remove the entry against “Connection_ID”
1.3 Once the above two are completed, when you run ./svrcfg it will prompt you to start creating Job Servers and assign Repositories against them. Re-create on each BODS Application server exactly as it was on Premises with the same port details.
1.4 For the usage of “Server Group” in DSMC – you will need to assign the same repository to multiple job servers on each BODS Application server.

2. You can source the al_env.sh and odbc.sh into the .bashrc file for the <SID>adm user by adding the below to entries to the file:
source /<BODS Installation Directory>/dataservices/DataDirect/odbc/odbc.sh

source /<BODS Installation Directory>/dataservices/bin/al_env.sh

1. Once the above steps are completed – You can Export the LCMBIAR and ATL from the On-premises application and Import into the Target Environment.

1.1 For LCMBIAR Export and Import Note that during the process, you will need to select each page and use the “select all” option above for each page. If not done, there could be some objects missed out.
1.2 Check the total objects being promoted from on premises and make sure the count is at least the same (could be more for target).
1.3 If the option “Hot Backup” is enabled under CMC in Settings each time you try to run the LCMBIAR File import and check the final count on promotable objects in the target it will show double – this is normal behaviour. Suggest deleting existing job and run a new job every time.

2. Login to CMC using the System details as <@Clustername:port> and under Data Services – you will need to delete and re-create each repository with the new hostname and port details.
 
Disaster Recovery:

The Disaster Recovery strategy used here is to have a pre-installed BODS Application and Database and during DR scenarios the latest available HANA backup is used to recover the Database on the DR Site. To achieve this, below steps were used.

1. BODS Application including NW JAVA as described in the above section is pre-built on the DR VM provisioned along with the HANA tenant on the DR site.
2. Steps for LCMBIAR & ATL export/import, WACS Install, creation of repositories and Job Servers, Edit of the DSConfig.txt file are excluded in this build.
3. A VM Backup and HANA Database Backup is retained at this stage for future re-use.

As part of the Disaster Recovery Test the below Steps are performed, without disturbing the existing Production Landscape.

1. HANA backup from Production and Restore onto the DR Database.
2. Follow SAP note 1275068 to recreate SIA for the application.
2.1 Select * from cms_infoobjects7 where parented=16 or parented=59;
2.2 Delete from cms_infoobjects7 where parented=16 or parented=59;
3. Re-create SIA using ./serverconfig.sh following SAP note 2206006. You will require the Cluster key and the CMS DSN user credentials to connect to the database from Production.
4. Change Cluster Name as detailed in the above section under step <f>.
5. For NW JAVA as the Database is coming in from Production backup – the only option is to uninstall – SAP Systems or Single Instances.

BODS migration

1. Re-Install NW JAVA using the option Standard Installation under HANA Database, but using “Homogeneous System Copy” instead of “Standard System Copy” used during build.

BODS migration

1. Provide the Existing Production Database SYSTEM and Schema details in the next steps along with the schema password and select “Data has already been Loaded”.

BODS migration

No comments:

Post a Comment