Migrating ERP and BW on HANA to a Single HANA System with Multitenant Database Containers
Having successfully installed HANA with multitenant database containers (see my previous blog), I wanted to find out if everything would run just as smoothly in the case of an update to SPS 09 with conversion to multitenant database containers. As in my first blog, multitenant database containers are abbreviated to MDC.
My starting point was a HANA database on revision 80 with SAP EHP 6 for SAP ERP 6.0, version for SAP HANA running on top of it. The BW system was running on a separate HANA that was still on revision 70. The idea was to get the ERP and BW systems running on two tenants in the same HANA.
Updating to SPS 09
I downloaded the latest software components from SAP Service Marketplace using the SAP HANA studio (at the time, this was revision 92), and then prepared the software archive for the updatebefore executing hdblcmgui. All this is well described in the SAP HANA Server Installation and Update Guide.
Don’t be put off by the fact that you don’t see an option to migrate to MDC in the update wizard, as we did in the installation procedure. The conversion to MDC is that it is a post-installation step (see section “Converting to MDC” below). And actually this makes sense, because many customers will want to introduce MDC after they have been working with the new support package stack for a while. The update to SPS 09 from a lower support package stack is always from a single container to a single container.
We ran into a few minor issues at operating system level, which were solved by ensuring that we had upgraded to the versions recommended in SAP Note 1944799 (our system landscape hadn’t been updated for a while). We also migrated to CommonCryptoLib as described in SAP Note 2093286.
More serious was the fact that the ERP system wouldn’t start once the update had finished. This was because the new 3-digit HANA revision codes were not recognized:
According to SAP Note 1952701, we needed 740 Patch Level 48 but unfortunately this version was no longer on SAP Service Marketplace, so we ended up upgrading the kernel from 740 to 741.
Converting to MDC
The conversion from a single database container to multitenant database containers worked as described in the documentation. Make sure you don’t forget any of the pre- or post-conversion steps, and migrate – don’t remove – the statistics server.
For an example with screen shots, see this blog post by N. van der Linden: http://scn.sap.com/community/developer-center/hana/blog/2014/12/17/convert-to-a-multi-tenant-hana-database .
The result is one system database and one tenant database inside a HANA system that supports multiple database containers (as opposed to installation with MDC, which gives you only the system database). The system ID and the name of the tenant database are the same: in our example, HN1.
We were gratified to see the schema of our ERP system in the catalog of the tenant database, and not under the system database:
We now started the ERP system, this time without issues.
The only issue we did notice was that the repository roles were missing in the system database:
It turned out that the problem had been caused by our shutting down the database while the thread ImportOrUpdateContent was still active in the system database (visible on the Performance tab):
This thread was triggered as part of the conversion to MDC, when the command hdbnameserver –resetUserSystem was issued. The consequences can sometimes be more serious, so make sure you wait for the import of the delivery units to finish before shutting down. For more information, see SAP Note 2136496. As of Revision 94, ImportUpdateContent will no longer be triggered by this command. Moreover, development has told us that it plans to minimize the delivery units import time to a fraction of what it is in SPS 09.
If you have other issues when converting to MDC, please consult SAP Notes 2140297 and 2140344.
Transferring the BW system to the same HANA as the ERP system
We started by creating a second tenant in the target system. We gave it the same name as the source system SID (HB1), but there is no technical reason why you have to do this. It was then necessary to update the source system to SPS 09 and convert it to MDC, before backing up the tenant in the source system and recovering it into the target tenant and system. SAP HANA database backup and recovery is explained in the SAP HANA Administration Guide in SAP Help Portal. Thus, the process was as follows:
- Update target system to SPS 09 (see first section above).
- Convert target system to MDC (see second section above).
- Create second tenant in target system.
- Update source system to SPS 09.
- Convert source system to MDC.
- Back up tenant in source system.
- Recover this backup into the target system tenant created in step 3.
One thing to note is that once we had done the recovery, the password of the tenant’s SYSTEM user reverted to what it had been in the source system, overwriting the password we had specified when creating the tenant in the target system. This is normal system behavior. For more information about the passwords of MDC systems, see the documentation.
The next step was to update the SAP HANA database client of the ERP as well as the BW system with hdbsetup.
Then, before restarting HANA or our BW system, we reconfigured the connection from BW to the new HANA database with the <SID>adm user using hdbuserstore. In the screen shot below, the turquoise rectangle represents the fully qualified domain name of the original HANA system and the yellow rectangles represent the fully qualified domain name of the HANA multitenant system.
For more information about hdbuserstore, see the documentation here.
In the above example, the SQL port of our BW tenant is 30041 because the instance number is 00 and 3<instance number>41 is the first SQL port assigned to a manually created tenant.
For more information about the ports of multitenant database containers, see the documentation here. Note, in particular, that the ports for a converted tenant database are different from those of tenant databases that are added subsequently.
Enabling HTTP access to the correct database container
We now configured the internal SAP Web Dispatcher so that it would know which HTTP requests to send to which database container from the Web-based applications running on the XS engine.
Originally, we set up IP addresses for each tenant database but this is not necessary; it works fine with DNS alias host names.
The first entry (wdisp/system_0) initially looked like this:
SID=$(SAPSYSTEMNAME), EXTSRV=http://localhost:3$(SAPSYSTEM)08, SRCURL=/
This entry is for the converted tenant which, in our case, is the tenant on which the ERP system runs.
We changed it as follows because we required additional entries:
SID=$(SAPSYSTEMNAME), EXTSRV=http://localhost:3$(SAPSYSTEM)08, SRVHOST=<fqdn>
We added a second entry with the DNS alias for the BW tenant (wdisp/system_1) and another entry with the DNS alias for the system database (wdisp/system_3).
We also updated the XS properties for each of our database containers in order to be able to open and work with the SAP HANA cockpit from the SAP HANA studio.
Converted tenant database (on which ERP runs):
Created tenant database (on which BW runs):
You can find full step-by-step instructions on how to configure HTTP access to multitenant database containers in SAP Help Portal.
Nice blog thanks !!
how big are your ERP and BW? is HANA a scaleout ?
Our customer systems are big and we want to ask you what is your experience about having BW and ERP dbs on the same HANA box? - did you happen to discuss this topology ith SAP before you went in this direction?
I assume for small db sizes - performance of the HANA db should not be a concern but if you have db sizes say +5TB each .. what does SAP have to say about that?
Any other aspects to consider ?
Nice blog, and one of the early ones under this topic.
How's the performance?
Good blog. what is the best combination? Base on OSS note 1681092, we can combine non-production systems. Combining multiple BW systems (Development, sandbox, Test etc..) on one box? or all sandbox systems (BW, ECC, SRM etc) on one box?
SAP HANA multitenant database containers (MDC) has just started with SAP HANA SPS09. There is no production system experience yet. Performance for a single tenant MDC system shall be as if it were a standard single db. All beyond depends on sizing and available resources of the machinery. Please check note 2096000 for further information.
The vision of MDC is to have rather arbitrary combinations of tenant databases together in one system. But be honest - combinations also should make sense. The MDC technology though will not release the machine boundaries - what did not fit on a system before will most probably not fit now either. MDC will offer more flexibility for operation of tenant databases, moving them, managing their resource consupmption, side by side with an administration on database level. Now, in the beginning the sizing shall be done additively and there shall be a lot of testing.
Over time we will collect example combinations and experience what to join best. But one recommendation (a must) stays as is - not to mix production with non-production databases in one MDC system or even on one host.
Start testing with MDC systems providing sandboxes, or join QA and DEV, or join standard SAP scenarios like EPP, SRM, CRM… and let us know how it worked out. Only real-life operations returns fruitful feedback. We appreciate any information to complete the picture quickly
SAP HANA Product Management
There is a case where SAP ERP and BW are implemented. Now the customer is planning for a migration to HANA. Since both OLTP and OLAP can happen on HANA, is it required that both ERP and BW data are to be migrated or only ERP data is migrated. Also, how will the reports developed on BW work, if BW is not migrated.
For those interested, we just uploaded a full playlist on multitenant database containers:
SAP HANA Multitenant (MDC) videos now available on the SAP HANA Academy
For information about DBACockpit with SAP HANA multitenant database containers, see http://scn.sap.com/docs/DOC-65869 .