Você está na página 1de 171

HANA administration for SAP Basis

Link

http://scn.sap.com/community/hana-in-memory/blog/2013/05/27/andy-silvey--sap-
hana-command-line-tools-and-sql-reference-examples-for-netweaver-basis-
administrators

The SAP HANA Reference for SAP Basis Administrators was started because during studies for
HANATec Certification it was noticed that anybody interested in HANA Administration was
missing a one stop shop location and reference for the HANA Commands and Command Line
Tools and Administrator's SQL queries respective to the Basis Administrator's HANA
requirements.

The SAP HANA Reference for SAP Basis Administrators is a live SCN Community project, this
means it is continuously updated and extended to include the latest valuable knowledge on SAP HANA from the
Basis Administrator's perspective.

Everybody who has gems of knowledge anything from tips tricks to howto's on SAP HANA
from the Basis Administration perspective is positively welcomed and encouraged to join this
open source sharing SCN Community collaborative initiative to make this resource the most
powerful SAP HANA Basis Administration

resource available.

Let's together exploit the power of the SCN Community and unlock the value of the knowledge
and experience in the community to the benefit of all.

To contribute either add a comment at the bottom or email or private message me.

Looking forward to more community contributions.

All the best,


Andy.

p.s.

if you click the View as PDF button on the right, then you can save this as a pdf onto your
phone or pc for offline access and reading - of course this work is live so come back from time to time and get
the latest version.

Contribution History

Date Author Subject


8th June 2013 Martin English Developer Edition Filesystem Structure
19th
September Paul Aschmann Forward port 80 to XS Engine (8080)
2013
19th
September Paul Aschmann XS Engine debug mode
2013
17th
Steps To Reset HANA System User
December Jake Echanove
Password
2013
21st January Configure ABAP to HANA SSL
Jake Echanove
2014 Connection
23rd January SAP HANA Lifecycle Manager - How
Nicolas Chang
2014 to launch, start, install
6th February Additional information for the
Reinhard Jud
2014 RowStore Reorg
10th February Move HANA Data and Log Files to a
Jake Echanove
2014 different Mount Point
11th February Licensing, Architecting and Sizing BW
John Appleby
2014 on HANA
26th March Vinod Nair Handy SQL Statements for Monitoring
Date Author Subject
2014 HANA
7th April 2014 Vinay Singh HANA Daily Monitoring Template
28th April Richard Bremer Reactivating the SYSTEM user when no
2014 User with USER ADMIN is Available
Big thanks to Lars for taking time to
10th June 2014 Lars Breddemann
correct and improve the look and feel
The Configuration and Usage of SAP
18th June 2014 Yuan Fang
HANA Web-based IDE
Preparing a SAP Hana system for SAP
1st July 2014 Xing Jin
Lumira installation
Troubleshooting Issues when
DevendraKumar
3rd July 2014 implementing SAML SSO in HANA XS
Saxena
Engine

Interactive Contents

The SAP HANA Reference for SAP Basis Administrators


SAP HANA Commands and Command Line Tools and SQL Reference Examples for
NetWeaver Basis Administrators
o 1) Stop HANA

o 2a) Start HANA

o 2b) Note about SAPCONTROL location on the HANA Developer Edition

o 2c) SAP HANA Database: Starting the Script Server

o 3) Query the current status of all hosts

o 4) Start the name server:


o 7) Install Permanent License Using SQL

o 8b) Handy SQL Statements for Monitoring SAP HANA

Monitoring Memory Usage

Used Memory

o 8c) SAP HANA Daily Basis Operational Monitoring Template

o 8d) Technical Consistency Checks For SAP HANA Database

o 8e) FAQ: DB Users for the DBA Cockpit for SAP HANA

o 8f) How to Monitor SLT (Local Monitors)

o 8g) SAP HANA: Analysis of Out-of-memory (OOM) Dumps

o 8i) How To Perform a System Check for SAP Landscape Transformation

o 8j) Health Checker for the IBM SAP HANA appliance

o 9) Activating Emergency User with hdbnameserver & hdbindexserver

o 9b) Steps To Reset HANA System User Password

o 9b) How To Handle Forgotten System Password

o 9d) Reactivating the SYSTEM user when no User with USER ADMIN is
Available
The story

Procedure One - Requiring Database Restart

Procedure Two - Requiring Development Capabilities

o 9e) Allow only administration users to work on HANA database

o 10) Renaming an SAP HANA System with a GUI using HANAconfig.sh

o 11) Location of Configuration Files

o 12a) Trace Files Location

o 12b) How to enable serverwide HANA SQL traces?

o 12c) How to enable tracing on HANA with hdbodbc_cons Command

o 12e) Collecting ODBC Traces & hdbsqldc_cons

o 12f) How To Collect - HANA - NetWeaver SQL Communication Trace


o 12g) How To Enable SQL Trace on SAP Hana Studio

o 12h) Collecting Diagnosis Information For SAP HANA

o 12i) SQL statement collection for SAP HANA

o 13) Testing the ODBC Installation

o 14b) hdbupd & hdbsetup

o 14c) HANA Lifecycle Manager - How to Lauch, Start and Install

o 15) ODBO Driver

o 16) Collecting System Information for Support

o 17) HDBSQL

o 18) To run sql queries using hdbsql:

o 19) Performing a Database Backup Using SQL Commands

o 19b) Checking Backups Using hdbbackupcheck

o 20) Setting Up a Data Backup Using Cron

o 21) Canceling a Running Data Backup

o 22) Canceling Other Running Data Backups

o 23) To check the state of the data backup, use the following command

o 24) hdblogdiag & Recovery

o 25) Restore when log backups are missing

o 26) hdbbackupdiag

o 27) How to Use the hdbcons Utility

o 28) Sizing HANA Basic Calculations

o 28a) Sizing SAP BI/BW on HANA

o 28b) Sizing the SAP Business Suite on HANA

o 29) HANA SSO with Kerberos and Active Directory

o 29a) Troubleshooting Issues when implementing SAML SSO in HANA XS


Engine
o 29b) Configure ABAP to HANA SSL Connection
o 30) Row Store Reorganisation

o 31) How to generate a runtime dump on SAP HANA saphostagent/sapdbctrl for


HANA
o 31a) How to generate a runtime dump on SAP HANA

o 32) DBSL hints for SAP HANA

o 33) hdbrename

o 34) hdbnsutil

o 35) hdbsrvutil - Example Usage

o 36) Show HANA Processes HDB proc & HDB info

o 37) HANA System Management SQL Administration Statements Reference

o 38) HANA SQL Reference Manual

o 39) SAP HANA SQLScript Reference

o 40) SAP HANA Technical Operations Manual

o 40a) SAP HANA Update and Configuration Guide

o 40b) IBM SAP HANA Appliance Operations Guide

o 41) SAP HANA Administration Guide

o 41b) SAP Hana Master Guide

o 42) SAP HANA Administration tables/views

o 43) The time stamps for the "Start Time" in Data Provisioning of HANA Studio
are UTC time
o 44) How to Check SUSE Linux Distribution Version and Patch Level

o 44b) How to View the SAP HANA Edition & Revision

o 45) Remove the SAP HANA Extended Application Service (SAP HANA
scriptserver) from the topology of your SAP HANA database
o 46) HANA Alerts related to File System Utilization

o 47) Log Volume is Full and the Database Doesn't Accept any new Requests

o 47b) Move HANA Data and Log Files to a different Mount Point
o 48) Using the REGI Tool to Deploy Content for Delivery Units for example
Translated Texts
o 49) Homogenous System Copy on SAP HANA

o 50) HANA License Key Request and Installation

o 50a) License key/installation of SAP HANA platform edition

o 50b) HANA Architecture - Instances Based on Application Server Java Released


For Use With HANA Database 1.0
o 51) HANA Architecture - Multiple HANA db's Databases on one HANA
Appliance
o 52) HANA Architecture - HANA MCOD Multiple Applications or Business Suite
Scenarios & Components Running On One HANA System
o 53) HANA Architecture - How To Copy a Multiple Host SAP HANA Databse
onto Single Host HANA System
o 54) HANA Architecture - SAP Business Suite System Powered by SAP HANA -
Multi Node (Scale Out) Support
o 54a) HANA Architecture - Hardware Pre-requisites for Business Suite on SAP
HANA Scale Out
o 54b) HANA Architecture - Guidance from IBM and SAP for Highend Customer
Landscapes based on SAP HANA
o 54c) HANA Architecture - SAP HANA Landscape Redistribution with SP6

o 54d) HANA Architecture - How to connect BI applications to SAP HANA when


there are multiple HANA servers (cluster)
o 55) How to Overcome the HANA Hardware Check or Hardware not recognised
errors during Installation
o 56) SAP HANA and the SLD System Landscape Directory

o 57) SLD Configuration for Multiple SAP HANA databases

o 58) How To Handle Common SAP HANA Alerts

o 58b) How to Handle Empty Column Store Tables have large size on disk

o 58c) How to Handle High Memory Consumption and constantly growing on


Pool/RowEngine/QueryExecution
o 58d) How to check Master Job Status
o 58e) How to check Load Job Status

o 58f) How to test HANA connector

o 58g) HLM: Updating SAP HANA Troubleshooting

o 58i) How to Handle High Memory Consumption due to Translation Tables

o 59) Solution Manager Diagnostics Agent Installation On SAP HANA Systems

o 60) Optimal Settings for Suse Linux SLES 11 SP2 and SLES 11 for SAP SP2

o 60a) Hardware Configuration Guide and Software Installation Guide for SUSE
Linux Enterprise Server with SAP HANA and SAP Business One
o 60b) RedHat Linux Support For SAP HANA Since SPS08

o 60c) RedHat Linux Installation and Upgrade

o 60d) RedHat Linux Recommended Operating System OS Settings for SAP


HANA on RHEL 6.5
o 60e) SAP HANA Guidelines for Red Hat Enterprise Linux (RHEL) Operating
System
o 61) Forward Port 80 to XS Engine (8080)

o 62) XS Engine Debug / Developer Mode

o 63) How To Check SLT Trigger Status

o 64) Network Ports Used By SAP HANA Database For Internal And External
Communication
o 65) Troubleshooting Guide For SAP Business One 9.0 Running On SAP HANA

o 66) Support Processes For Backup Software And SAP HANA

o 66b) HP Reference Architecture for SAP HANA Backup and Recovery

o 67) SAP HANA Internet of Things IoT Edition

o 68) SAP HANA FAQ Frequently Asked Questions

o 69) The Configuration and Usage of SAP Hana Web-based IDE

o 70) Prepare a SAP Hana System for SAP Lumira installation

o 71) SAP Hana on AWS Amazon Web Services

o 72) SAP Hana on VMWare vSphere


o 72b) SAP HANA Support for VMWare Virtualized Environments

o 73) SAP Hana Rules Framework 1.0

Appendix - Useful Documentation

SAP HANA Commands and Command Line


Tools and SQL Reference Examples for
NetWeaver Basis Administrators

1) Stop HANA

1. ./HDB stop
2. /usr/sap/hostctrl/exe/sapcontrol -nr &-function StopSystem HDB

2a) Start HANA

1. ./HDB start
2. /usr/sap/hostctrl/exe/sapcontrol -nr &-function StartSystem HDB

2b) Note about SAPCONTROL location on the HANA


Developer Edition

[ thanks to Martin English for providing this information ]


On the Developer Editions, sapcontrol lives in the instance EXE folder; i.e.

1. cdexe
2. ./sapcontrol -nr &-function &

On the current (revision 56) developer edition,

cdexe takes you to

1. /usr/sap/HDB/SYS/exe/hdb

which is linked to

1. /usr/sap/HDB/exe/linuxx86_64/hdb
2. imdbhdb:~ # su - hdbadm
3. imdbhdb:/usr/sap/HDB/HDB00> cdexe
4. imdbhdb:/usr/sap/HDB/SYS/exe/hdb> pwd
5. /usr/sap/HDB/SYS/exe/hdb
6. imdbhdb:/usr/sap/HDB/SYS/exe/hdb> cd ..
7. imdbhdb:/usr/sap/HDB/SYS/exe> ls -la
8. total 8 drwxr-x- 2 hdbadm sapsys 4096 2013-01-25 14:17 .
9. drwxr-x- 3 hdbadm sapsys 4096 2013-01-25 14:17 ..
10. lrwxrwxrwx 1 hdbadm sapsys 25 2013-01-25 14:17 hdb -> ../../exe/linuxx86_64/hdb
11. imdbhdb:/usr/sap/HDB/SYS/exe>

2c) SAP HANA Database: Starting the Script Server


To improve the performance of certain data and performance intensive database accesses

of an application the SAP HANA database provides several techniques to process such

accesses within the database. By doing so application logic is processed within the SAP
HANA

database procedures. The use of database procedures reduces the data volume to be
transferred

between the database and application server. In addition, compared to code running on the

application server level, a database procedure can more efficiently access data stored in the
database.

The disadvantage of database procedures, in general, is that they might somehow affect the
stability

of the database itself. In order to minimize the risk of destabilizing the SAP HANA database,

procedures can be performed on the script server. The script server is one of the SAP HANA

database servers, which has its own memory management and is therefore separated from the

main server. Its usage is optional. The script server does not store application data.

Full details of how to start and stop the Hana Script Server including setting automatic start of
the

Hana Script Server are given in the OSS Note:

1650957 - SAP HANA Database: Starting the Script Server

3) Query the current status of all hosts


1. /usr/sap/hostctrl/exe/sapcontrol -nr &-function GetSystemInstanceList

4) Start the name server:

1. /usr/sap/hdbenv.sh
2. /usr/sap/exe/hdbnameserver

5) Start an index server in a new console:

1. /usr/sap/hdbenv.sh
2. /usr/sap/exe/hdbindexserver -console

6) hdbuserstore

Create a user key in the user store and store the password under this user key:

1. hdbuserstore SET & & & &

For example:

1. hdbuserstore SET millerj localhost:30115 JohnMiller 2wsx$RF

List all available user keys (passwords are not displayed):

1. hdbuserstore LIST &

For example:
1. hdbuserstore LIST millerj

The following information is displayed

1. :KEY: millerjENV: localhost:30115USER: JohnMiller?

Call hdbsql with the user key:

1. hdbsql -U &

For example:

1. hdbsql -U millerj

hdbuserstore Example of User Creation while solving saphostagent/sapdbctrl for HANA issue

Ref: SAP Note 1625203 - saphostagent/sapdbctrl for newdb

The saphostagent functions for querying the database status and for
starting and stopping the database are now also available for the HANA.

If you want to use the connect without a password, the following


prerequisites must be met:

a. To query information from the database, you require a database user with
the monitoring role.
You can create a database user with the HANA studio. Connect as the SYSTEM
user and execute the following SQL commands:

CREATE USER SAPDBCTRL PASSWORD x&x

GRANT MONITORING TO SAPDBCTRL

Then logon to the HANA studio under the username &and execute
the following command:

ALTER USER SAPDBCTRL PASSWORD &

b. As the OS user &adm, you must provide the user key &SAPDBCTRL in
hdbuserstore on the database server. You can check the existence of the
user key with the following command:

hdbuserstore LIST &SAPDBCTRL

If the user key does not exist, you can create it as follows:

hdbuserstore SET &SAPDBCTRL &:&SAPDBCTRL &

The tool hdbuserstore is installed under the following paths:

/usr/sap/hdbclient
or

/usr/sap/&hdbclient

c. To check whether the sapdbctrl queries without passwords work, execute


the following command as OS user &:

/usr/sap/hostctrl/exe/saphostctrl -function GetDatabaseStatus -dbname

&-dbtype hdb

If sapdbctrl responds with the following error text:

ERROR: Database user authentication failed: SQLDriverConnect: Connect with


userkey failed! then you must check the connect data in hdbuserstore again.

7) Install Permanent License Using SQL

Execute the following SQL command:

SET SYSTEM LICENSE &

You can delete all installed license keys by executing the following SQL command
UNSET SYSTEM LICENSE ALL

To Install the license key

SET SYSTEM LICENSE LicenseFile

8) The monitoring view M_VOLUME_IO_STATISTICS

[ +this Knowledge Base Article contains a fantastic overview including screenshots of the
actions in

HANA Studio and on the command line with SQL for checking all kinds of memory
consumption:

OSS 1840954 - Alerts related to HANA memory consumption +]

Show the Total Read Size and the the Total Write Size for each Volume since the Service

in question was last started.

The SQL command

ALTER SYSTEM RESET MONITORING VIEW


SYS.M_VOLUME_TO_STATISTICS_RESET

initialises the statistics shown by this view


The monitoring view

M_VOLUME_IO_STATISTICS_RESET

now shows the statistics since the reset time

You can use the M_SERVICE_MEMORY view to explore the amount of SAP HANA
Used Memory as follows:

Total Memory Used

SELECT round(sum(TOTAL_MEMORY_USED_SIZE/1024/1024)) AS "Total Used MB"

FROM SYS.M_SERVICE_MEMORY;

Code and Stack Size

SELECT round(sum(CODE_SIZESTACK_SIZE)/1024/1024) AS "Codestack MB"

FROM SYS.M_SERVICE_MEMORY;

Total Memory Consumption of All Columnar Tables


SELECT round(sum(MEMORY_SIZE_IN_TOTAL)/1024/1024) AS "Column Tables MB"

FROM M_CS_TABLES;

Total Memory Consumption of All Row Tables

SELECT round(sum(USED_FIXED_PART_SIZE +

USED_VARIABLE_PART_SIZE)/1024/1024) AS "Row Tables MB"

