How to Limit SAP BW HANA Processes from Consuming All Available SAP HANA Memory

  • by Joerg Boeke, Independent BW Senior Consultant and Solution Architect
  • November 6, 2017
Get a detailed guide for protecting your SAP Business Warehouse (SAP BW) powered by SAP HANA system by using memory safety belt settings. SAP HANA parameters (mostly unknown) offer a lot of valuable entries to protect your system from manually created or defect-generated memory problems. Discover how to use the memory limit parameter to restrict the system to a maximum memory threshold.

Learning Objectives

Reading this article, you will learn how to:

  • Spot SAP parameters in SAP BW or SAP HANA data modelling or in the SAP GUI
  • Avoid memory problems in SAP HANA when executing processes such as calculation views, excessive queries, or even SAP system defects
  • Set up a safety belt for your SAP HANA environment to limit single processes using up to 100 percent of the SAP HANA memory
Key Concept
One issue with SAP HANA is that data is sometimes pulled from the database when using SAP HANA calculation views, which consumes a huge memory allocation. In the SAP HANA environment, even a query execution could lead the complete SAP HANA system to stall. SAP recommends using SAP HANA parameter settings to avoid these problems. Individual activation of such parameters might lead to a more reliant and protected system. You can implement these settings without any need for restarts very easily.

In my recent articles, I focused on using SAP HANA calculation views as a way to prevent additional persistency within your SAP Business Warehouse powered by SAP HANA landscape Because calculation views work like stored procedures, all transition logic and results of the view are calculated on the fly (in memory) and are not stored in any persistent table in the SAP BW Data Dictionary.

Depending on the design of the calculation views, this in-memory calculation may consume a huge amount of SAP HANA memory. Imagine if the calculation view reads a DataStore object (DSO) containing several million rows.

I’d like to introduce you to a safety belt setting. It is implemented by an SAP HANA parameter that ensures that a badly designed calculation view in combination with the new SAP HANA Composite InfoProvider, the successor of the old-fashioned MultiProvider, does not stall the complete SAP HANA system. A side effect that is not well known within the SAP HANA environment is the memory consumption of such a virtual design (because no data is kept in any extra persistency staging layer) when it comes to execution of queries.

I walk you through the optional SAP HANA settings to avoid possible memory exhaustion when it comes to SAP HANA process execution. In one of my SAP HANA projects my team had the problem that under specific query execution terms, the memory use of a single query ran into total memory exhaustion and ate up to 1 TB of memory. Later, after we checked with SAP support, the problem was located inside SAP HANA and was fixed by SAP Notes. However, we still keep this safety belt, implemented by the SAP HANA parameter I cover in this article, in place. You never know what problem might occur in the future.

Joerg Boeke

Joerg Boeke is an independent SAP NetWeaver BW solution architect and senior consultant with 12 years experience in SAP NetWeaver BW, having worked on it since SAP BW 1.2A. He offers significant expertise in the SAP NetWeaver BW reporting area, including design, data integration, data visualization, performance optimization, and the cleanup of existing SAP NetWeaver BW systems. He is the author of SAP BW 7.x Reporting - Visualize your data.

See more by this author


Comments

No comments have been submitted on this article. 


Please log in to post a comment.

To learn more about subscription access to premium content, click here.