Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
dvankempen
Product and Topic Expert
Product and Topic Expert
Recently, we have published a number of new tutorial videos to the SAP HANA Express edition playlist on our SAP HANA Academy YouTube Channel.

In this playlist you will find video tutorials on miscellaneous topics; some included in the Getting Started with SAP HANA express edition guide (PDF) that comes with the download, others not (yet).

How to create a tenant database is such a topic.

SAP HANA express edition comes as a binary installer or as a preconfigured virtual machine image (ova file). There are two versions for the VM: server only, and server+apps. On both versions, SAP HANA is running as a multitenant database container (MDC) system.

If you are not familiar yet with the topic of MDC in general, please see my blog or check out the MDC playlist on the Academy: http://bit.ly/2dP53hw

https://blogs.sap.com/2015/06/15/sap-hana-multitenant-database-container-mdc-videos-now-available-on...

Two of the most important components of a SAP HANA system are:

  • name server (hdbnameserver) - holds information about the topology of the system (hosts, services, data)

  • index server (hdbindexserver) - the actual database engine (row store, column store, object store)




There are many other components. Some serve an auxiliary role, like the web dispatcher, compiler, preprocessor, and script server. Other components are added to the system when you install, for example, Dynamic Tiering (extended store server) or Smart Data Integration (data provisioning server).

One of the main differences between a regular SAP HANA system and a multitenant database container system is that with MDC, the database engine for the system database is embedded in the nameserver process. Only tenant databases run in an indexserver process.

At first sight, the system database might look like a regular database and seem like a fine place to store your development artifacts. However, the system database is not a regular database and should only be used to manage the overall system.

The main role of the nameserver is to take care of system and landscape operations. Blowing up the system database with user data interferes with this essential task and might - eventually, potentially -  introduce system stability and performance issues.

There are also a few technical restrictions on the system database: you simply cannot add services that process user data. For example, you cannot add the script server required for the Predictive Analysis Library (PAL) or add the data provisioning server (dpserver) required for Smart Data Integration (SDI).

When you try, SAP HANA will respond:
Could not execute ' <command> '
Feature not supported: only applicable to user databases



The same message will be returned when you try to use the system database for any of the SAP HANA options (Dynamic Tiering, Smart Data Streaming, RDSync).

Besides the limitations, you would also miss out on a great feature when using the system database for development, namely database copy (and move). It is very easy to copy and move tenant databases between systems, for example, between a development VM and production system. However, if your development artifacts are stored in the system database, the only way to get them out is by exporting the content as a delivery unit DU).

In other words, before you start to do any serious development with SAP HANA express edition, first create  a tenant database.

So how can you do this? It is simple.

1. Watch the video



2. Use the code
-- create a tenant 
CREATE DATABASE TESTDB SYSTEM USER PASSWORD Initial1;
-- add the script server service
ALTER DATABASE TESTDB ADD 'scriptserver'

-- or hit two birds with one stone
CREATE DATABASE TESTDB ADD 'scriptserver' SYSTEM USER PASSWORD Initial1;

-- Tenants by default start automatically, but can be started and stopped manually as well
ALTER SYSTEM START DATABASE TESTDB;

-- Stop before you drop
ALTER SYSTEM STOP DATABASE TESTDB;
DROP DATABASE TESTDB;

 


Blog Series


This blog is part of a series:




 

Help Portal

Overview of SAP HANA Architecture
Multitenant Database Containers
Copying and Moving Tenant Databases Between Systems

SAP Notes


2104291 - FAQ - SAP HANA multitenant database containers
2101244 - FAQ: SAP HANA Multitenant Database Containers
2096000 - SAP HANA multitenant database containers - Additional Information

 

Thank you for watching


The SAP HANA Academy provides free online video tutorials for the developers, consultants, partners and customers of SAP HANA.

Topics range from practical how-to instructions on administration, data loading and modeling, and integration with other SAP solutions, to more conceptual projects to help build out new solutions using mobile applications or predictive analysis.

For the full library, see SAP HANA Academy Library - by the SAP HANA Academy.

For the full list of blogs, see Blog Posts - by the SAP HANA Academy.
19 Comments