FROM M_RS_TABLES;

Total Memory Consumption of All Columnar Tables by Schema

SELECT SCHEMA_NAME AS "Schema",

round(sum(MEMORY_SIZE_IN_TOTAL) /1024/1024) AS "MB"

FROM

M_CS_TABLES

GROUP BY SCHEMA_NAME

ORDER BY "MB" DESC;

List All Columnar Tables of Schema 'SYSTEM'

SELECT TABLE_NAME AS "Table",

round(MEMORY_SIZE_IN_TOTAL/1024/1024, 2) as "MB"
FROM M_CS_TABLES

WHERE SCHEMA_NAME = 'SYSTEM'

ORDER BY "MB" DESC;

Available Physical Memory

select round((USED_PHYSICAL_MEMORY + FREE_PHYSICAL_MEMORY) /


1024/1024/1024, 2) as "Physical Memory GB"

from PUBLIC.M_HOST_RESOURCE_UTILIZATION;

Execute the Linux command cat /proc/meminfo | grep MemTotal

Free Physical Memory

Execute the SQL query:

select round(FREE_PHYSICAL_MEMORY/1024/1024/1024, 2) as "Free Physical GB"

from PUBLIC.M_HOST_RESOURCE_UTILIZATION;

Execute the Linux command:

awk 'BEGIN {sum = 0};

/^(MemFree|Buffers|Cached):/ {sum = sum + $2};


END {print sum}' /proc/meminfo

8b) Handy SQL Statements for Monitoring SAP HANA

( This content is published and shared with very kind thanks to Vinod Nair originally
published in this blog)

Monitoring Memory Usage

Used Memory

The total amount of memory in use by SAP HANA is referred to as its Used Memory.

This is the most precise indicator of the amount of memory that the SAP HANA database

uses at any time

When used: To understand the current used memory in HANA when HANA alerts shows usage greater

than licensed memory. Understanding memory usage by components will help in troubleshooting and perform
necessary memory clean up actions.

Display the current size of the Used Memory; you can use the following SQL statement

SELECT ROUND(SUM(TOTAL_MEMORY_USED_SIZE/1024/1024/1024), 2) AS "Used


Memory GB"

FROM SYS.M_SERVICE_MEMORY;

Display current used memory for Column Store Tables


SELECT ROUND(SUM(MEMORY_SIZE_IN_TOTAL)/1024/1024) AS "Column Tables MB
Used"

FROM M_CS_TABLES;

Display current memory used breakdown by Schema

SELECT SCHEMA_NAME AS "Schema",

ROUND(SUM(MEMORY_SIZE_IN_TOTAL) /1024/1024) AS "MB Used"

FROM M_CS_TABLES

GROUP BY SCHEMA_NAME

ORDER BY "MB Used" DESC;

Display memory usage by components

SELECT host, component,

sum(used_memory_size) used_mem_size

FROM PUBLIC.M_SERVICE_COMPONENT_MEMORY

group by host, component

ORDER BY sum(used_memory_size) desc;

Database resident

Resident memory is the physical memory actually in operational use by a process.


SELECT SUM(PHYSICAL_MEMORY_SIZE/1024/1024/1024) "Database Resident"

FROM M_SERVICE_MEMORY;

Find the total resident on each node and physical memory size

SELECT HOST,

ROUND(USED_PHYSICAL_MEMORY/1024/1024/1024, 2) AS "Resident GB",

ROUND((USED_PHYSICAL_MEMORY + FREE_PHYSICAL_MEMORY)/1024/1024/1024,
2) AS "Physical Memory GB"

FROM PUBLIC.M_HOST_RESOURCE_UTILIZATION;

Find total Resident

SELECT T1.HOST,

(T1.USED_PHYSICAL_MEMORY +
T2.SHARED_MEMORY_ALLOCATED_SIZE)/1024/1024/1024 "Total Resident"

FROM M_HOST_RESOURCE_UTILIZATION AS T1

JOIN

(SELECT M_SERVICE_MEMORY.HOST,

SUM(M_SERVICE_MEMORY.SHARED_MEMORY_ALLOCATED_SIZE)

AS SHARED_MEMORY_ALLOCATED_SIZE

FROM SYS.M_SERVICE_MEMORY

GROUP BY M_SERVICE_MEMORY.HOST) AS T2
ON T2.HOST = T1.HOST;

Maximum peak used memory

SAP HANA database tracks the highest-ever value of Used Memory reached since the database
was started. In fact, this is probably the single most significant memory indicator that you should monitor as an
overall indicator of the total amount of memory required to operate the SAP HANA database
over a long period of time.

SELECT

ROUND(SUM("M")/1024/1024/1024, 2) as "Max Peak Used Memory GB"

FROM

(SELECT

SUM(CODE_SIZE+SHARED_MEMORY_ALLOCATED_SIZE) AS "M"

FROM SYS.M_SERVICE_MEMORY

UNION

SELECT

SUM(INCLUSIVE_PEAK_ALLOCATION_SIZE) AS "M"

FROM M_HEAP_MEMORY

WHERE DEPTH = 0);

Peak used memory

SAP HANA maintains a special Used Memory indicator, called the Peak Used Memory.
This is useful to keep track of the peak value (the maximum, or high water mark) of Used Memory over time.
Here is how to read the Peak Used Memory:

SELECT ROUND(SUM("M")/1024/1024/1024, 2) as "Peak Used Memory GB"

FROM

(SELECT SUM(CODE_SIZE+SHARED_MEMORY_ALLOCATED_SIZE) AS "M"

FROM SYS.M_SERVICE_MEMORY

UNION

SELECT SUM(INCLUSIVE_PEAK_ALLOCATION_SIZE) AS "M"

FROM M_HEAP_MEMORY_RESET

WHERE DEPTH = 0);

Memory usage in server

free g | awk '/Mem:/ {print "Physical Memory: " $2 " GB."} /cache:/ {print "Resident: " $3 "
GB."}'

Memory Cleanup:

Forcing Garbage collector from Server

Login to HANA server -> open HDBAdmin.sh and navigate to Services -> Console

Select the node where the garbage collection to be triggered. Execute the below command

mm gc f
The garbage collector will be triggered, and free up the memory. This will not unload the tables.

Resetting Monitoring Views

When Used:

when testing a report or need to monitor the peak of memory usage by a SQL, monitor IO, memory objects
throughput and statistics about garbage collection jobs.

The below will allow to reset these statistics.

Memory allocator statistics

M_HEAP_MEMORY view contains information about memory consumption of various components in the system.

ALTER SYSTEM RESET MONITORING VIEW SYS.M_HEAP_MEMORY_RESET;

M_CONTEXT_MEMORY view contains information about memory consumption grouped by


connections and/or users.

ALTER SYSTEM RESET MONITORING VIEW SYS.M_CONTEXT_MEMORY_RESET;

File access statistics

M_VOLUME_IO_STATISTICS_RESET view shows information about basic I/O operations on


I/O subsystems (that is, paths).

ALTER SYSTEM RESET MONITORING VIEW


SYS.M_VOLUME_IO_STATISTICS_RESET;

Memory object statistics

M_MEMORY_OBJECTS_RESET view provides information about the number and size of resources currently in
the resource container and about the throughput of the resource container.
ALTER SYSTEM RESET MONITORING VIEW SYS.M_MEMORY_OBJECTS_RESET;

Garbage collection/history manager statistics

M_GARBAGE_COLLECTION_STATISTICS_RESET view shows various statistics about garbage collection jobs.

ALTER SYSTEM RESET MONITORING VIEW


SYS.M_GARBAGE_COLLECTION_STATISTICS_RESET;

Schema/Tables Monitoring

Find Tables loaded into memory & delta records

When used:

To see what tables are loaded to memory at any given time; If a report is running slow see if the table is loaded to
memory though the tables goes on lazy loading it is a best practice to have the table loaded to memory.

SELECTLOADED,

TABLE_NAME,

RECORD_COUNT,

RAW_RECORD_COUNT_IN_DELTA ,

MEMORY_SIZE_IN_TOTAL,

MEMORY_SIZE_IN_MAIN,

MEMORY_SIZE_IN_DELTA

from M_CS_TABLES

where schema_name = 'SCHEMA'

order by RAW_RECORD_COUNT_IN_DELTA Desc


To drill down further and see what columns is not loaded /loaded please use below

Select top 100 LOADED,

HOST,

TABLE_NAME,

COLUMN_NAME,

MEMORY_SIZE_IN_TOTAL

from PUBLIC.M_CS_COLUMNS

WHERE SCHEMA_NAME = 'SCHEMA'

AND LOADED <> 'TRUE'

MERGE DELTA

See if there is delta to be merged. RAW_RECORD_COUNT_IN_DELTA will provide the delta


count.

SELECT LOADED,

TABLE_NAME,

RECORD_COUNT,

RAW_RECORD_COUNT_IN_DELTA ,

MEMORY_SIZE_IN_TOTAL,

MEMORY_SIZE_IN_MAIN,

MEMORY_SIZE_IN_DELTA

from M_CS_TABLES

where schema_name = 'SCHEMA'

order by RAW_RECORD_COUNT_IN_DELTA Desc


Forcing delta Merge

UPDATE SCHEMA.COLUMN_STATISTICS MERGE DELTA INDEX;

Smart merge

UPDATE <table_name> MERGE DELTA INDEX WITH PARAMETERS


('SMART_MERGE'='ON')

Find Auto Merge On

select TABLE_NAME, AUTO_MERGE_ON from SYS.TABLES

Find Compression

When used:

To see the uncompressed size and the compression ratio in HANA for the loaded tables.

SELECT top 100 "SCHEMA_NAME",

sum("DISTINCT_COUNT") RECORD_COUNT,

sum("MEMORY_SIZE_IN_TOTAL") COMPRESSED_SIZE,

sum("UNCOMPRESSED_SIZE") UNCOMPRESSED_SIZE,
(sum("UNCOMPRESSED_SIZE")/sum("MEMORY_SIZE_IN_TOTAL")) as
COMPRESSION_RATIO,

100*(sum("UNCOMPRESSED_SIZE")/sum("MEMORY_SIZE_IN_TOTAL")) as
COMPRESSION_PERCENTAGE

FROM "SYS"."M_CS_ALL_COLUMNS"

GROUP BY "SCHEMA_NAME"

having sum("UNCOMPRESSED_SIZE") >0

ORDER BY UNCOMPRESSED_SIZE DESC ;

To go on a detail level and identify what type of compression is applied on each column and the
ratio please use below

select

COLUMN_NAME,

LOADED,

COMPRESSION_TYPE,

MEMORY_SIZE_IN_TOTAL,

UNCOMPRESSED_SIZE,

COMPRESSION_RATIO_IN_PERCENTAGE as COMPRESSION_FACTOR

from M_CS_COLUMNS

where schema_name = 'SCHEMA'

Forcing compression on a table


update SCHEMA.COLUMN_STATISTICS with parameters ('OPTIMIZE_COMPRESSION' =
'TRUE');

Find which node is active

SELECT

HOST,

PORT,

CONNECTION_ID

FROM M_CONNECTIONS

WHERE OWN = 'TRUE';

Expensive Statements

Ensure the expensive statement trace is ON

When used:

To troubleshoot a report failure or a sql failure and understand why it failed.

Also to monitor the expensive sqls executed in HANA. Identify the ways for performance
optimization.

Find expensive statements for errors

SELECT
"HOST",

"PORT",

"CONNECTION_ID",

"TRANSACTION_ID",

"STATEMENT_ID",

"DB_USER",

"APP_USER",

"START_TIME",

"DURATION_MICROSEC",

"OBJECT_NAME",

"OPERATION",

"RECORDS",

"STATEMENT_STRING",

"PARAMETERS",

"ERROR_CODE",

"ERROR_TEXT",

"LOCK_WAIT_COUNT",

"LOCK_WAIT_DURATION",

"ALLOC_MEM_SIZE_ROWSTORE",

"ALLOC_MEM_SIZE_COLSTORE",

"MEMORY_SIZE",

"REUSED_MEMORY_SIZE",

"CPU_TIME"
FROM "PUBLIC"."M_EXPENSIVE_STATEMENTS"

WHERE ERROR_CODE > 0

ORDER BY START_TIME DESC;

Finding expensive statements executed by User

SELECT

"HOST",

"PORT",

"CONNECTION_ID",

"TRANSACTION_ID",

"STATEMENT_ID",

"DB_USER",

"APP_USER",

"START_TIME",
"DURATION_MICROSEC",

"OBJECT_NAME",

"OPERATION",

"RECORDS",

"STATEMENT_STRING",

"PARAMETERS",

"ERROR_CODE",

"ERROR_TEXT",

"LOCK_WAIT_COUNT",

"LOCK_WAIT_DURATION",

"ALLOC_MEM_SIZE_ROWSTORE",

"ALLOC_MEM_SIZE_COLSTORE",
"MEMORY_SIZE",

"REUSED_MEMORY_SIZE",

"CPU_TIME"

FROM "PUBLIC"."M_EXPENSIVE_STATEMENTS"

WHERE STATEMENT_STRING LIKE '%NAIRV%'

CONNECTIONS

Find running connections

SELECT "HOST", "PORT", "CONNECTION_ID", "TRANSACTION_ID", "START_TIME",


"IDLE_TIME", "CONNECTION_STATUS", "CLIENT_HOST", "CLIENT_IP",
"CLIENT_PID", "USER_NAME", "CONNECTION_TYPE", "OWN",
"IS_HISTORY_SAVED", "MEMORY_SIZE_PER_CONNECTION", "AUTO_COMMIT",
"LAST_ACTION", "CURRENT_STATEMENT_ID", "CURRENT_OPERATOR_NAME",
"FETCHED_RECORD_COUNT", "AFFECTED_RECORD_COUNT",
"SENT_MESSAGE_SIZE", "SENT_MESSAGE_COUNT", "RECEIVED_MESSAGE_SIZE",
"RECEIVED_MESSAGE_COUNT", "CREATOR_THREAD_ID", "CREATED_BY",
"IS_ENCRYPTED", "END_TIME", "PARENT_CONNECTION_ID",
"CLIENT_DISTRIBUTION_MODE", "LOGICAL_CONNECTION_ID",
"CURRENT_SCHEMA_NAME", "CURRENT_THREAD_ID"

FROM "PUBLIC"."M_CONNECTIONS"
WHERE CONNECTION_STATUS = 'RUNNING'

ORDER BY "START_TIME" DESC

Resetting Connections

Find the connection

SELECT CONNECTION_ID, IDLE_TIME

FROM M_CONNECTIONS

WHERE CONNECTION_STATUS = 'IDLE' AND CONNECTION_TYPE = 'Remote'

ORDER BY IDLE_TIME DESC

Disconnect Session

ALTER SYSTEM DISCONNECT SESSION '203927';

ALTER SYSTEM CANCEL SESSION '237048';


Find owners of objects

SELECT * FROM "PUBLIC"."OWNERSHIP" WHERE SCHEMA='SCHEMA'

Find Granted Privileges for Users

SELECT * FROM PUBLIC.GRANTED_PRIVILEGES

WHERE GRANTEE_TYPE = 'USER' AND GRANTOR = 'NAIRV'

PASSWORD Policy

Disable password policy on a user, this is used when you dont want the policy to be applied on a
user. This will set to lifetime.

ALTER USER USER DISABLE PASSWORD LIFETIME

Audit Policy

Configure

Enable global auditing


alter system alter configuration ('global.ini',

'SYSTEM')

set ('auditingconfiguration',

'global_auditing_state' ) = 'true' with reconfigure;

Set the auditing file type

alter system alter configuration ('global.ini','SYSTEM')

set ('auditingconfiguration'

,'default_audit_trail_type' ) = 'CSVTEXTFILE'

with reconfigure;

aduit target path

alter system alter configuration ('global.ini','SYSTEM')

set ('auditingconfiguration'
,'default_audit_trail_path' ) = 'path'

with reconfigure;

Find the policy implemented

Select * from public.audit_policies;

To enable/ disable global auditing

-- change the configuration for setting the audit

alter system alter configuration ('global.ini',

'SYSTEM')

set ('auditingconfiguration',

'global_auditing_state' ) = 'true' with reconfigure;

Add audit policy


CREATE AUDIT POLICY Audit_EDW_DM_DROPTABLE_H00 AUDITING SUCCESSFUL
DROP TABLE LEVEL CRITICAL;

Policy enable/disable

ALTER AUDIT POLICY Audit_EDW_DM_DROPTABLE_H00 ENABLE;

8c) SAP HANA Daily Basis Operational Monitoring


Template

With thanks to Vinay Singh, the original author of this blog for allowing it to be shared in the
HANA Reference.

1. Check first if all the services are running fine :-

2.Run Unique checker (you can schedule it in you crontab also ,so as to get updates
automatically in your mail box.
This program helps you to find duplicate entries in tables . Reach out to SAP to get the program
or refer to https://help.sap.com/HANA/SAP_HANA_Administration_Guide_en.pdf if you
do not have it.

3.Check for CRASH dumps if Any :-

check it on admin console -->Performance -->to see the dumps (OOM dumps as well) give the
serach text as "dump"

if you find any crash dump -->analyze if its because of any query -->notify the query owner to
optimize it in case if its causing dumps.

4. check SLT - if any table has error status

No error so all is good.

5. Check LTR as well :


Also check the traditional T-codes ST22 and SM21 , it should not have any critical dumps .

6. clean up the garbage memory:-

frequency could be everyday or once in 3 days you can decide after seeing the pattern :

execute mm gc -f

It triggers the garbage collector and without unloading the tables it free up memory .

Remark - to execute mm gc -f you need to log in HANA server --> HDBAdmin.sh-->Services--


>console -->select the node --> execute the command.

7. Validate Backup - Successful backup taken on **/**/** . Next Back Up on **/**/**.

Analyze if the backup failed and take action accordingly .


Hope this template helps you to keep you HANA environment healthy and running . Happy
Monitoring .

8d) Technical Consistency Checks For SAP HANA Database

There is a very useful SAP Note containing Technical Consistency Checks for SAP HANA
Database:

1977584 - Technical Consistency Checks for SAP HANA Databases

8e) FAQ: DB Users for the DBA Cockpit for SAP HANA

SAP have published a wonderful SAP Note explaining all about how the DBA Cockpit works
with SAP HANA,

how to set it up, configure the integration, setup the Users with the correct authorisations etc.

The SAP Note is here:

1640741 - FAQ: "DB users for the DBA Cockpit for SAP HANA"

8f) How to Monitor SLT (Local Monitors)

Replication Server Monitoring - Transaction LTRO gives all details of all configuration at one
glance.
The full detailed guidance including screenshots is delivered in the very useful Knowledge
Base Article:

2008039 - How to Monitor SLT (Local Monitors)

8g) SAP HANA: Analysis of Out-of-memory (OOM) Dumps

In the following OSS Note you can find the usual steps that are required to analyze an OOM
dump file.

The OOM dump file contains information about allocated memory and limitations that can be
evaluated

to understand the root causes of high memory consumption and OOM dumps.

1984422 - SAP HANA: Analysis of Out-of-memory (OOM) Dumps

8i) How To Perform a System Check for SAP Landscape


Transformation

The following OSS Note based How-to-Procedure guides you through steps required to
monitor replication process,

to check replication configuration, to assess trigger status of different tables and to have a
look at the statistics of

the replication.
1993756 - System Check for SAP Landscape Transformation

8j) Health Checker for the IBM SAP HANA appliance

The IBM Systems Solution for SAP HANA appliance Health Checker allows the execution of
health checks for

administrators and system operators based on the Linux Health Checker framework (lnxhc).

Checkout the following OSS Note for all details and especially the zip file attached to the
OSS Note:

1898103 - Health Checker for the IBM SAP HANA appliance

9) Activating Emergency User with hdbnameserver &


hdbindexserver

If the SYSTEM users password is lost, you can use the SAP system user
to reset the password.

To recover an SAP HANA instance where the SYSTEM users password is lost,

you need to have &adm access to the instance where SAP HANA's master

index server is running.

Open a command line interface, and log on to the server on which


the instance of the SAP HANA master index server is running.
Shut down the instance.

Start the name server:

/usr/sap/HDB/hdbenv.sh

/usr/sap//HDB/exe/hdbnameserver

Start an index server in a new console:

/usr/sap/hdbenv.sh

/usr/sap/exe/hdbindexserver -console

You will see the output of a starting index server.

When the service has started, you have a console to the SAP HANA

instance where you are logged on as a SYSTEM user.

Reset the SYSTEM user's password and store the new password in a
secure location with the following SQL command:

ALTER USER SYSTEM password &


Note: Because you are logged on as a SYSTEM user in this console,
you do not have to change this password after the next logon, regardless \

of what your password setting policy.

9b) Steps To Reset HANA System User Password

Ref this blog from Jake Echanove which also contains the screenshots.

UPDATE: Section 7.3 in the admin guide for SP6 discusses how to do this:
[http://help.sap.com/HANA/SAP_HANA_Administration_Guide_en.pdf ]

Reset HANA SYSTEM user password

SSH to the HANA system and login as root

SU to the &adm user

? su anaadm

Identify running HANA services

? ps aux | grep anaadm


Stop the HANA server

? ./HDB stop

Verify services are no longer running

? ps aux | grep anaadm

Start the name server service this may not get back to a prompt

? hdbnameserver &;

Start index server. Run command even though may not be at a prompt.

? hdbindexserver console

Reset password for user SYSTEM

? ALTER USER SYSTEM PASSWORD Password1234

Stop hdbindexserver service by hitting Ctrl-C


Kill hdbnameserver service

killall -9 hdbnameserver

Verify all HDB services are stopped

? ps aux | grep anaadm

Start HANA

./HDB start

Verify HANA services are running

ps aux | grep anaadm

Update password in HANA studio

And you're done :-)

9b) How To Handle Forgotten System Password

see SAP Note - 1925267 - HANA Forgot SYSTEM password


9d) Reactivating the SYSTEM user when no User with
USER ADMIN is Available

with thanks to Richard Bremer for allowing this to be shared from his blog

The story

The question was this: "SAP recommends that the SYSTEM user be deactivated [personal note:
yes, absolutely and beyond any doubt - SYSTEM should not be used in regular database
operations]. What options do you have if you need to reactivate the SYSTEM user, but for
whatever reason all other database users with privilege USER ADMIN are unavailable?"

Now the question first sounds pretty hypothetical - there is no good reason why all your regular
administrative users which have the USER ADMIN privilege should be unavailable. Still, you
can construct such situations. I have recently managed to get all regular users deactivated by
simply deactivating the "force_first_password_change" setting, but leaving the initial password
lifetime at a finite value, and also not disabling the password life time of users. All users that I
had created in this situation were deactivated after the initial password life time had passed.

So let us assume you find yourself in this situation:

SYSTEM user is locked


You have no other database users available with the USER ADMIN privilege

There are at least two ways to resolve this situation. The first one requires a database restart but
does not have any further prerequisites. The second one does not need the restart, but requires
that you still have some database users available that have development capabilities.

Procedure One - Requiring Database Restart


I'm sure you are aware of the emergency procedure for resetting the SYSTEM user's password
which is described in section 3.1.4 of the SAP HANA administration guide. This procedure
allows you to start the database in so-called "console mode", which gives you a SQL console for
the SYSTEM user, without requiring the SYSTEM user's password. The million-dollar-question
is, of course, whether you can use this procedure also when user SYSTEM is deactivated. The
good news is: yes you can!

So here's our procedure:

1. Start the database in console mode as described in the database administration guide
2. User SYSTEM is not allowed to unlock itself. You therefore have the following options:
o If there are other database users with privilege USER ADMIN, but these users are
locked/deactivated, you can activate/unlock one of them. The procedure to
unlock/activate depends on the reason for the user being deactivated. It's either a
password reset, or an "alter user <name> activate user now"
o Alternatively, you may create a dummy user and grant USER ADMIN to this
user:CREATE USER emergency_user_admin PASSWORD WhySoComplicated?;GRANT
USER ADMIN TO emergency_user_admin;Shut down the system that you have started
in emergency mode:
o Stop the indexserver process by entering "quit" in the SQL console

o Stop the nameserver and compileserver that you have started by hitting Ctrl+C in
their respective linux terminals.
3. Now start the instance again in the regular way:
"/usr/sap/<SID>/HDB<instance>/exe/sapcontrol -nr <instance> -function StartSystem
HDB"
4. Once the system is started, log on with either the unlocked regular user administrator, or
with the emergency_user_admin, depending on what you did in step 2.
5. Activate the SYSTEM user: "ALTER USER SYSTEM ACTIVATE USER NOW"
6. Verify that the SYSTEM user is in fact working again.
7. If you created an emergency user admin: delete that emergency user, get a regular user
administrator working again.
8. With that regular user admin, deactivate the SYSTEM user, and activate any other
locked/deactivated user admin.

Procedure Two - Requiring Development Capabilities


The second procedure does not require a system restart. I'm sure that in production systems you
will appreciate this.

It does, however, require that you can create and activate a SQLscript procedure in the SAP
HANA repository - either in the modeler or using the developer workbench, whatever you prefer.
And you must be able to execute that procedure.

If you are having this trouble in your production system, and if you have deactivated SYSTEM,
I'm pretty certain your HANA is als "read only" - i.e. you do not have development accounts in
this database. So the requirements are that you need to be able to import (including activation) a
stored procedure into your system, and that at least one active user has the execute privilege on
the database schema in which the runtime object of the procedure will reside (e.g. execute on
schema _SYS_BIC).

If you do have development users in the troubled system, then you are probably good to go, as
any database user with minimal development privileges can create and activate stored
procedures, and in most cases they will also have permission to test, i.e. execute, these activated
procedures.

One more prerequisite is that the system parameter sqlscript_mode must be set to UNSECURE -
the reason is that we need to use dynamic SQL in the procedure, which needs a read/write
procedure. Read/write procedures are only possible if SQLSCRIPT_MODE = UNSECURE.

Here's what you have to do:

1. Create a stored procedure in the repository as read/write procedure, in definer mode.


In the body of the procedure, we will activate the SYSTEM user. If you create the
procedure using the SAP HANA modeler, the following body is sufficient:
/********* Begin
Procedure Script ************/
v_sql nvarchar(128) := 'alter user SYSTEM activate user now';
BEGIN
EXEC v_sql;
END;
/********* End Procedure Script ************/
You can of course activate any other locked database user which might have the USER
ADMIN privilege - just change the content of v_sql accordingly.
2. If the procedure has not been created in the troubled system, transport it. If you transport
using the HALM application or CTS+, activation is performed implicitly. If the procedure
has been created locally in the right system, you need to activate it.
3. Call the procedure. For an activated procedure which has been created with the modeler
in package system-local.public.developer and is named "ACTIVATE_SYSTEM_USER",
the call is:
call _SYS_BIC."system-local.public.developer/ACTIVATE_SYSTEM_USER" ();

4. Finally you want to clean up. This means: perform steps 7/8/9 from the first procedure.
And you also want to remove the sqlscript procedure from the repository, making sure
that also the runtime object gets deleted.

A lot of text for a teeny tiny problem.

9e) Allow only administration users to work on HANA


database

You have a SAP HANA database system and you would like to only allow certain
administration users to

connect and work on the database for some time. Regular user sessions should be
disconnected and no

new user sessions for non-administration users should be allowed. After your administrative
actions you

would like all regular users to be able to connect to your SAP HANA database system again.

The OSS Note explains the whole process and SQL statements and steps:

1986645 - Allow only administration users to work on HANA database


10) Renaming an SAP HANA System with a GUI using
HANAconfig.sh

In GUI mode, you will be prompted to enter the required parameters.

Use the following instructions to complete this task.

Note: If you specify the host name, make sure that it is fully qualified, such as
myhost.sap.com (i.e., not just myhost).

Connect to the system with an X server client to enable GUI system access.

Open a root shell and go to the directory where you mounted the SAP HANA DVD,
by entering a command such as the following:

cd /mnt/&DATA_UNITS/HANA_IM_LINUX__X86_64

Call the script in GUI mode to perform the rename:

./HANAconfig.sh --gui

Select Rename HANA System

Select Next

Specify the required entries.


Leave the root shell after the rename is complete.

HANAconfig.sh gui can also be used for other tasks including installing and de-installing
SMD Agents

11) Location of Configuration Files

The configuration files (.ini files) are located by default in the following directories

$DIR_INSTANCE/../SYS/global/hdb

custom/config global.ini

indexserver.ini

nameserver.ini

For host-specific configuration settings

$SAP_RETRIEVAL_PATH

sapprofile.ini
daemon.ini

12a) Trace Files Location

trace files can be found here:

/usr/sap/&trace

12b) How to enable serverwide HANA SQL traces?

Instead of Client-Side JDBC or ODBC tracing an administrator would like to enable serverwide
SQL traces.

1. Open In-Memory Computing Engine (IMCE) Studio

2. Go to the Administration Console -> Diagnosis Files

3. Click the Configure Trace ... icon in the top right corner

4. Select "ALL" for SQL tracing

5. Click Apply and OK


The SQL trace file will be listed along the other trace files in the following format:

sqltrace_&_&_000.py

Note: Make sure you are connected to the correct HANA instance :-)

ref: 1627480 - How to enable serverwide HANA SQL traces?

12c) How to enable tracing on HANA with hdbodbc_cons


Command

The steps below are for Windows. Adjust them accordingly for UNIX and Linux.

1. Open a command prompt

2. Navigate to the location of the HANA Client (e.g. C:\SAP\hdbclient)

3. Run the following commands

1. hdbodbc_cons config trace filename &(e.g. C:\SAP\HANA_ODBC.txt)

2. hdbodbc_cons trace sql on

3. hdbodbc_cons trace api on


4. Confirm the settings took by running hdbodbc_cons show all. You should see something
similar to the following:
Configuration:

Trace file name : C:\SAP\HANA_ODBC.txt


Trace flags : A:a
ODBC trace : enabled
Short trace : disabled
Debug trace : disabled
SQL trace : enabled
Time stamp prefix : disabled
Packet trace : disabled
Settings:
Update count : 0
Total size : 256
equivalent to 0 process-specific parts.
Version flag : 0

5. Disable tracing by running hdbodbc_cons trace off

6. Confirm the settings took by running hdbodbc_cons show all. You should see something
similar to the following:
Configuration:

Trace file name : C:\SAP\HANA_ODBC.txt


Trace flags : (none set)
Settings:
Update count : 1
Total size : 256
equivalent to 0 process-specific parts.
Version flag : 0
Forced re-read of global configuration with last update.

ref: 1834470 - How to enable tracing on HANA


12d) Collecting SQLDBC Traces & hdbsqldc_cons

see SAP Note 1993251 - Collecting SQLDBC Trace

12e) Collecting ODBC Traces & hdbsqldc_cons

see SAP Note 1993254 - Collecting ODBC Trace

12f) How To Collect - HANA - NetWeaver SQL


Communication Trace

see SAP Note 1998549 - How to collect HANA - NetWeaver SQL Communication trace

12g) How To Enable SQL Trace on SAP Hana Studio

You need to get and capture the SQL queries that are being sent to Hana.

Checkout this wonderful OSS Knowledge Base Article which includes screenshots

describing precisely how to achieve this:

2031647 - How to enable SQL Trace on Hana Studio


12h) Collecting Diagnosis Information For SAP HANA

SAP Support asked you to provide a collection of the relevant diagnosis files

(also known as "full-system-info-dump").

All details of how to do this, are described in the excellent Knowledge Base Article

1732157 - Collecting diagnosis information for SAP HANA

12i) SQL statement collection for SAP HANA

During a SAP HANA database analysis it can often be required to collect special information.

This OSS Note explains precisely how to do that:

1969700 - SQL statement collection for SAP HANA

13) Testing the ODBC Installation

You can test the installation of the ODBC driver and your ability to connect
by using the odbcreg tool, which is part of the ODBC installation.

Start the odbcreg tool by enter a command in the form:


odbcreg -t hdbcodbc (for 64-bit driver)

or

odbcreg32 -t hdbcodbc32 (for 32-bit driver).

If the driver is installed properly, you should get the ODBC login screen.

Note, you can also run the command

odbcreg -g or odbcreg32 -g to get a list of installed drivers.

The SAP HANA driver is called HDBODBC

14a) HANA Database update with SUM or hdbupd

As of HANA SPS5, the SAP HANA Automated Update Guide only mentions
SUM (SUM4HANA) for updating the SAP HANA appliance software
and related components.

You are not sure if SUM is mandatory and using hdbupd is obsolete by now.

+The use of SUM is mandatory and the highly recommended way for updating
the SAP HANA appliance. SUM takes care of:
o Migrating the old SAP HANA file system structure to the new
shared layout during the selfupdate process

o Handling the lm_structure content in a consistent way

o Keeping the system consistent via update of all the components


which are installed on the HANA box
o Checking the correct component version dependencies. In case of
inconsistencies an error is generated and execution will be stopped

o Integration to Solution Manager, e.g. consuming generated stacks with HANA


content

Other tools such as the On Site configuration tool rely on this landscape
to be correct in order to work properly.

It is technically possible to use hdbupd but you should consider this option
only in special/extreme situations and after consulting a SAP representative.

ref: 1864196 - HANA Database update with SUM or hdbupd

A useful tip in this blog using SUM for HANA or hdbupd

So how do you recognize if your SAP HANA instance was installed with hdbinst or

Unified Installer?

It is really simple, if the directories /usr/sap/&SUM and /usr/sap/&lm_structure

exist then the Unified Installer was used and you should apply Support Package Stacks
and Revisions with SUM for HANA. If you do not have these directories, the recommendation

is to bring your instance up-to-date and install SUM for HANA and lm_structure using

SAP Note 1793303. After following this note you can use SUM for HANA to apply revisions

and SP Stacks.

On the same subject another very useful blog:

Man-Ted Chan's Blog: SUM for SAP HANA setup -

14b) hdbupd & hdbsetup

Automated update of SAP HANA server components

The SAP Software Update Manager is a separate software component that must
be started on the SAP HANA server. A good practice is to install this component
as a service.

The SAP Software Update Manager does not have a user interface.

It is controlled remotely from the SAP HANA studio.

Tip: The Software Update Manager can be configured as a Linux service by


running the following commands:

export JAVA_HOME=/usr/sap/&SUM/jvm/jre

/usr/sap/&SUM/daemon.sh install
The service can be started using the following command:

/etc/init.d/sum_daemon start

After the release of an SPS of the SAP HANA Appliance Software new revisions of the SAP
HANA
database are released.

To update your SAP HANA database to these new revisions, use the commands

hdbupd or hdbsetup which are provided with the SAP HANA database installation.

14c) HANA Lifecycle Manager - How to Lauch, Start and


Install

this section is in progress and will be based upon Nicolas Chang's excellent blog here

15) ODBO Driver

Install the SAP HANA ODBO driver on the host where MS EXCEL has been installed and is
running.

For more information, see SAP HANA Client Installation and Update Guide.
a. Open a command prompt and call the SAP HANA client installation program by entering
the following command:

hdbinst -a client

b. Follow the instructions displayed by the installation tool.

16) Collecting System Information for Support

There is a Python script that allows you to collect information from your systems
even when no access to the system via SQL is possible.

This information can be added to the support message.

Location and Usage

The name of the Python script is

fullSystemInfoDump.py

and is part of a server installation. It runs from a command line and is located
in the directory

$DIR_INSTANCE/exe/python_support
(Linux).

To execute the script &adm rights are required.

To start the script out of its location directory, enter:

python fullSystemInfoDump.py

By default the script creates a zip file with all of the collected support information
to the directory

DIR_TEMP/system_dump where DIR_TEMP

is the content of the variable with the same name in sapprofile.ini.

This output directory is shown as console output when the script is running, but it can

be looked up by entering:

hdbsrvutil -z | grep DIR_TEMP=

To change the default directory, an explicit absolute path can be given to the script,
for example:

python fullSystemInfoDump.py &


Usage information can be displayed by entering:

python fullSystemInfoDump.py h

To collect support information you need an SQL user with rights to select the system tables and
views listed in System Tables/Views.

For security reasons the user name and password for this SQL user cannot be given as command

line parameters to the script.

Instead you are prompted for this information:

[ts1adm@luvm252058a:/usr/sap/TS1/HDB01/exe/python_support |
mailto:ts1adm@luvm252058a:/usr/sap/TS1/HDB01/exe/python_support]> python

fullSystemInfoDump.py

User name: SYSTEM

Password:

The password is not displayed on the command line.

If the system can be reached via SQL and the user name and password information is valid, the
script
starts collecting support information.
If user name and/or password are invalid, the script aborts.

17) HDBSQL

SAP HANA HDBSQL is a command line tool for entering and executing SQL statements,
executing
database procedures, and querying information about SAP HANA databases.

You can use HDBSQL interactively or import commands from a file and execute them in the

background. You can access databases on your local computer and on remote computers.

To get a list of all available hdbsql commands, you should use:

hdbsql -h

Examples:

One step logon to the database on the PARMA computer with instance ID 01 as database
user MONA with the password RED.

hdbsql -n PARMA -i 1 -u MONA p RED

To log on using a &, enter the following command:


hdbsql -U &

Two-Step Logon, Procedure

Start HDBSQL:

hdbsql /

Log on to the database:

\c -n & -i & -u &,&

You display general information about the database:

\s

host : wdfd00245293a:30015

database : ORG

user : SYSTEM

kernel version: 1.50.00.000000

SQLDBC version: libSQLDBCHDB 1.50.00 Build 0000000-0120

autocommit : ON
18) To run sql queries using hdbsql:

# Hdbsql n &:&-u &p &


Port= 3&15 (## is the instance number)

For example for system number 01:

# Hdbsql n coe-he-40:30115 u system p SAPTeched1

Welcome to the SAP In-Memory Computing interactive terminal.

Type: \h for help with commands

\q to quit

hdbsql=> select count () from EIM360.mara

COUNT()*

14927

19) Performing a Database Backup Using SQL Commands

SAP BW on HANA Cookbook

You can enter SQL commands either by using the SQL editor in SAP HANA studio,
or by using the hdbsql program on the command line.

The hdbsql program is located in

/usr/sap/exe/

Note Backups using SQL commands are only recommended for batch mode

(see section Using Batch Mode below).

The backup can be started with the following SQL command:

BACKUP DATA USING FILE (&)

The backup creates the backup files in the default directory.

The name of each backup file starts with &.

If you want to change the default a location, specify the full

path, for example:

BACKUP DATA USING FILE (/backupDir/data/monday/COMPLETE_DATA_BACKUP)

Performing a Database Backup Using Batch Mode

Currently, the main tool for batch mode backup is the command
line interface hdbsql.
This is the current recommended mode for executing backups from
operating system level.

hdbsql enables you to trigger backups via crontab.

19b) Checking Backups Using hdbbackupcheck

You can use the program hdbbackupcheck to check a part of the backup for changes

The full usage of the command, all switches, use cases and including examples is fully

described in the SAP Note:

1869119 - Checking backups using hdbbackupcheck

20) Setting Up a Data Backup Using Cron

a. Install the client software.

The client software enables access to the hdbuserstore.

Use the following command:

hdbinst a client (default location: /usr/sap/hdbclient)


b. Create a user key.

Use the following command:

/usr/sap/hdbclient/hdbuserstore set &&:3&15

&&Example: /usr/sap/hdbclient/hdbuserstore set

BACKUP vebwtests1:30015 user password

c. In crontab, call the following at the desired time:

/usr/sap/hdbclient/hdbsql U&"BACKUP DATA USING FILE ('&')"

Example: /usr/sap/hdbclient/hdbsql -U BACKUP "BACKUP DATA USING FILE ('MONDAY')"

A data backup is then created in the default location. In the above example,
the prefix of all service-related backup files is MONDAY.

21) Canceling a Running Data Backup

You can cancel a data backup that is still running.

To cancel a running data backup, you can use either SAP HANA studio or an SQL command.

Prerequisites
A user needs the system privileges CATALOG READ and BACKUP ADMIN.

Canceling a Running Data Backup Using SAP HANA Studio

You can use SAP HANA studio to cancel running data backups that you

started using the backup wizard. To cancel a running data backup, choose Cancel.

The backup is then canceled and you are notified of this.

22) Canceling Other Running Data Backups

To cancel any data backup:

a. Find the Backup ID.

When a data backup is started, the system assigns a unique ID to the data backup.
To find the backup ID of the running data backup, use the monitoring view

M_BACKUP_CATALOG,

which provides an overview of information about backup and recovery activities.

To find the backup ID of the running data backup, use the following SQL command:
select BACKUP_ID from "SYS"."M_BACKUP_CATALOG" where entry_type_name =
'complete data backup' and state_name = 'running' order by sys_start_time desc;

You can now use the backup ID to cancel the running data backup.

Cancel the data backup.

To cancel the running data backup use the following SQL command:

backup cancel &

Check that the data backup was canceled.

23) To check the state of the data backup, use the following
command

select state_name from "SYS"."M_BACKUP_CATALOG" where backup_id = &

24) hdblogdiag & Recovery


Recover the database until a point in time with a timestamp using a dedicated directory for
data backups and further directories containing automatically written log backups.

Use the following command:

1. RECOVER DATABASE UNTIL TIMESTAMP '2011-08-22 15:00:00' CHANGE ALL D


ATA USING PATH
2. ('/backup/MONDAY/') CHANGE ALL LOG USING PATH ('/backup/logs1/','/backup/l
ogs2/')

25) Restore when log backups are missing

ref: SAP Note 1816483 - Restore when log backups are missing

A restore fails with the error "Recovery could not be completed Cannot open file ...".

One or more log backups of the SAP HANA database are missing or damaged.

All the available log backups exist in the file system of the database server.

If not all the required log backups are available, an SAP HANA database restore is subject to
restrictions.

In most cases, you will only be able to restore the SAP HANA database to a in time that lies
before the time when the oldest missing log backup was written.

A restore to any point in time (including redo of the log area) is possible only if the content of the
missing log backup still exists in the log area.
To determine if this is the case, proceed as follows:

Determine the volume IDs and the lowest log item of the missing log backup from the name of
the backup. If a previous restore has failed with the error message specified above, you can
determine the name of the missing log backup from the error message.

The log backups are named after the schema log_backup_&_0_&log item>_&, for example,

log_backup_2_0_12345_67890.

In this example, the volume ID would be 2 and the lowest log item 12345.

Use hdblogdiag to determine the lowest log item that still exists in the log segments of the log
area as follows:

Call

hdblogdiag seglist &

This call issues a list of log segments that looks as follows:

LogSegment[0/0:&-&(...

LogSegment[0/1:&-&(......
Take into account that the system outputs the log items in hexadecimal format and that you have
to convert them into decimal numbers.

Example:

Assuming the parameter basepath_logvolumes has the value /HANA/log/HAN and the parameter
use_mountpoints has the value yes, so that the log egments lie in the subdirectory mnt0001.

The log segments for the volume with the volume ID 2 then lie there in the subdirectory

hdb00002: > hdblogdiag seglist /HANA/log/HAN/mnt0001/hdb0002

LogSegment[0/0:0x129540-0x131c00(...
LogSegment[0/1:0x131c00-0x139540(...

Log segment 0 has the lowest log item 1217856 (hexadecimal 0x129540), log segment 1 has the
lowest log item 1252352 (hexadecimal 0x131c00).

This means that the lowest log item that exists in the log segments is 1217856.

If the lowest log item of the missing log backup is bigger than the lowest log item that still exists
in a log segment of the log area, a restore to the latest available point in time is possible.

In such a case, proceed as follows:

Generate a new backup catalog with

hdbbbackupdiag -generate (SAP Note1812057)


Start the restore for the point in time that you selected.
If a restore to the latest available point in time is not possible, you can restore the SAP HANA
database to an earlier point in time.

You can restore the SAP HANA database only with the log backups that were written before the
missing log backup.

You cannot use the log backups that were written after the missing log backup.

In this situation, proceed as follows:

Generate a new backup catalog with

hdbbbackupdiag -generate (SAP Note 1812057).

Start the restore for the point in time that you selected. For this, you must select "Initialize Log
Area".

26) hdbbackupdiag

The program hdbbackupdiag provides support for determining the data backup files and log
backup files that are required to restore an SAP HANA database, with "Recover the database to
its most recent state" as the aim.

Depending on the availability of the file BackupCatalog.xml that is saved under the path
$DIR_INSTANCE/../SYS/global/hdb/metadata and that is used to determine the restoration
strategy, two application scenarios arise; they are both described in the following section.
Scenario a: BackupCatalog.xml is available

If the current version of the file BackupCatalog.xml exists, the program

hdbbackupdiag

determines the most suitable data backup and creates a list of the required log backup files.

To do this, you must call the program with the option -c &. Use the option -c &to specify the
name of the BackupCatalog file.

In normal cases, this is BackupCatalog.xml.

If the program is not started from the directory in which the file

BackupCatalog.xml

is located, you can use the option -d & to adjust the access path.

The following example illustrates the function:

hdbbackupdiag -d $DIR_INSTANCE/../SYS/global/hdb/metadata -c

BackupCatalog.xml

Output:
Data backup file: thursday_databackup_0_1

RedoLogPosition: 0

Backup time: 2012-04-12T17:30:0302:00

Using hdbbackupdiag to Reconstruct the Backup Catalog

A recovery of SAP HANA database fails. The file "backup.log" contains the error messages:

"recovery strategy could not be determined" and

"Catalog backup not found".

The backup catalog that the database created is not available or defective.

All data backups and log backups that are required for the recovery are available in the file
system of the database server.

You can use the program "hdbbackupdiag" to create a new backup catalog.

For this, you provide all the data backups and log backups in the file system of the database
server. If you cannot use the standard paths for data backups and log backups due to space
restrictions, you can also save the files in different directories. Note that all files of the data
backup must be saved to one directory. However, log backups can be distributed across multiple
directories.

To do this, start the program hdbbackupdiag with the following options:


generate

dataDir

--logDirs

-d

All directories must be specified as absolute paths.

For a standard installation, the call is as follows, for example:

hdbbackupdiag --generate --dataDir $DIR_INSTANCE/backup/data


--logDirs $DIR_INSTANCE/backup/log -d $DIR_INSTANCE/backup/log

If you have distributed the log backup across multiple directories, you can specify them behind
the option --logDirs separated by commas.

For example:

hdbbackupdiag --generate --dataDir $DIR_INSTANCE/backup/data


--logDirs $DIR_INSTANCE/backup/log,/mnt/disc2/log -d
$DIR_INSTANCE/backup/log

When you call "hdbbackupdiag", the content of the specified directories is analyzed and a new
backup catalog is generated.

This backup catalog is created with a directory for the log back up that is specified with -d.
Then new backup catalog has the file name "log_backup_0_0_0_0.n" whereby n is the newly
generated backup ID of the database.

To be able to verify the content of the backup catalog, you can output the recovery strategy that
is based on the latest data backup in the generated backup catalog. For this, use the command

"hdbbackupdiag -d "

After you generate the backup catalog, a recovery of the database may carried out.

In case the backup catalog is not created in the standard directory $DIR_INSTANCE/backup/log,
you must specify the directory in which the backup catalog is located in the Recovery Wizard in
the step "Locate Log Backups".

For more information check SAP Note:

SAP Note 1812057 - Reconstruction of the backup catalog with hdbbackupdiag

27) How to Use the hdbcons Utility

How to use SAP HANA hdbcons utility

hdbcons is a tool to provide information about the actual used memory, the peak memory, the
throughput of the different allocators, etc.

SAP Note 1786918 - Required information to investigate high memory consumption


You are running SAP HANA and you experience high memory consumption / out of memory
situations.

You are asked to provide information using hdbcons.

SAP HANA Development Support requires information about a suspected memory issue.

Connect to your HANA database server as user sidadm.

a. You suspect that a query requires too much memory:

Before running the query start the tracing:

hdbcons 'mm flag / -rs as'

Run the query.

Stop the tracing:

hdbcons 'mm flag / -rd as'

Write output:

hdbcons 'mm callgraph -r -o /'


Please be aware that this trace will slow down the system!*

You suspect a memory leak:

Please provide the output files of the following commands:

a. hdbcons 'mm bl -rt Pool' > /&&

This will show us how much memory is located by which code line.

b. hdbcons 'mm l -s -S -p' > /&&

This will show which allocator allocates how much memory at the moment and its peak memory
allocation.

The memory consumption stays at a high level / the database seems to hang because of high
memory consumption

Please provide a runtime dump as described in SAP Note 1813020 and the content of the
monitoring view M_HEAP_MEMORY.

hdbcons To get threads list

hdbcons "context list -s" > thread_callstack_test.txt


To generate runtime dump (see the Note 1813020 - How to generate a runtime dump on SAP
HANA)

hdbcons "runtimedump dump -f /test/rte_dump.txt"

28) Sizing HANA Basic Calculations

SAP BW Sizing On HANA Summary

RAM = (Source data footprint - 60gb) * 2 / 4 * c1 + 90gb

or

RAM = ( colstore tables footprint * 2 / 4 + rowstore tables footprint /1.5) * c1 + 50gb

Disk persistence = 4 * RAM

Disk Log = 1 * RAM

c = source database specific compression factor (where applicable)

Memory Sizing: Runtime Objects


RAM dynamic + RAM static

Total RAM is

RAM = (Source data footprint - 60gb) * 2 / 4 * c1 + 90gb

or

RAM = ( colstore tables footprint * 2 / 4 + rowstore tables footprint /1.5) * c1 + 50gb

c = source database specific compression factor (where applicable)

Disk Sizing

Disk persistence = 4 * RAM

Disk Log = 1 * RAM

Useful SAP Notes:

OSS 1736976 - Sizing Report for BW on HANA

OSS 1514966 - SAP HANA 1.0: Sizing SAP In-Memory Database


SAP BW on HANA Sizing Report -

https://websmp209.sap-
ag.de/~sapidb/012006153200000051552013E/SAP_BW_on_HANA_Sizing_Report_V1_4.pdf

OSS 1799449 - Sizing report ERP on SAP HANA database

OSS 1855041 - Sizing Recommendation for Master Node in BW-on-HANA

28a) Sizing SAP BI/BW on HANA

You intend to migrate an SAP NetWeaver BW system from any database platform to the SAP
HANA In-Memory Database and need information on hardware sizing of the HANA platform.

Starting with version 7.30 SP5 you can run SAP Business Information Warehouse (SAP BW) on
SAP HANA as database platform.

This enables you to leverage the In-Memory capabilities of HANA and the SAP-HANA-
optimized BW objects.

To simplify sizing of an SAP BW system that is supposed to be migrated, SAP now provide the
database independent ABAP report

/SDF/HANA_BW_SIZING

which computes all information relevant to sizing a HANA database server.

A first version of the report is available with ST-PI 2008_1_7xx SP06.


Important: If you plan to migrate a BW system with significant size (e.g. 20 TB source system
database size), please read SAP note 1855041.

For a detailed description of the report, its input parameters, and how to interpret its output,
please refer to the document:

"SAP_BW_on_HANA_Sizing_Report.pdf" attached to SAP Note 1736976 - Sizing Report for


BW on HANA.

The ABAP report now includes the following features:

o enhanced sizing precision by table type specific compression factors


o "non-active data" concept: optimized memory consumption by taking into account
that specific tables are preferred for memory displacement (e.g. tables belonging
to objects in Corporate Memory).
o Sizing of a Part of the scenarios can be done specificating a subset of BW Objects
which have to be considered for sizing.
Dependent BW Objects will be automatically taken into account.

ref: SAP Note 1736976 - Sizing Report for BW on HANA and the pdf attached to the Note

The following contribution is with thanks to John Appleby for allowing his excellent blog to be

included in this work:

I've had more than a few questions on BW on HANA Licensing and Sizing, and it seems that
there

isn't anything authoritative in the public domain. So here we go, but before we start...

Caveats
Architecting BW on HANA systems requires some care. First, database usage, number of
indexes

and aggregates, use of database compression, reorgs and non-Unicode systems all cause a
variance

in compression in the HANA DB. The best way to size a HANA DB is to do a migration.

In addition, you may choose to use the cold data concept, to archive/delete prior to migration
or to use

Sybase IQ for NLS. All of these will vary the amount that you need. And don't forget growth -
you need

to plan for data volume growth, and M&A activities or projects which may increase data
volumes.

If you get this wrong with SAP HANA, then you may buy the wrong hardware. I've worked
with customers

who bought 3-4x too much, and customers who bought 3-4x too little, so please get expert
advice.

In addition be careful when architecting HANA systems, whether you need Dev/Test/UAT, if
you have a

big system, will it be scale-out, will there be a standby node, and is there HA/DR? Where will
you store

backups and application servers?

So whilst this blog is intended to help and inform, the responsibility lies with you for getting it
right. If in

doubt, get the services of an expert. Now we've got that out the way!
What are the license models for BW on HANA?

It is possible to buy BW on HANA in one of two ways:

1) By the 64GB unit. As noted in this slide deck, this is EUR 60k per unit for up to 10 units,
and then the

price decreases with every additional 10 units you buy, and future licensing purchases are
accretive and

retroactive.

2) By Software Application Value. You pay 8% of your total SAP purchase price and SAP
provide an

unlimited runtime license for BW. This is also available at 20% including ERP on HANA.

As has been described before, BW on HANA is non-discountable, but you should always have
a frank

discussion about your overall license package with your Account Exec.

Note that this purchase covers you for all usage: Dev, Test, Training, HA and Disaster
Recovery. The only

time when you need anything else is if you want to build HANA Enterprise models, and in
this case you

may need a HANA Enterprise license.

Generally, the SAV licensing is much cheaper unless you are a large organization who has a lot
of SAP
software and a small BW. If you are a mid-size organization with a big BW, the SAV licensing
can be

10% of the unit-based price.

How do I size BW on HANA?

There is an attachment to SAP Note 1736976 - Sizing Report for BW on HANA. This note
contains some

manual corrections, and then needs to be installed via SAP Transaction SNOTE. Ensure you
run the latest

version, because it is constantly updated. You can then run ABAP Report
/SDF/HANA_BW_SIZING.

When you run this report, run it with and without future growth, and keep both sets of
numbers. It will produce

a text file. It will look like this.


Now it is necessary to be careful when interpreting this report. In this case, no growth was
assumed and it

is a 120GB MSSQL database, which it suggests will be a 127GB HANA DB. The sizing tool
tends to be

conservative and over-size slightly, especially for small systems.

In newer versions of this tool it will tell you how many Medium (512GB) nodes you would
need, or how

many Large (1TB) nodes. This is a rule of thumb, use it with care.

Now ensure that you think about what you are sizing for. For instance, you may feel that you
can archive

or delete data. Now is a good time to do this, and if you look at the PSA and DSO Change Log
sizes in

this system below, a cleanup is definitely in order. Also, you can set some data to be "cold" in
HANA

and purge it from memory after the migration. You can remove this from the sizing if you like.

If you have a very large system (greater than 3-4TB of HANA required) then it may be cost-
effective to use

the IQ Near Line Storage (NLS). You can subtract any data that you can archive from NLS
from your sizing,

but be careful: the NLS software is only good for cold data that is not updated frequently.

How do I architect BW on HANA?

First, start by sizing your productive environment. Once you have this, you can decide the
production architecture.
In my case here I only need 160GB RAM, so I would buy a 256GB HANA system.

Once you require more than 1TB RAM then you will need to move to a scale-out HANA
system. This is where

customers often go wrong. Let's assume we use Medium (512GB) nodes and the sizing tool
says we need

100GB for the row store and 1.5TB for the column store. The row store requires one master
node, and the

column store fits on the remaining nodes. This means that we need 4 active nodes, plus one
standby node

if we want high availability. That's 5x Medium (512GB) nodes for production.

Now we need to architect for disaster recovery, and we can take the same as production.

Now we can architect our test system. If our disaster recovery can be warm (i.e. take some
time to start up

in case of a failure) then we can share this with our test system. This may make sense if you
want a

production sized copy in test. Note that if you do not have a DR system you will need a
dedicated test

system. If you have a scale-out production environment, always ensure you have a scale-out
test system

for scale-out testing.

And now you need a development system. Normally I recommend copying the existing
system, and one

512GB node should be sufficient unless development is a copy of production. Use common
sense.
From here you can work with a hardware vendor for the best approach, but be careful - the
hardware vendors

often cut some items out to cut cost (or indeed add extra hardware to get a larger sale), and I've
dealt with a

number of customers who have been bitten by this and have had to buy substantial amounts
of extra hardware.

Ensure that your hardware partner has an upgrade policy for the amount of hardware you
expect to need in the

future, based on growth.

Final Words

My final word would be to make sure that you get good advice throughout this process, and
sanity check it

yourselves. With a regular database, if you size it wrong then you can add more RAM or disk
at relatively

low cost, and you will just sacrifice performance. With HANA, you will have overspent, or
will have to spend

a significant amount to change your HANA architecture. Depending on your design, this can
be very inconvenient.

Your first HANA deployment is critical, because it will set the tone of sentiment in the
business for HANA as

a technology stack. Take the time to get this part right, and you will help your BW on HANA
deployment on

its way. Your project will appreciate you for it!

Thanks to HANA Distinguished Engineer Lloyd Palfrey for his input on the original blog!
28b) Sizing the SAP Business Suite on HANA

Initial Sizing observations for Suite on HANA (SAP enhancement package 6 for SAP ERP 6.0,
version for SAP HANA, SAP enhancement package 2 for SAP CRM 7.0, version for SAP
HANA, SAP enhancement package 2 for SAP SCM 7.0, version for SAP HANA, SAP
enhancement package 3 for SAP Supplier Relationship Management 7.0, version for SAP
HANA)

Initial sizing observations are based on lab measurements, load tests and measurements
performed in customer test systems.

This information may change, if additional measurement results are available.

This information is only valid, if the system usage is not changed after the move; intense
additional reporting and OLAP processing is not taken into account.

Application Server

Based on the measurements SAP doesn't expect any changes concerning CPU, memory and
network requirements for the ABAP application server. This means that the existing hardware
and network infrastructure can still be used. Please check the PAM (www.service.sap.com/pam)
for further details.

HANA Main Memory

As far as sizing of the HANA appliance is concerned, main memory is the most important
resource.

The current recommendation from SAP is that you should take half of the size of an
uncompressed but "well-maintained" disk-based database and include a safety buffer of 20%.
This means, if the database is currently approximately 1,8 TB in size (tables plus indexes), SAP
recommends a HANA appliance of 1 TB.
You should not forget to consider your future data growth into your planning.

SAP doesn't expect changes in memory requirements for applications using liveCache.

HANA CPU and Disk Space

The appliance is configured in such a way that the CPU power and the I/O capacity is sufficient.

To fully support the parallel processing capabilities of HANA for optimal response times for
analytical applications SAP prefers a factor of 3 to 4 more CPU power for HANA than for disk
based databases without parallelization of single statements.

This also provides a buffer for running OLTP and OLAP load simultaneously.

If other software is running on the database server, please be careful to identify the CPU
consumption of the database.

You can for example look at the CPU consumption of the database process(es) using SAP's
monitoring tools.

Regarding the disk space of Suite on HANA, SAP recommends to use half of the required

disk space that is needed for the Business Suite for disk-based databases.

Please note that this does not mean that each table just needs half of the disk space as compared
to a disk based database.

For initial sizings you should use the Quick Sizer (www.service.sap.com/quicksizer) results for
database size (DB Disk) and CPU requirements (DB SAPS) as input for HANA main memory,
disk space and CPU sizing.

ref: Note 1793345 - Sizing for Suite on HANA


29) HANA SSO with Kerberos and Active Directory

Update - 18th Dec 2013:

The SAP Note

1837331 - HOWTO HANA DB SSO Kerberos/ Active Directory

contains a fantastic pdf document containing a step by step procedure for setting up Kerberos with HANA+

The configuration is a complex task with various sources of error.

Main reasons are the cross OS nature of the setup (Linux/ Windows), often resulting in problems
with case (Windows: case insensitive, Linux: case sensitive) and the tight integration into the network
configuration (/etc/hosts, DNS).

In particular, there are various sources of error when creating the keytab and exporting it from
Active Directory.

The process is highly manual and consists of several steps across different operating systems and
hosts.

A python script is provided in SAP Note 1813724 which automates the creation of the keytab.

In addition, the IP configuration at the HANA appliance is validated (hostname


resolution/reverse lookup) and the Kerberos configuration is checked for consistency with the
remote Active Directory.
Unzip the attached hdbkrbconf.zip and run as adm

$ python hdbkrbconf.py -h

for help.

There are two main options, "-k" for creating the keytab and "-v" for validating the configuration
including the keytab.

Option "-V" will provide verbose output, together with an analysis file for SAP support.

This file will also be written in the event of an error.

More info, check: SAP Note 1813724 - HANA SSO/Kerberos: create keytab and validate conf

29a) Troubleshooting Issues when implementing SAML SSO


in HANA XS Engine

DevendraKumar Saxena has published an excellent article on the steps and troubleshooting
for implementing

SAML SSO in the Hana XS Engine. The article is here:

Troubleshooting Issues when implementing SAML SSO in HANA XS Engine

29b) Configure ABAP to HANA SSL Connection


to be completed reference this blog

30) Row Store Reorganisation

Update 6th February 2014 - Additional Information from Reinhard Jud

The parameter page_compaction_max_pages determines the number of pages which the


RowStore Reorg will process.

The default value is page_compaction_max_pages = 1048576

If you have a bigger RowStore you will need to customise this value relative to the size of the
RowStore, which can be two or four times higher than default

[row_engine]

page_compaction_max_pages =

Row store memory size is a lot bigger than the actual data size in row store and shows high
fragmentation ratio.

Row store grows by allocating a 64MB memory segment and shrinks by freeing empty
segments.
A segment is internally divided into fixed-size pages. When a row store table requires more
memory to store records, the table takes a free page from existing segments. If no segment has a
free page, a new segment is allocated.

Deleting a large number of records may result in a number of sparse segments.

In such a case, row store reorganization can be performed for memory compaction.

The pages in sparse segments are moved to other segments and the resultant empty segments are freed.

If the prerequisites are not satisfied, row store reorganization should not be executed.

The prerequisites, queries, and monitoring views used for the queries are applicable to Rev 50
and to change in future releases.

o HANA Database Rev 50 or later

- HANA Database has to be upgraded prior to run row store reorganization

o Catalog integrity check

- The following procedure call should run successfully and returns empty result set.

CALL CHECK_CATALOG
('CHECK_OBJECT_REFERENTIAL_INTEGRITY','','','');

o Row store reorganization is recommended, when allocated row store size is over 10GB and
free page ratio is over 30%.

1. SELECT HOST, PORT,


2. CASE WHEN (((SUM(FREE_SIZE) /SUM(ALLOCATED_SIZE)) > 0.30)
3. AND SUM(ALLOCATED_SIZE) > TO_DECIMAL(10)/102410241024)
4. THEN 'TRUE' ELSE 'FALSE' END "Row store Reorganization Recommended",
5. TO_DECIMAL(SUM(FREE_SIZE)100 / SUM(ALLOCATED_SIZE), 10,2) "Free S
pace Ratio in %"
6. ,TO_DECIMAL( SUM(ALLOCATED_SIZE)/1048576, 10, 2) "Allocated Size in MB"
7. ,TO_DECIMAL( SUM(FREE_SIZE)/1048576, 10, 2) "Free Size in MB"
8. FROM M_SHARED_MEMORY
9. WHERE
10. ( CATEGORY = 'TABLE' OR CATEGORY = 'CATALOG' )
11. AND PORT LIKE '%03'
12. GROUP BY HOST, PORT;

If the result of "Reorganization Recommended" is "TRUE", then row store memory can be
reclaimed after row store reorganization.

o Estimation on maximum possible memory space that can be reclaimed:

1. SELECT SUM(NUM_FREE_DATA_PAGES)16/1024 "Estimated Maximum Memory Sa


ving in MB"
2. FROM SYS.M_DEV_MEMORY_SEGMENT
3. WHERE SEGMENT_TYPE = 0;

o Check disk space where log files are located.

1. SELECT (SUM(NUM_FREE_DATA_PAGES)16/1024)1.5 "Estimated Log Volume Size


in MB"
2. FROM SYS.M_DEV_MEMORY_SEGMENT
3. WHERE SEGMENT_TYPE = 0;

Row store reorganization procedure

1. Make a complete database backup


2. Upgrade database to Rev50 or later

3. Make sure to start up database at least once during upgrade

4. Shutdown HANA database

5. Set up configuration parameter in indexserver.ini via HANA Studio.

http://scn.sap.com/row_engine page_compaction_enable = true

6. Restart the database. Startup will take longer than normal startup when row store
reorganization runs

7. Check the memory fragmentation status after reorganization:

1. SELECT HOST, PORT,


2. CASE WHEN (((SUM(FREE_SIZE) / SUM(ALLOCATED_SIZE)) > 0.30)
3. AND SUM(ALLOCATED_SIZE) > TO_DECIMAL(10)102410241024)
4. THEN 'TRUE'
5. ELSE 'FALSE'
6. END "Row store Reorganization Recommended",
7. TO_DECIMAL( SUM(FREE_SIZE)100 / SUM(ALLOCATED_SIZE), 10,2) "Free Spac
e Ratio",
8. TO_DECIMAL( SUM(ALLOCATED_SIZE)/1048576, 10, 2) "Allocated Size in MB",
9. TO_DECIMAL( SUM(FREE_SIZE)/1048576, 10, 2) "Free Size in MB"
10. FROM M_SHARED_MEMORY
11. WHERE ( CATEGORY = 'TABLE' OR CATEGORY = 'CATALOG' )
12. AND PORT LIKE '%03'
13. GROUP BY HOST, PORT;

8. Check Indexserver trace


Please check the indexserver trace files after row store reorganization is done.

Row store reorganization is performed in 11 phases when successful.

It prints out "[RSReorg] start" message at the beginning,

"[RSReorg] success" message followed by "Reorganization statistics"at the end.

When there are errors during reorganization, row store reorganization is stopped in that phase
and all the changes are rolled back and database starts up to return to its original state

Ref: SAP Note 1813245 - SAP HANA DB: Row store reorganization before reorganization is
run.

31) How to generate a runtime dump on SAP HANA


saphostagent/sapdbctrl for HANA

SAP Support asks you to generate a runtime dump during a high CPU/Memory consumption

a) Log into the linux HANA host as sidadm user;

b) Run command 'hdbcons';

c) On the hdbcons console run command below:


> runtimedump dump

This will create a file under traces directory called 'indexserver....rtedump.trc'.

d) Attach generated trace file to the OSS Message

Or alternatively

hdbcons "runtimedump dump -f /test/rte_dump.txt"


More info check SAP SAP Note: 1813020

31a) How to generate a runtime dump on SAP HANA

There are 3 ways of recording runtime dumps:

1) From the OS Level

2) From HANA Studio - SQL Editor

3) From HANA Studio - Trace Collection

All three methods are described in great detail and with screenshots in the

Knowledge Base Article:

1813020 - How to generate a runtime dump on SAP HANA

32) DBSL hints for SAP HANA

The following DBSL hints are available for SAP HANA.


o dbsl_equi_join

You can use this hint for a FOR_ALL_ENTRIES in order to inform the
DBSL that an EQUI join can be created from this FAE statement; this
EQUI join can then be resolved for an IN data set.

You must then specify this hint together with the hint of the DBI interface
(&prefer_join 1&) in the statement (see Note 48230).

ABAP

1. SELECT * INTO FROM FOR ALL ENTRIES IN itab


2. WHERE a = itab-a AND b = itab-b AND c = itab-c AND d = itab-d
3. %_HINTS HDB '&prefer_join 1&' hdb 'dbsl_equi_join'

From this, the system generates the following statement for the
database

SQL for the database

1. select * from where (a, b, c, d) IN ( (?, ?, ?, ?), ... (?, ?, ?, ?) )

o dbsl_add_stmt

Use: dbsl_add_stmt

This hint provides you with the option of adding an additional SQL
enhancement to the SQL statement in the DBSL. This hint is resolved
in the DBSL and the system appends the following text to the end of
the statement that was generated (after the keyword
dbsl_add_stmt).
ABAP

1. SELECT node FROM CONNECTION ('HANA') INTO TABLE T_NODE


2. %_HINTS HDB 'dbsl_add_stmt WITH PARAMETERS (''expression'' =''LEAVES("Node
1")'' )'

SQL for the database

1. select node from table with parameters ( 'expression' = 'leaves("Node1")' )

This hint is available in the following releases:

720 DBSL as of patch level 103

720-EXT DBSL as of patch level 103

803 DBSL

Note

In Release 7.20, you cannot use the keyword %_HINTS HDB to define the
hints for SAP HANA; instead, you must use the keyword %_HINTS ADABAS.

The database interfinterface ensures that this hint is also generated for an SAP
HANA Connection.

Ref: Useful OSS SAP Note 1622681 - DBSL Hints for HANA

33) hdbrename

http://help.sap.com/businessobject/product_guides/HAN01SP4/en/HANA_sps4_HDB_server_in
st_en.pdf
You can rename an SAP HANA database system as described in this section.

Caution:

Renaming a SAP HANA database system that is running with a permanent SAP license
invalidates the license so that the instance is locked down.

You need to request a new license key with the new system ID and the new hardware key
(generated by renaming) in order to unlock the renamed system.

This especially impacts renaming in batch mode: since the renamed instance is locked down, no
other activities except license installation are then possible.

For more information, see SAP License Key.

Before performing the rename, you need to meet these prerequisites:

You identify an existing SAP HANA database system, created by an installation or a file system
copy, that is to be renamed.

The target system ID (SID) must not exist.

The target instance number must not exist.

You are logged in as the root user.

If a mountpoint contains the system ID, you must first rename it manually before performing
the rename of the SAP HANA database.

To rename the instances of a distributed system, you perform the rename for all hosts with a
single call of hdbrename.

Renaming a System in Interactive Mode


Make sure that you meet the prerequisites in Renaming a SAP HANA Database System.

In interactive mode, the program queries all essential parameters that are not defined using
command line options as well as parameters that have invalid values.

a. Open a root shell.

b. Via the local mount point, change to the following directory on the shared file system:

///global/hdb/install/bin

c. Call the hdbrename program by entering this command:

./hdbrename

d. Specify the required data.

The system is now renamed.

34) hdbnsutil

Example Usage:

SAP Note 1738390 - How to update SAP HANA Linux server hardware key

When you have installed SAP HANA, you want to update the Linux server hardware key.
Prerequisite: You have logged on to Linux as SAP HANA instance administrator.

To update the hardware key, follow the procedure below:

Stop the SAP HANA DB instance

Remove line 'id='

in /usr/sap//SYS/global/hdb/custom/config/nameserver.ini

Execute 'hdbnsutil -convertTopology'

Start the SAP HANA DB instance

NOTE: Reinstallation of SAP HANA will generate a different hardware key, but upgrade of SAP
HANA will not change the hardware key.

35) hdbsrvutil - Example Usage

SAP BW on HANA Cookbook

Collecting Location and Usage Information


There is a Python script which allows you to collect support information for customer systems
even when no access to the system via SQL is possible.

This information can be added to the support message.

The name of the Python script is fullSystemInfoDump.py and is part of a server installation.

It runs from a command line and is located in the directory


$DIR_INSTANCE/exe/python_support (Linux).

To execute the script adm rights of the customer system are required.

To start the script out of its location directory, enter: python fullSystemInfoDump.py

By default the script creates a zip file with all of the collected support information to the
directory DIR_TEMP/system_dump where DIR_TEMP is the content of the variable with the same name in
sapprofile.ini

This output directory is shown as console output when the script is running, but it can be looked
up by entering:

hdbsrvutil -z | grep DIR_TEMP=

To change the default directory, an explicit absolute path can be given to the script, for example:

python fullSystemInfoDump.py

Usage information can be displayed by entering

python fullSystemInfoDump.py h

To collect support information you need an SQL user with rights to select the system tables and
views listed in System Tables/Views.

For security reasons the user name and password for this SQL user cannot be given as command
line parameters to the script.
If the customer system can be reached via SQL and the user name and password information is
valid, the script starts collecting support information. If user name and/or password are invalid,
the script aborts.

If the customer system cannot be reached via SQL the script only collects information which can
be read without SQL access.

The resulting zip file name has the following structure:

fullsysteminfodump________.zip

SAPLOCALHOSTFULL and SAPSYSTEMNAME are again taken from sapprofile.ini.

36) Show HANA Processes HDB proc & HDB info

HDB proc

HDB info

eg /usr/sap/HDB/HDB00/HDB info

37) HANA System Management SQL Administration


Statements Reference

SAP HANA Reference: System Management Statements

38) HANA SQL Reference Manual


SAP HANA Reference: SQL Reference Manual

39) SAP HANA SQLScript Reference

http://help.sap.com/HANA/HANA_dev_sqlscript_en.pdf

40) SAP HANA Technical Operations Manual

SAP on the 28th May 2014 published a wonderful SAP HANA Technical Operations Manual, which is here:

SAP HANA Technical Operations Manual

40a) SAP HANA Update and Configuration Guide

SAP HANA Update and Configuration Guide from SAP

40b) IBM SAP HANA Appliance Operations Guide

The following OSS Note encapsulates everything important to do with operations of the the
IBM SAP Hana

Appliance.

The OSS Note contains excellent attachments, make sure to download them.
1650046 - IBM SAP HANA Appliance Operations Guide

41) SAP HANA Administration Guide

[[http://help.sap.com/HANA/HANA_admin_en.pdf |

41b) SAP Hana Master Guide

SAP Hana Master Guide

42) SAP HANA Administration tables/views

A great blog by Balaji Rajendran explaining some of the most important HANA tables/views required for
administration

To be continued

43) The time stamps for the "Start Time" in Data


Provisioning of HANA Studio are UTC time

The time stamps are supposed to be displayed as UTC time in Data Provisioning of HANA
Studio.
It was a design decision to use UTC time to allow the replication schema to accommodate
systems from differing time zones. Using UTC time simplifies this task as then it is not necessary
to consider the time zone for each of the connected SLT and their respective source systems.
The time stamps you see in Data Provisioning match the internal time stamps which are used in
the replication process on each connected SLT system.

The system works as designed.


1861325 - HANA: "Start Time" of replication on all tables are UTC time in Data Provisioning of
HANA Studio

44) How to Check SUSE Linux Distribution Version and


Patch Level

If you are not sure which SUSE distribution you are using, execute the following command to
identify the release version and patchlevel.

cat /etc/SuSE-release

If you are running on SLES 11 SP2 the following values should be shown:

SUSE Linux Enterprise Server 11 (x86_64)

VERSION = 11

PATCHLEVEL = 2

44b) How to View the SAP HANA Edition & Revision

To view which revision of SAP HANA you are using go to /usr/sap//lm_structure and view the

landscapeDescription.xml file
45) Remove the SAP HANA Extended Application Service
(SAP HANA scriptserver) from the topology of your SAP
HANA database

You want to remove the SAP HANA Extended Application Service (SAP HANA scriptserver)
from the topology of your SAP HANA database (DB) because you do not use any applications
that require SAP HANA scriptserver.

Or you would like to restore the backup created when the SAP HANA script server was not
activated.

You must not simply stop the SAP HANA script server service. Since it has its own persistency,
it is relevant for backups. A data backup fails if the SAP HANA scriptserver volumes are still
entered in the topology but the service is not running.

Carry out the following steps to stop SAP HANA script server and remove SAP HANA
scriptserver from the topology:

o Stop all the applications that use the database.This is required because a new data backup
has to be created after you remove SAP
HANA scriptserver. A log replay over the time of the service removal is not supported.

o Determine all the hosts on which SAP HANA scriptserver services are active:

select host from m_services where service_name ='scriptserver'

o Determine the volume ID of the SAP HANA scriptserver services:

select VOLUME_ID from m_volumes where service_name = 'scriptserver'

o Stop the SAP HANA scriptserver services. To do this, carry out the following command for
every with an SAP HANA scriptserver service:
ALTER SYSTEM ALTER CONFIGURATION ('daemon.ini', 'host', '<name>')

UNSET ('scriptserver','instances') WITH RECONFIGURE

o Remove the SAP HANA scriptserver service entry from the topology.

To do this, carry out the following command for every with an SAP HANA scriptserver service:

ALTER SYSTEM ALTER CONFIGURATION ('topology.ini', 'system')

UNSET ('/host/', 'scriptserver') WITH RECONFIGURE

o Remove the volumes from the topology. To do this, carry out the following command for
every of an SAP HANA scriptserver service:

ALTER SYSTEM ALTER CONFIGURATION ('topology.ini', 'system')


UNSET ('/volumes', '') WITH RECONFIGURE

Caution: It can be a risk to make changes to the topology.

Therefore, carefully check the host and the volume ID.

o Create a new data backup.

o Start the applications that use the database.

Ref: 1867783 - XFS Data Inconsistency Bug with SLES 11 SP2

46) HANA Alerts related to File System Utilization


Statisticserver alerts are triggered on HANA side:

HANA Alert 2 - Disk usage


HANA Alert 30 - Internal disk-full event
HANA Alert 50 - Number of diagnosis files
HANA Alert 51 - Size of diagnosis files

Volume Size vs. Disk Usage

In general, two types of storage space utilization have to be distinguished: Disk (file system)

usage and space consumed (internally) in the volumes attached to the HANA database.

Both aspects are summarized in the overview tab in HANA studio

Total Disk Usage represents the file system point of view and is identical to what

OS commands like 'df' are displaying:

df -h

/dev/sdd1 99G 32G 63G 34% /HANAmnt/data/HDB


/dev/sde1 50G 3.7G 44G 8% /HANAmnt/log/HDB
/dev/sdf1 30G 19G 9.3G 67% /HANAmnt/HDB

Volume size refers to the size of the HANA volumes on file system level

This is effectively the output of the following SQL statement:


select v1.host, v1.port, v1.service_name, v1.volume_id,
v1.subpath, v2.data_size, v2.log_size, d.disk_id,
d.device_id, d.path, d.usage_type, d.total_size,
d.used_size
from (
( m_volumes as v1 join M_VOLUME_SIZES as v2 on v1.volume_id = v2.volume_id )
right outer join
m_disks as d on d.disk_id = v2.disk_id
)

If there is a huge difference between Volume Size and Disk Usage, this would

indicate that a lot of space on files system level is consumed by files not related

to data volumes, log volumes or trace files. In this example, this is true for the

trace volume. All trace files together just consume around 100 MB, but consumed

disk space is actually close to 19 GB:

select sum(file_size) / 1024 / 1024 as size_mb

from m_tracefiles

SIZE_MB
117,222

In cases like this, the 'du' command, executed against the file system in question,

can reveal the root cause:

du -hS /HANAmnt/HDB | awk '{print $1 $2}' | sort -h 0 -1

259M/HANAmnt/HDB/hdbstudio_update/repository/plugins
620M/HANAmnt/HDB/hdbclient
797M/HANAmnt/HDB/global/hdb/custom/config/lexicon/lang
7.4G/HANAmnt/HDB/exe/linuxx86_64/HDB_1.00.51.374135_1005022
7.9G/HANAmnt/HDB/exe/linuxx86_64/HDB_1.00.55.376513_1078043

The file system containing the trace files also contains the executables of HANA software

(present and previous version), hence the difference in volume and disk usage.

Volume Size and Volume Utilization

Data Volumes

If the percentage of unused space is high, shrinking the volume can be considered.

The relevant system management command is outlined in SAP HANA Reference:

ALTER SYSTEM RECLAIM DATAVOLUME.

In order to find out which column store tables are occupying most of the space inside the
volumes

you can use the following SQL statement:

select top 30 table_name, sum(physical_size)

from M_TABLE_VIRTUAL_FILES
group by table_name
order by 2 desc

Log Volumes
The number of log segments that consume space can either be determined using HANA Studio

or using SQL statements against view M_LOG_SEGMENTS

SAP note 1679938 explains how to free space in case that the log volume is full.

Trace Files

If the trace files are contributing to the disk usage of the file system where they are located

(see section Volume Size vs. Disk usage), then 2 cases have to be distinguished:

Space consumed by a large number of files that are not exceptionally large or
Individual files that are significantly larger than expected.

The number and size of existing trace files is influenced by the following factors:

(1) Activated trace components. This can be verified by using the following SQL statement:

select distinct("SECTION") as "TRACE"


from SYS.M_INIFILE_CONTENTS

where (("SECTION"='trace')
or ("SECTION"='sqltrace' and "KEY"='trace' and "VALUE" = 'on')
or ("SECTION" like 'traceprofile_%')
or ("SECTION" = 'expensive_statement' and "KEY"='enable' and "VALUE" = 'true'))
and "LAYER_NAME" = 'SYSTEM'

(2) Incorrect configuration of trace file rotation:


The relevant parameters are maxfiles and maxfilesize

(see HANA administration guide chapter 'Configuring Trace File Rotation')

ref: 1870858 - HANA Alerts related to files system utilization

47) Log Volume is Full and the Database Doesn't Accept any
new Requests

If the log_mode is set to legacy the logvolume keeps all log segments since the last full backup
in the logvolume.

If no backups are performed the logvolume can run out of space.

Solution

1. Stop the database:

HDB stop

2. Change into the folder mnt00001 of the logvolume (Default: /usr/sap//global/hdb/log):

cd /usr/sap//global/hdb/log/mnt00001

3. You have to move one of the logvolumes temporarily to another volume where enough space
is available.
You should free at least 2 GB of space to ensure that the database has enough space to start.

To find out the space consumption of each volume execute:

du -sh

4. Move a volume which consumes at least 2 GB of space (e.g. hdb00003)

to a volume with enough free space,

e.g. to the data volume (Default: /usr/sap//global/hdb/data):

mv hdb00003 /usr/sap//global/hdb/data

5. Create a symbolic link to the new folder in the old location:

ln -s /usr/sap//global/hdb/data/hdb00003 /usr/sap//global/hdb/log/mnt00001/hdb00003

6. Start the database (HDB start) and perform a backup

7. Use the following SQL-Statement to clean up the logvolume:

ALTER SYSTEM RECLAIM LOG;

8. Stop the database again and remove the symbolic link:


rm -f /usr/sap//global/hdb/log/mnt00001/hdb00003

9. Move the log volume back to its original location:

mv /usr/sap//global/hdb/data/hdb00003 /usr/sap//global/hdb/log/mnt00001

10. Start the database (HDB start)

ref: 1679938 - Log Volume is full (log mode = legacy)

47b) Move HANA Data and Log Files to a different Mount


Point

thanks to Jake Echanove

This section to be completed based upon this content

48) Using the REGI Tool to Deploy Content for Delivery


Units for example Translated Texts

HANA content is organized in software components called "delivery units" ("DUs").

DUs are distributed in the physical form of DU-TAR-GZ-files.


As for texts (e.g. view column descriptions), the DU TAR-GZ-files contain only the texts in the
original language (typically, English), but no translated texts (e.g. for German, Chinese etc.).

Translated texts for DUs are distributed in the form of Languages-DU-TAR-GZ-files.

At the moment (HANA SP5/revision 45), those cannot be imported using the SAP HANA
Studio.

To deploy translated texts, the command line tool "Regi" can be used.

"Regi" is bundled with the HANA client installation (it is also bundled with the HANA server installation).

Note that Regi is only included in the 64bit Windows and Linux versions of the HANA client.

Here is a step-by-step guide to deploy translated texts using Regi:

1) Start a command line window and navigate to the folder of your HANA client installation.

On Windows, the default location is:

C:\Program Files\sap\hdbclient

On Linux, the default location is:

/usr/sap/hdbclient

2) Set the user, password, host and port of the connection to the HANA system using
environment variables.

On Windows, the commands are:


set REGI_HOST=:315
set REGI_USER=
set REGI_PASSWD=

where "" is a two-digit number identifying the instance number of the HANA system.

On Linux (bash), replace the command "set" with "export":

export REGI_HOST=:315
export REGI_USER=
export REGI_PASSWD=

3) Import the Languages-DU-TAR-GZ-file with the following command:

regi import languages

Note that further help for the REGI command can be accessed as follows:

regi help import languages

ref: 1805967 - Deployment of Translated Texts for Delivery Units

49) Homogenous System Copy on SAP HANA

This is the procedure of the homogeneous system copy of SAP HANA using backup and
recovery.
The prerequisites are that you have installed an SAP system with SAP HANA as the primary
database

and you have installed SAP HANA Studio in which the database that is to be copied is set up as a
system.

The version of the SAP HANA database server must be at least Version 1.00 Revision 28.

For carrying out the system copy, you must use SWPM 1.0 Support Package 1 or higher.

The scenario for this reference example is: You want to copy the BW system PRD connected to
the database

PR1 to the BW system DEV connected to the database DV1. The name of the ABAP schema in
PR1 is SAPPRD.

Therefore, PRD is the source system (the system that is to be copied), PR1 is the source database
(the database system that is to be copied), DEV is the target system (the copied system), and
DV1 is the target database (the target database system).

SAPPRD is the (database) schema (the schema name) or the database user of the system.

Procedure

1. Use SAP HANA Studio to create a database backup.

For a full description of the procedure and the SAP HANA backup options, refer to

SAP HANA Database - Backup and Recovery Guide on SAP Help Portal.
a) In SAP HANA Studio, right-click the database system that is to be copied and choose
"Backup...".

b) If possible, select "Complete Data Backup" as the Backup Type and "FILE" as the Device
Type.

Under Location, enter a directory in which the backup files are to be stored and enter a prefix for
the backup files under Backup File Prefix.

Ensure that the backup directory contains sufficient free space for the backup and that no backup
that has the same prefix already exists there.

Then choose "Next".

c) Check your entries and choose "Finish" to start the backup or choose "Back" to correct your
entries.

d) Wait until the backup has been created and then close the dialog box.

2. Transfer the backup to the target system.

a) Copy all backup files to the standard backup directory of the target database system.

The backup files are saved in the standard backup directory of the source database system and
begin with the prefix entered in step 1.

The standard backup directory is defined in the database parameter

global.ini -> persistence -> basepath_databackup.

3. Use SWPM to import the backup.

a) Start SWPM.

b) Choose -> -> System Copy -> Target System -> ->

Based on -> Standard System.


c) Follow the dialogs.

d) In the dialog SAP System Database,

choose Homogeneous System Copy (SAP HANA-specific Backup/Recovery).

e) In the Database Schema dialogs, enter the schema names and the passwords that match the
data in the backup.

For example, if you install a system DEV and use a backup of the system PRD for the
installation, you must specify SAPPRD as the schema in the dialogs but not SAPDEV.

The same applies to the DBA Cockpit schema.

f) In the dialog Database Recovery, enter the name (prefix) of the backup.

In addition, you can specify whether you want the system to check whether the backup exists.

If this check is deactivated and the backup does not exist, the installation will terminate with an
error at a later time.

You also have to specify the password of the adm user of the database and the SAPControl URL.

The system prefills the SAPControl URL; it usually does not have to be changed.

4. Installation

a) After you complete the following dialogs, you can start the installation.

b) During the installation, the system may issue an error message such as:

Error during execution of HdbCmdClazz 'ABAP_PRE_LOAD_EXECUTION'

com.sap.hdb.core.main.cmd.HdbCmdMain
Error during execution of SQL command:

ALTER SYSTEM ALTER CONFIGURATION ('indexserver.ini', 'SYSTEM' ) SET

('distribution', 'client_distribution_mode') = 'statement' WITH RECONFIGURE SAP

DBTech JDBC: http://scn.sap.com/437 : only commands for license handling are allowed in
current state.

In this case, a new license is required for the target database.

This license must be implemented manually using the SAP HANA Studio.

To do this, right-click the target database system in the SAP HANA Studio and choose
"Properties".

In the subsequent dialog, choose "License" and then choose "Install License Key".

Select a valid license for the target database and confirm your selection with "OK".

As soon as the license has been installed successfully, you can proceed with the installation in

the SWPM by choosing "Retry".

5. Additional adjustments after the installation

a) Check the secondary database connections.

After you copy the database, the target system has the same database connections (for example,
for the DBA Cockpit) as the source system; this may cause problems.
Therefore, you must check the database connections in transaction DBCO and adjust them if
required.

b) Check the RFC connections.

After you copy the database, the target system has the same RFC connections as the source
system; this may cause problems.

Therefore, you must check the RFC connections in transaction SM59 and adjust them if required.

c) Check the spool configuration.

After you copy the database, the target system has the same spool configuration as the source
system.

Therefore, you must check the spool configuration in transaction SPAD and adjust it if required.

6. The system copy is now complete.

ref: SAP Note 1763333 - Homogeneous system copy on SAP HANA

50) HANA License Key Request and Installation

To request your license key, always access SAP Service Marketplace at


http://service.sap.com/licensekey

(this is a simple and safe way to request your license key).

Data required for the license key request:


Installation number, system ID, system type, SAP product, product version, hardware key,
operating system, and main memory amount

The incoming requests are processed automatically within a few hours (maximum processing
time: three working days).

Determining the hardware key and the SID

This information is displayed in the SAP HANA Studio on the attributes page of the system.

Perform the following steps to read this:

In the SAP HANA Studio, select your system in the Navigator and choose the option to display
the attributes in the context menu of the system.

In the navigation area, choose the option to display the license.

Note that you require the system authorization LICENSE ADMIN to access this page.

License key request

Proceed as described below to create a license key request on

SAP Service Marketplace at service.sap.com/licensekey.

On the "Request license keys" tab page, choose either "Search an installation" or "select it from a
list" and search for an ERP or an SAP NetWeaver installation.

In the installation list, you can enter the installation number directly in the blank field in the
column for the installation.
Alternatively, you can also use the installation search. Here, the system displays all of the
installation numbers for which you have to request the license key authorization.

License key request for a new SAP HANA database

Choose "New system" and enter all required data.

To proceed to the hardware data, choose "Continue".

Enter your hardware key, the amount of main memory (in GB), and the validity date.

You can also split your acquired SAP HANA license (total amount) over several instances (also
over several installation numbers).

Choose "Save" to save your entries.

Choose "Continue" to display all the system data again.

Enter your e-mail address and choose "Send".

If the required amount of main memory exceeds the licensed amount, the license key is reduced
by the difference accordingly so that, at the most, the licensed amount can be called.

If the entire amount has already been called, only temporary keys are issued.
Therefore, always check how much main memory you have currently licensed by contract.

For test and development systems, you can request license keys as required.

These license keys are permanent and contain the licensed memory amount number for each
request at the most.

Downloading the license key

In this system overview, click the required system ID under an installation number.

Choose "Continue" and select the relevant entry.

Choose "Display license script" and "Download to PC".

You can then choose "Open - File - Save as" to save the license key file directly to your host.

Installing the license key

You can install a permanent license key, which you received by e-mail or download, in your SAP
HANA database only by using SAP HANA Studio.

The prerequisite for this is a database user with the system authorization LICENSE ADMIN.

Carry out the following steps to do this:


In SAP HANA Studio, navigate to the properties page of the database for which you have
requested the license key.

On the properties page, choose the button for installing the license key.

Navigate to your license file and select it.

After a successful confirmation, the properties page of the system is updated with the new
license information if this is valid for the database.

Another option of installing a license key is to use the SQL command line of SAP HANA Studio.

In this case, you also require a database user with the system authorization LICENSE ADMIN,
who can install a license key with the following SQL command:

SET SYSTEM LICENSE ''

Note that you must use the complete content of the license file, including the line breaks, for this
command.

If the specified license data is correct and corresponds to the database (hardware key, system ID),
the license is updated in the database, and you can verify it in the system view M_LICENSE.

Emergencies

If a production standstill occurs, you can create a message with priority 1 under component XX-
SER-LIKEY to request a temporary license key that is valid for one week.

The following data is required for the license key to be issued:


System ID, hardware key, and installation number.

The key is issued immediately. Request a permanent license key within this week.

ref: Note 1644792 - License key req./installation SAP HANA databases (HANA SPS3)

50a) License key/installation of SAP HANA platform edition

There is a very useful SAP Note describing the whole process:

50b) HANA Architecture - Instances Based on Application


Server Java Released For Use With HANA Database 1.0

With SAP NetWeaver 7.4 SP04 the components of the following instances based on Application
Server Java are released for use with SAP HANA Database 1.00:

Application Server Java

NW Product Description

Adobe Document Services

PDF Export

Demo Applications

BPM

EP Core - Application Portal

Enterprise Portal

BI Java
Advanced Adapter Engine

PI Adapter Engine (Java EE)

Enterprise Services Repository

Composite Application Framework

Composition Platform

Guided Procedures

AS Java Extensions

Development Infrastructure

Please Note: there are some warnings and conditons

Make sure to check SAP Note:: 1849151 - SAP NetWeaver 7.4 Java On HANA Release
Information

And the Platform Availability Matrix

51) HANA Architecture - Multiple HANA db's Databases on


one HANA Appliance

Latest Update: 14th June 2013 - this can be subject to change

Definition: "SAP HANA appliance": "SAP HANA appliance" means a single SAP HANA node
server or a scale-out cluster of multiple server nodes within one logical SAP HANA system.

This described scenario has also been called Multiple Components One System (MCOS) in
regards to other SAP applications. The term "SAP HANA system" is used interchangeably with
the term "SAP HANA appliance".
In this context, some new terms are introduced: "Multiple DBs One HANA" (MDOH), and
"Multi-SID".

SAP's Support Status:

Important: When considering the support status, bear in mind that the items in the "special
considerations" section which follows must be taken into account.

SAP does not support running multiple SAP HANA databases on a single production SAP
HANA appliance

SAP does support running multiple SAP HANA databases on a single non-production
(DEV, QA, test, etc) single-node SAP HANA appliance.

While SAP HANA is delivered by the hardware partners with one DB installed, additional DBs
can be installed by an SAP consultant who has access to SAP internal documentation for this
purpose.

SAP does support multiple DBs on a distributed (multi-node) non-production SAP HANA
system as an SAP-managed project solution.

Additionally., SAP plans to offer generally available support for this in the near future; this note
will be updated when this status changes.

Special Considerations:

Please ensure that your system is sized appropriately for any additional DBs that you wish to
deploy. SAP recommends working closely with your hardware partner to ensure adequate
capacity planning.

Please be aware that running multiple DBs on one SAP HANA system may impact performance
of various types of operations, as contention for memory resources may occur.
This performance impact may appear despite adequate sizing.

Note this multiple DB one SAP HANA configuration is only available for non-production
SAP HANA systems, where consistently fast performance is generally not as critically
important as with production systems.

If performance issues arise when running multiple DBs on one SAP HANA system, stop all but
one of the DBs and see if the performance issue persists.

SAP support have stated they will only address the performance issue only if it exists when
only one DB is running on the SAP HANA system.

ref: SAP Note 1681092 - Support for multiple SAP HANA databases one HANA

52) HANA Architecture - HANA MCOD Multiple


Applications or Business Suite Scenarios & Components
Running On One HANA System

Latest Update: 30th June 2014

There is a very interesting discussion on this subject over here.

While there are some important exceptions, in general, SAP generally does not currently
support the deployment of multiple applications (or scenarios) within a single SAP HANA
system in a Production environment.

Also note this means that SAP generally does not support a packaged application from SAP
residing together in the same SAP HANA system as the scenario "Custom Data Marts".
The following applications can run together with other applications on one Production SAP
HANA system

"Custom Data Marts"

SAP CO-PA Accelerator

ERP Operational Reporting with SAP HANA

SAP Finance and Controlling Accelerator: Material Ledger

SAP Finance and Controlling Accelerator: Production Cost Planning (aka"CO-PC Accelerator")

"SAP NetWeaver BW powered by SAP HANA (BW on HANA). For more information,refer to
SAP note 1666670.

SAP Suite Accelerator (aka "Application Acelerator")

Things to take into consideration when running multiple components on one HANA system

Upgrades and patches:

- Applying SAP HANA support packages and revisions will affect all applications residing
within the SAP HANA database or utilizing other SAP
HANA components.

- Applications deployed on a single SAP HANA may have to be patched and/or upgraded at the
same time due to direct dependencies on SAP HANA patch levels.

- Packaged Applications releases, support packages or patches may have direct dependencies on
SAP HANA revisions, patches and support packages.

- Packaged applications may have independent release cycles to SAP HANA and may have
independent timeline for support of SAP HANA release levels and support packages.
Resource allocation and capacity planning:

If you are running multiple applications on one SAP HANA system, there is a risk that one
application's processing operations could consume a
significant amount of available CPU and memory resources, thereby reducing the amount of
such resources available for the processing operations of the other applications at a given point in
time.

Such contention for system resources may negatively impact performance of any one
application's processing operations.

Therefore, you must consider one application's impact on another.

An additive sizing approach is required for all applications running on a single SAP HANA
system.

This means that when performing capacity planning, you must determine the resource allocation
needs for each application, then add them together to estimate the required sizing for your SAP
HANA system.
It is important to avoid underestimating sizing, as this will help mitigate the risk of performance
issues due to contention for system resources.

System Management, Workload Management and Monitoring:

SAP HANA monitoring, debugging and support tools are not individual application or schema-
specific, they are supported at the SAP HANA database level.

SAP HANA scale out distribution options (including node fail over) is offered at the database
level, not at an individual application or component level.

Stopping and starting the database is a database wide operation.+


Backup &; Recovery:

- Backup and Recovery is currently supported only at the SAP HANA database and component
level (e.g. SLT, Data Services) and not at a specific
application level in an MCOD scenario.

This means that a point-in-time recovery for the SAP HANA system will impact all applications
residing on that SAP HANA system.

Please note that various point-in-time recovery scenarios (recovering SAP HANA or recovering
a connected SAP Business Suite system) will likely entail re-initializing and re-loading
replicated data into SAP HANA.

Depending on data volume, this could be a time-consuming process.

Lifecycle management:

- All applications should be isolated from each other in separate database schemas.

- System copies of applications are not available at an individual applications level.

High Availability &; Disaster Recovery:

- HA and Disaster Recovery is currently supported only at the SAP HANA database and
component level (e.g. SLT, Data Services) and not at a specific application level.

Security:

- Customers are responsible for implementing security models to protect and/or isolate
application artifacts (e.g. users, data, metadata, database
objects)
Production support systems ("Break fix systems") and Quality assurance system:

- It is recommended that "break fix" and QA systems have the same configuration as the
production system so that customers can replicate
issues and test corrections in systems that are representative of the production environment.

ref: 1661202 - Support for multiple applications on SAP HANA

and the complimentary OSS Note

1826100 - Multiple applications SAP Business Suite powered by SAP HANA

53) HANA Architecture - How To Copy a Multiple Host SAP


HANA Databse onto Single Host HANA System

1. Create a data backup of the source database.

More information: SAP HANA Backup and Recovery Guide, available on SAP Help Portal

2. Check that there is sufficient disk and main memory capacity on the target database host.

The available main memory should be able to hold at least twice the size of your row store data.
To find out how much this is, execute the following SQL statement:

1. select sum(allocated_page_size)
2. from M_CONVERTER_STATISTICS
3. where type = 'RowStoreConverter';

The result is the total size in bytes.

Multiply this value by 2 to obtain the absolute minimum size of main memory required.

More information: SAP Note 1514966

3. Configure additional indexservers on the target database.

The total number of index servers on the target database must be the same as on the source
database.

(The number of index servers is normally the same as the number of hosts.)

Thus additional index servers must be configured in your target database.

To configure additional index servers, you need to change the daemon.ini file.

To change the daemon.ini file, execute the following statement (for example, with instanceids 40
and 42):

alter system alter configuration('daemon.ini','system')

set('indexserver.c','instanceids')='40,42' with reconfigure;


This statement adds entries such the following to the daemon.ini file:

[indexserver.c]

instanceids = &,&,...

&and &must be even numbered ports starting at 40 with an interval of 2.

For example, for a triple host source system, you would need two additional instanceids and you
can use 40, 42, ...

4. Check that the additional index servers are configured in your target
instance.

In SAP HANA studio, go to the Landscape tab.

The additional index server processes should be dislayed.

The description indicates which are the added index servers ("HDB Tenant Index Server on Port
300&", where & corresponds to the instanceids you elected earlier).

5. Shut down the target database.

6. Move or delete available data and log backup files from the target database.

7. Move or delete the backup catalog files, if they exist:


$(DIR_INSTANCE)/../SYS/global/hdb/metadata/

BackupCatalog.xml

$(DIR_INSTANCE)/../SYS/global/hdb/metadata/

BackupCatalog_Recover.xml

8. Copy the data backup files and, optionally, the log backup files from the source database to the
corresponding directories in the target database.

Note:

The directories for data and log backup are defined by the parameters basepath_databackup and
basepath_logbackup in the global.ini file.

9. Start the recovery of the target database system.

In SAP HANA studio, select the target database system and choose Recovery... from the context
menu.

10. Select a recovery type.

For example, Recover the database to its most recent state.

11. Choose Next.


12. Check that the specified default locations of the data and log backup files for the target
database matche the backup files that you have copied.

13. Select the option Initialize log area and confirm the warning.

14. Select the option Install new license and specify the license file.

15. Choose Next.

16. Choose Finish to start the recovery.

ref: SAP Note 1749467 - Copying SAP HANA From a Multiple- to a Single-Host System

54) HANA Architecture - SAP Business Suite System


Powered by SAP HANA - Multi Node (Scale Out) Support

[Latest update: 17/01/2014]

HANA multi-node configurations are used for different purposes:

a) High-availability with standby nodes

b) Scaling memory (scale-out)


See also chapters 10 and 14.3 of the HANA Administration Guide
(http://help.sap.com/HANA/HANA_admin_en.pdf ).

The following restrictions for usage of

SAP EHP 6 for SAP ERP 6.0, version for SAP HANA

SAP EHP 2 for SAP CRM 7.0, version for SAP HANA

SAP EHP 2 for SAP SCM 7.0, version for SAP HANA

apply:

a) High availability scenarios in a multi-node cluster with a standby-node are released for the Suite
on HANA, but are restricted to the simplest case of two servers (one worker, one standby) only, since
scale-out in general is not yet supported for Suite on HANA.

b) Scale-out scenarios with multiple worker nodes to scale memory are not yet released for Suite on
HANA.

It is recommended to scale-up memory by using a hardware configuration that maximizes the


available database memory.

ref: SAP Note 1825774 - SAP Business Suite Powered by SAP HANA - Multi-Node Support

54a) HANA Architecture - Hardware Pre-requisites for


Business Suite on SAP HANA Scale Out
SAP have published very precise mandatory hardware configuration requirements for the SAP
Business Suite powered by HANA Scale Out.

The prerequisites, precisely specify the:

Number of CPU Sockets per node

Memory per node in TB

Clustersize limitation, ie, number of worker nodes + failure

And a warning that the hardware vendor must get the architecture approved by SAP

All of this information is specified in the SAP Note 1950470 which is kept up to date

ref: SAP Note 1950470 - Hardware Prerequisites for Business Suite on SAP HANA Scale Out

54b) HANA Architecture - Guidance from IBM and SAP for


Highend Customer Landscapes based on SAP HANA

Attention has been drawn to this document by +HANA Distinguished Engineer and SAP Mentor
Tomas Krojzl .

This document is guidance for large Customers implementing HANA.

The document is a must read for all HANA Basis Architects involved in HANA
implementations.

High-end customer landscapes based on SAP HANA+ -


http://public.dhe.ibm.com/common/ssi/ecm/en/xsw03129usen/XSW03129USEN.PDF
1650046 - IBM SAP HANA Appliance Operations Guide

Checkout the PDF's attached to the OSS Note

54c) HANA Architecture - SAP HANA Landscape


Redistribution with SP6

this section is under construction and and will be based upon Jochen Becker 's excellent blog

SAP HANA Landscape Redistribution with SP6

54d) HANA Architecture - How to connect BI applications to


SAP HANA when there are multiple HANA servers (cluster)

When connecting BI applications to HANA how do you provide failover when HANA is
distributed across

multiple servers (clustered)

When using SSO connections to HANA (kerberos SAML) how to setup connections to
provide failover.

The following OSS Note explains everything:

1990413 - How to connect BI applications to SAP HANA when there are multiple
HANA servers
55) How to Overcome the HANA Hardware Check or
Hardware not recognised errors during Installation

You have received new hardware from your Hardware-Partner for your SAP HANA appliance or
recently bought a new SAP HANA on top of new hardware.

When installing the newest SAP HANA Revision the hardware check fails for your hardware
configuration.

Beginning with SAP HANA Revision 18 a new Hardware check is mandatory when executing
the SAP HANA Installer.

The reason for this check is the elimination of problems due to wrong or unsupported Hardware configurations in
combination with the SAP HANA appliance.

Since hardware validation is a continuing process as new hardware becomes available on the
market, the check for allowed configurations will change over time to include newly certified
hardware.

When installing any SAP HANA Revision your new hardware may not be recognized by the
check, because it was not yet included at the corresponding release date.

The solution to this problem is, to go to SAP Note

'1658845 - Recently certified SAP HANA hardware not recognized'.

Attached to that note you will find the most recent version of the Hardware Check including all
validated hardware.

Before triggering the installation again please replace the file


'HANAHwCheck.py'

in the

'server\linuxx86_64\SAP_HANA_DATABASE\server'

subdirectory of your SAP SMP download with the version attached to this note.

ref: OSS 1658845 - Recently certified SAP HANA hardware not recognized

56) SAP HANA and the SLD System Landscape Directory

For the receiving SLD to display the HANA database as the CIM instance "HANA Database
System" (SAP_HDBSystem), the SLD must meet the prerequisites specified in Note 1649323.

If the SLD does not meet the pre-requisites then it is necessary to apply the Java patches to the
SLD according to SAP Note 1649323.

To successfully register the SAP HANA Database in the SLD use either:

- sldreg, following the HANA Installation Guide with SAP HANA unified installer, page 46,
chapter 2.3.7.5 Configuring a SAP HANA System to Connect to System Landscape Directory
(SLD)

You can use the HANAconfig program to configure a SLD connection.

For more related information, see SAP notes 1673424 and also 1649323.
Make sure you meet these prerequisites:

You identify the existing system, created by an installation or a file system copy, that is to be
configured with SLD.

You mount the DVD with the HANA configuration tool, which you can find at the following
location on the SAP HANA DVD:

&\DATA_UNITS\HANA_IM_LINUX__X86_64

You are logged in as the root user

Configuring Connection to SLD in GUI

In GUI mode, you are prompted to enter the required parameters.

If you specify the host name, make sure that it is fully qualified, such as:

myhost.sap.com (not just myhost).

1. Connect to the system with an X server client to enable GUI system access.

2. Open a root shell and go to the directory where you mounted the SAP HANA DVD, by
entering a command like the following:

cd /mnt/ &DATA_UNITS/HANA_IM_LINUX__X86_64
3. Call the script in GUI mode:

./HANAconfig.sh gui

The wizard starts.

4. Choose Configure SLD Connection, then Next . Follow the instructions of the wizard.

Configuring Connection to SLD in Interactive Mode

Before you continue, make sure that you meet these prerequisites:

You are logged on to the host where the server software is installed.

You are logged on as the root user.

In interactive mode, the program queries all essential parameters that are not defined using
command line options and if invalid parameters are entered the program interrupts the process.

1. Open a root shell.

Running SAP HANA Unified Installer

2. Go to the following directory:


cd /mnt/&DATA_UNITS/HANA_IM_LINUX__X86_64

3. Enter the following command:

./hanconfig.sh sldconfig

4. Specify the data requested by the program.

Configuring Connection to SLD in Batch Mode

Before you continue, make sure that you meet these prerequisites:

You are logged on to the host where the server software is installed.

You are logged on as the root user.

In batch mode, you specify all required values using command line options.

If you omit required values or specify invalid values the program interrupts the process.

1. Open a root shell.

2. Go to the following directory:

cd /mnt/&DATA_UNITS/HANA_IM_LINUX__X86_64
3. Run the HANAconfig program in batch mode using the sldconfig task:

./hanconfig.sh --batch sldconfig &

For the list of all available options, you can call the tool help, by entering ./HANAconfig --help

4. Specify the data requested by the program.

- RZ70

ref: 1871902 - Cannot find registered HANA DB system in the Technical Systems view of the
SLD

57) SLD Configuration for Multiple SAP HANA databases

SAP HANA On-site Configuration does not support multiple systems installed on appliance.

This limitation is related only to the SPS04 release.

In SPS05 the On-site Configuratio supports multiple systems on single SAP HANA appliance.

If you need to configure SLD connectivity for multiple systems in SPS04 the best approach is to
update the systems and the On-site Configuration tool

to SPS05. In this way you will have system and tools with the correct and integrated behaviour.
If this is not possible you can configure the SLD connection manually by using the sldreg tool.

Example:

su &adm -l -c '"/usr/sap/&SYS/exe/hdb/sldreg" -configure

"/usr/sap/&SYS/global/slddest.cfg"'

Replace &with the SID of your system.

For addtional SLD configurations you can take a look in the SAP HANA

Database # Administration Guide on http://help.sap.com/HANA_appliance

ref: SAP Note 1787755 - SLD configuration for multiple SAP HANA databases in SPS04

58) How To Handle Common SAP HANA Alerts

. OSS 1897236 - #SAP #HANA : Error "insufficient privilege: Not authorized" in SM21

. OSS 1898460 - #SAP #HANA : How to handle alert "Check internal disk full event"

. OSS 1898505 - #SAP #HANA : How to handle alert "Check last save point time"

. OSS 1899511 - #SAP #HANA : How to handle alert 'Check currently utilized percentage
of main memory'

. OSS 1899528 - #SAP #HANA : How to handle alert 'Check for new rte dump file'
. OSS 1899480 - #SAP #HANA : How to handle alert 'Check license expiration'

. OSS 1900261 - #SAP #HANA : How to handle alert 'Check a long lived cursor'

. OSS 1900296 - #SAP #HANA : How to handle alert 'Check database supports point-in-
time recovery'

. OSS 1900267 - #SAP #HANA : How to handle alert 'Check whether the database is
running in log mode overwrite'

. OSS 1900257 - #SAP #HANA : How to handle alert 'Check used memory against
allocation limit'

. OSS 1900788 - #SAP #HANA : How to handle alert 'Check last log backups'

. OSS 1900730 - #SAP #HANA : How to handle alert 'Check the age of last data backup'

. OSS 1900795 - #SAP #HANA : How to handle alert 'Check last data backup'

. OSS 1900728 - #SAP #HANA : How to handle alert 'Check whether a data backup
exists'

. OSS 1900682 - #SAP #HANA : How to handle alert 'Check availability of volumes for
backup'

. OSS 1898317 - #SAP #HANA : How to Handle Alert Check host free physical
memory

. OSS 1910188 - #SAP #HANA : How to Handle Alert Check record count of column
table partitioned

. OSS 1910159 - #SAP #HANA : How to Handle Alert Check number of connections

. OSS 1910169 - #SAP #HANA : How to Handle Alert Check for not assigned volumes

. OSS 1909641 - #SAP #HANA : How to Handle Alert Check param mergedog delta
merge

. OSS 1909707 - #SAP #HANA : How to Handle Alert Check lock waittimeout

. OSS 1909763 - #SAP #HANA : How to Handle Alert Check record count of not
partitioned column table

. OSS 1909742 - #SAP #HANA : How to Handle Alert Check delta memory record
counttable column count
. OSS 1909670 - #SAP #HANA : How to Handle Alert Check host CPU utilization

. OSS 1902033 - #SAP #HANA: How to Handle Alert Check Inactive Service

58b) How to Handle Empty Column Store Tables have large


size on disk

After deletion of all entries, a column-store table can still have a large size on disk. In seldom
cases,

this can be several gigabytes.

Checkout OSS Note:

2014987 - Empty column-store tables have large size on disk

58c) How to Handle High Memory Consumption and


constantly growing on Pool/RowEngine/QueryExecution
You experience memory related issues, e.g:

o Out of memory (OOM) dumps


o Memory related SAP HANA alerts

o High memory consumption of SAP HANA

o Heap memory is constantly growing

Checkout the manual steps and useful SQL statements in the OSS Note:
2000792 - SAP HANA: High Memory Consumption and constantly growing on
Pool/RowEngine/QueryExecution

58d) How to check Master Job Status

One Master Job (Monitoring Job) exists for each configuration that calls the initial load jobs
and the data transfer

jobs in the SAP LT Replication Server.

Every day at midnight, the monitoring job and related data load jobs - but not the migration
object definition or

access plan calculation jobs are automatically stopped and restarted immediately.

This action has no negative impact on the ongoing data load and replication, it will simple
resume immediately.

The following OSS Note details how to handle this:

1971421 - How to check Master Job Status

58e) How to check Load Job Status

One or several load (data transfer) jobs are used for the data transfer process in the SAP LT
Replication Server.
They are controlled by the corresponding master job.

If the master job is stopped then all data transfer jobs are stopped too.

The following OSS Note details how to handle this:

1971486 - How to check Load Job Status

58f) How to test HANA connector

How to test the HANA connector after, creating the HANA connector from tcode DBCO

The following OSS Note details how to handle this:

1998550 - How to test HANA connector

58g) HLM: Updating SAP HANA Troubleshooting

Hana Lifecycle Management and Troubleshooting is explained in detail in this OSS

Note:

1995791 - HLM: Updating SAP HANA Troubleshooting


and

SAP Update and /configuration Guide

58i) How to Handle High Memory Consumption due to


Translation Tables

You experience memory related issues, e.g.:

o Out of memory (OOM) dumps.


o Memory related SAP HANA alerts.

o High memory consumption of SAP HANA.

o Unloads, performance decrease and other consequences of memory bottlenecks.

The following OSS Note describes how to handle this situation:

1998599 - SAP HANA: High Memory Consumption due to Translation Tables

59) Solution Manager Diagnostics Agent Installation On SAP


HANA Systems

The setup and configuration for Diagnostics Agent on SAP HANA Systems is described in the
SAP Note:

1903157 - Diagnostics Agent installation on SAP HANA systems


60) Optimal Settings for Suse Linux SLES 11 SP2 and SLES
11 for SAP SP2

The optimal settings for Suse Linux are described in SAP Note:

1824819 - SAP HANA DB: Recommended OS settings for SLES 11 / SLES for SAP
Applications 11 SP2

1944415 - Hardware Configuration Guide and Software Installation Guide for SUSE Linux
Enterprise Server with SAP HANA and SAP

60a) Hardware Configuration Guide and Software


Installation Guide for SUSE Linux Enterprise Server with
SAP HANA and SAP Business One

The SAP HANA database for SAP Business One runs on SuSE Linux Enterprise Server 11
(SLES 11).

The following OSS Note intends to provide instructions on how to configure the certified
hardware platforms

and some additional information

1944415 - Hardware Configuration Guide and Software Installation Guide for SUSE
Linux Enterprise Server with SAP HANA and SAP Business One
60b) RedHat Linux Support For SAP HANA Since SPS08

Since SAP HANA Platform SPS08, RedHat Linux is now aa supported Operating System.

More information is available in

2009879 - SAP HANA Guidelines for RedHat Enterprise Linux (RHEL) Operating System

2004651 - SAP HANA Platform SPS 08 Release Note

60c) RedHat Linux Installation and Upgrade

see SAP Note:

1496410 - Red Hat Enterprise Linux 6.x: Installation and Upgrade

60d) RedHat Linux Recommended Operating System OS


Settings for SAP HANA on RHEL 6.5

see SAP Note:

2013638 - SAP HANA DB: Recommended OS settings for RHEL 6.5

60e) SAP HANA Guidelines for Red Hat Enterprise Linux


(RHEL) Operating System

There is an SAP Note:


2009879 - SAP HANA Guidelines for Red Hat Enterprise Linux (RHEL) Operating System

Pay particular close attention to this SAP Note because it contains a very nice pdf attachment entitled:

Red Hat Enterprise Linux RHEL 6.5 configuration guide for SAP HANA

61) Forward Port 80 to XS Engine (8080)

Thanks to Paul Aschmann for this contribution

This is helpful if you would like your web app to be available on the default/standard HTTP port

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8000

62) XS Engine Debug / Developer Mode

Thanks to Paul Aschmann for this contribution

Enable the developer mode which provides details on execution/runtime errors when helps
during development (rather than getting generic 500 errors).

From HANA Studio, open Administration

-> Configuration

-> xsengine.ini

-> httpserver

-> developer_mode = true


63) How To Check SLT Trigger Status

see SAP Note 1971603 - How to check SLT Trigger Status

64) Network Ports Used By SAP HANA Database For


Internal And External Communication

SAP Note 1984858 - Network ports used by SAP HANA database for internal/external
communication

65) Troubleshooting Guide For SAP Business One 9.0


Running On SAP HANA

SAP Note 1969397 - Troubleshooting Guide for SAP Business One 9.0, version for SAP
HANA

66) Support Processes For Backup Software And SAP


HANA

2031547 - Overview of SAP-certified 3rd party backup tools and associated support process

SAP Notes:

1957450 - SAP HANA Backup Support Process for CommVault Simpana

1970558 - SAP HANA Backup Support Process for HP Data Protector

1957450 - SAP HANA Backup Support Process for CommVault Simpana


1913568 - SAP HANA Backup Support Process for Symantec NetBackup

1913500 - SAP HANA Backup Support Process for IBM Tivoli Storage Manager

1986958 - Common issues / Configuration recommendations for Symantec NetBackup for SAP
HANA

66b) HP Reference Architecture for SAP HANA Backup and


Recovery

This is a very nice document from HP explaining a reference architecture for SAP Hana
Backup and Recovery.

67) SAP HANA Internet of Things IoT Edition

Internet of Things IoT represents a strategic direction for SAP with HANA.

Published on Friday 8th May, is the SAP Note for the SAP HANA Internet of Things IoT
Edition:

2008304 - SAP HANA platform, Internet of Things (IoT) edition 1.0 Central Note

2010194 - SAP HANA platform, Internet of Things (IoT) edition 1.0 SP01 Release Information
Note

68) SAP HANA FAQ Frequently Asked Questions

SAP have published a fantastic SAP Note full of SAP HANA Frequently Asked Questions, it is here:
2000003 - FAQ: SAP HANA

SAP have now published the FAQ for SAP Hana Memory

1999997 - FAQ: SAP Hana Menory

69) The Configuration and Usage of SAP Hana Web-based


IDE

Contributed with the permission of Yuan Fang

For SAP HANA developer, SAP HANA Studio is a common client tool to develop or manage
on SAP HANA.

At the same time, SAP HANA XS engine also provides a web-based development
environment. Only using a web

browser, you can perform some simple development. When you either cannot install and use
SAP HANA studio

locally or you need to develop from a remote location, you can use this IDE.

This web-based IDE is called SAP HANA Web-based Development Workbench, which
contains four modules:

o Editoroperate objects in HANA repository.


o Catalogmanage objects in catalog.

o Securitymanage users and roles.


o Tracecheck or download trace files of XS applications.

The whole blog is here, The Configuration and Usage of SAP HANA Web-based IDE

70) Prepare a SAP Hana System for SAP Lumira installation

There is an excellent blog written by Xing Jin where all of the steps to preparing a SAP Hana

system for SAP Lumira installation are explained and with screenshots.

Prepare a HANA System for Lumira Server Install

71) SAP Hana on AWS Amazon Web Services

Amazon Web Services is a popular Cloud based hosting option for SAP Hana.

The main url for information on SAP Hana on AWS Amazon Web Services is:

SAP HANA

Amazon Web Services have produced some excellent introduction guides:

SAP Hana on AWS Amazon Web Services Quick Start Guide

SAP Hana on AWS Amazon Web Services Implementation and Operations Guide
72) SAP Hana on VMWare vSphere

SAP Hana on VMWare vSphere, the full documentation is here:

https://www.vmware.com/business-critical-apps/sap-virtualization/sap-hana.html

FAQ - SAP Hana on VMWare vSphere for Production Environments

SAP Hana on VMWare vSphere Best Practices Guide

72b) SAP HANA Support for VMWare Virtualized


Environments

There is a fantastic SAP Note from SAP explaining all of the most important information
regarding

HANA Support for VMWare Virtualized environments.

Visit the SAP Note regularly, because it is the most up to date source of information in this are:

1788665 - SAP HANA Support for VMware Virtualized Environments

73) SAP Hana Rules Framework 1.0


The SAP HANA rules framework provides a set of tools enabling business users and
application developers

to build decision logic based on the organization's data. This rule engine applies rules and
actions as defined

by end users without affecting how the application runs.

Using the SAP HANA rules framework, you can plan your decision support application
development by:

Identifying the business logic to be represented by rules in your application and


implement the out calls for rule execution
Identifying data sources for your rule elements, defining alternative actions and phrasing
them all using an end user vocabulary, which will later be used as the foundation for all
user-entered logic
Designing the application user interfaces that, in designated areas, should allow the
insertion of business logic

2014934 - SAP HANA Rules Framework 1.0 Release Note

SAP MarketPlace contains all of the implementation guides and security information.

Appendix - Useful Documentation

The SAP Basis Administrator's Toolbox contains the longest list of SAP HANA Basis
related SAP Notes available in one place on the Internet

SAP's Experience HANA Website http://www.experienceHANA.com/welcome


SAP's HANA Academy

Lars Breddemann's blogs

John Appleby's blogs

Vivek Singh Bhoj's SAP HANA Reference for Developers Part I Part II and other blogs

Bill Ramos's Ultimate Set of HANA related links from SAP

Tom Cenen's How to Achieve SAP HANA Certified Technology Associate Certificati

Você também pode gostar