Skip to Content

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

                        Interactive Contents

SAP HANA Commands and Command  Line Tools and SQL Reference Examples for NetWeaver Basis Administrators


1) Stop HANA


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













































































2a) Start HANA


./HDB start
/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.


cdexe
./sapcontrol -nr &-function &















































































On the current (revision 56) developer edition,

cdexe takes you to


/usr/sap/HDB/SYS/exe/hdb















































































which is linked to


/usr/sap/HDB/exe/linuxx86_64/hdb
imdbhdb:~ # su - hdbadm
imdbhdb:/usr/sap/HDB/HDB00> cdexe
imdbhdb:/usr/sap/HDB/SYS/exe/hdb> pwd
/usr/sap/HDB/SYS/exe/hdb
imdbhdb:/usr/sap/HDB/SYS/exe/hdb> cd ..
imdbhdb:/usr/sap/HDB/SYS/exe> ls -la
total 8 drwxr-x- 2 hdbadm sapsys 4096 2013-01-25 14:17 .
drwxr-x- 3 hdbadm sapsys 4096 2013-01-25 14:17 ..
lrwxrwxrwx 1 hdbadm sapsys  25 2013-01-25 14:17 hdb -> ../../exe/linuxx86_64/hdb
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


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















































































4) Start the name server:


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















































































5) Start an index server in a new console:


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















































































6) hdbuserstore

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


hdbuserstore SET & & & &















































































For example:


hdbuserstore SET millerj localhost:30115 JohnMiller 2wsx$RF















































































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


hdbuserstore LIST &















































































For example:


hdbuserstore LIST millerj















































































The following information is displayed


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















































































Call hdbsql with the user key:


hdbsql -U &















































































For example:


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 don’t 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 :-


/wp-content/uploads/2013/05/pic1_426110.png

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



/wp-content/uploads/2013/05/pic2_426112.png


No error so all is good.

5. Check LTR as well :

/wp-content/uploads/2013/05/pic3_426113.png

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 user’s password is lost, you can use the SAP system user
to reset the password.

To recover an SAP HANA instance where the SYSTEM user’s 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:
    • 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
    • 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:
    • Stop the indexserver process by entering “quit” in the SQL console
    • 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:

    • Migrating the old SAP HANA file system structure to the new
      shared layout during the selfupdate process
    • Handling the lm_structure content in a consistent way
    • Keeping the system consistent via update of all the components
      which are installed on the HANA box
    • Checking the correct component version dependencies. In case of
      inconsistencies an error is generated and execution will be stopped
    • 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:

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:


RECOVER DATABASE UNTIL TIMESTAMP '2011-08-22 15:00:00' CHANGE ALL DATA USING PATH
  ('/backup/MONDAY/') CHANGE ALL LOG USING PATH ('/backup/logs1/','/backup/logs2/')















































































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:

    • enhanced sizing precision by table type specific compression factors
    • “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).
    • 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.

          Screen Shot 2014-02-06 at 8.00.54 PM.png

    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 therequired

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%.


SELECT HOST, PORT,
CASE WHEN (((SUM(FREE_SIZE) /SUM(ALLOCATED_SIZE)) > 0.30)
             AND SUM(ALLOCATED_SIZE) > TO_DECIMAL(10)/102410241024)
         THEN 'TRUE' ELSE 'FALSE' END "Row store Reorganization Recommended",
       TO_DECIMAL(SUM(FREE_SIZE)100 / SUM(ALLOCATED_SIZE), 10,2) "Free Space Ratio in %"
,TO_DECIMAL( SUM(ALLOCATED_SIZE)/1048576, 10, 2) "Allocated Size in MB"
,TO_DECIMAL( SUM(FREE_SIZE)/1048576, 10, 2) "Free Size in MB"
FROM M_SHARED_MEMORY
WHERE
   ( CATEGORY = 'TABLE' OR CATEGORY = 'CATALOG' )
AND PORT LIKE '%03'
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:


SELECT SUM(NUM_FREE_DATA_PAGES)16/1024 "Estimated Maximum Memory Saving in MB"
FROM SYS.M_DEV_MEMORY_SEGMENT
WHERE SEGMENT_TYPE = 0;















































































o Check disk space where log files are located.


SELECT (SUM(NUM_FREE_DATA_PAGES)16/1024)1.5 "Estimated Log Volume Size in MB"
FROM SYS.M_DEV_MEMORY_SEGMENT
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:


SELECT HOST, PORT,
CASE WHEN (((SUM(FREE_SIZE) /  SUM(ALLOCATED_SIZE)) > 0.30)
AND SUM(ALLOCATED_SIZE) >  TO_DECIMAL(10)102410241024)
THEN 'TRUE'
ELSE 'FALSE'
END "Row store Reorganization Recommended",
TO_DECIMAL( SUM(FREE_SIZE)100 / SUM(ALLOCATED_SIZE), 10,2) "Free Space Ratio",
TO_DECIMAL( SUM(ALLOCATED_SIZE)/1048576, 10, 2)  "Allocated Size in MB",
TO_DECIMAL( SUM(FREE_SIZE)/1048576, 10,  2) "Free Size in MB"
FROM M_SHARED_MEMORY
WHERE ( CATEGORY =  'TABLE' OR CATEGORY = 'CATALOG' )
AND PORT LIKE '%03'
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


SELECT * INTO FROM FOR ALL ENTRIES IN itab
WHERE a = itab-a AND b = itab-b AND c = itab-c AND d = itab-d
%_HINTS HDB '&prefer_join 1&' hdb 'dbsl_equi_join'















































































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

SQL for the database


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


SELECT node FROM CONNECTION ('HANA') INTO TABLE T_NODE
%_HINTS HDB 'dbsl_add_stmt WITH PARAMETERS (''expression'' =''LEAVES("Node1")'' )'















































































SQL for the database


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_inst_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


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 isonly 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:


select sum(allocated_page_size)
from M_CONVERTER_STATISTICS
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:

    • Out of memory (OOM) dumps
    • Memory related SAP HANA alerts
    • High memory consumption of SAP HANA
    • 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.:

    • Out of memory (OOM) dumps.
    • Memory related SAP HANA alerts.
    • High memory consumption of SAP HANA.
    • 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


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:

    • Editoroperate objects in HANA repository.
    • Catalogmanage objects in catalog.
    • Securitymanage users and roles.
    • 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

related SAP Notes available in one place on the Internet

To report this post you need to login first.

90 Comments

You must be Logged on to comment or reply to a post.

  1. Raj Kumar Salla

    Thanks Andy for sharing with community.

    Selfishly, I’ve wanted to create that list for my own benefit.

    Whatever the knowledge we possess becomes of double value, only when we share it with others and never decreases by being shared.

    Like to see much more similar blogs from you in near future 🙂

    Regards

    Raj

    (0) 
  2. Henrique Pinto

    Hi Andy,

    This is definitely a great content. But from a format perspective, maybe creating a document instead of a blog would be a better option to share such kind of details.

    Cheers,

    Henrique.

    (0) 
  3. Akshay Gupta

    Hi Andy,

    This is an excellent piece of Information.

    I have always been intrigued by HANA since it’s inception, and working on SAP Admin, it has always been a curiosity about the administration of HANA system and how “administration nuts and bolts work in HANA” as compared to SAP ERP systems.

    Sincere thanks, for taking the pain and efforts to compile it all together and sharing with the community.

    Looking forward to more such articles from you.

    Regards,

    Akshay

    (0) 
    1. Andy Silvey Post author

      Hi Akshay,

      me too and that is precisely why I have compiled this and why I will maintain it.

      All the best,

      Andy.

      (0) 
  4. Bowya S S

    Hi Andy,

    This is very useful information for us. We need similar related documents will be posted in future.Also please share all SDK links (More complicated scenario like object Ids,Banking, Financials part of customization any other documents knowing  , post it to all).

    Thanks & Regards,

    Bowya S S

    (0) 
    1. Andy Silvey Post author

      Hi Bowya,

      thanks.

      You know, it is said,

      ‘give a man a fish, you feed him for a day

      teach a man to fish, you feed him for the rest of his life’

      There’s no magic or secret to getting good documentation.

      All you need to do, is what I have done since I started working as a Basis Admin,

      once a week, or once a fortnight,

      search SAP Market Place service.sap.com/instguidesNW for documentation pdf’s

      search help.sap.com for documentation and pdf’s

      since IviewStudio and SDN and SCN came along, search the SCN library,

      the SCN library is HUGE and contains mountains of documentation

      since Experience Hana came along, go on the Experience Hana website

      and search on there

      search google for pdf’s and ppt’s on the subjects you are interested in

      There is mountains of documentation out there, you just need to go and harvest

      it, and harvesting it is easy and should be a part of your routine once a week

      or once every two weeks.

      And then, start blogging what you have learn’t 🙂   and share it with others

      All the best,

      Andy.

      (0) 
  5. Bill Ramos

    Hi Andy,

       I finally had the time to look this over. We should “sit down” some time an think about how we can make some money off our two lists with an Amazon ebook. Great job.

    Regards,

    Bill

    (0) 
    1. Andy Silvey Post author

      Hi Bill,

      thanks.

      Regarding making money $$$, I am in the zen stage of my life, (turned forty two months ago) and in this stage of my life I am so grateful for everything SAP has done for me, that I try to give back to the SAP universe whatever I can, for free.

      If you do a book, you are welcome to use any material I produce without reservation and when you make your fortune and are sitting on that beach listening to the waves and sipping from a cool drink with an umbrella in it, have one for me 🙂

      All the best,

      Andy.

      (0) 
  6. Martin English

    Andy,

      The Developer Edition appears to have a slightly different directory layout. in several cases, you refer to running

    /usr/sap/hostctrl/exe/sapcontrol -nr <instance-number> -function <function-name>

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

    cdexe

    ./sapcontrol -nr <instance-number> -function <function-name>

    hth

    (0) 
    1. Andy Silvey Post author

      Hi Martin,

      or should I better say, g’day 🙂

      I am not so familiar with the Developer Edition, but I know you’ll
      know that cdexe is a short cut to take you to the exe catalogue.

      Out of curiosity can you have a look on the Developer Edition,
      do the cdexe and then do pwd and see where you are.

      For the Platform Edition and higher these are the commands:

      SAP HANA Appliance Software SPS 05

      Document Version: 1.0 – 2013-04-04

      SAP HANA Administration Guide
      http://help.sap.com/saphelp_hana/hana_admin_en.pdf

      Starting the SAP System:

      You can start the SAP system by executing the following commands
      from the command line:

      /usr/sap/hostctrl/exe/sapcontrol -nr <instance-nr> -function StartSystem HDB

      Stopping the SAP System:

      You can stop the SAP system by executing the following commands
      from the command line:

      /usr/sap/hostctrl/exe/sapcontrol -nr <instance-nr> -function StopSystem HDB

      Current Host Status

      You can also query the current status of all hosts using the following commands
      from the command line:

      /usr/sap/hostctrl/exe/sapcontrol -nr <instance-nr> -function GetSystemInstanceList

      Thank you for pointing out the difference with the Hana Developer Edition and I curious to

      see what pwd brings back from the cdexe command.

      Kind regards,

      Andy.

      (0) 
      1. Martin English

        Hi Andy Silvey

        Apologies for the delay in replying :-

        On my current (revision 48, upgraded to rev56) Developer edition, cdexe takes me to /usr/sap/HDB/SYS/exe/hdb which is linked to /usr/sap/HDB/exe/linuxx86_64/hdb – Based on what I’ve read, a lot of the Platform Edition python scripts are missing as well. I can’t really do a proper comparison till I get a job looking after a HANA box 🙂

        imdbhdb:~ # su - hdbadm

        imdbhdb:/usr/sap/HDB/HDB00> cdexe

        imdbhdb:/usr/sap/HDB/SYS/exe/hdb> pwd

        /usr/sap/HDB/SYS/exe/hdb

        imdbhdb:/usr/sap/HDB/SYS/exe/hdb> cd ..

        imdbhdb:/usr/sap/HDB/SYS/exe> ls -la

        total 8

        drwxr-x--- 2 hdbadm sapsys 4096 2013-01-25 14:17 .

        drwxr-x--- 3 hdbadm sapsys 4096 2013-01-25 14:17 ..

        lrwxrwxrwx 1 hdbadm sapsys   25 2013-01-25 14:17 hdb -> ../../exe/linuxx86_64/hdb

        imdbhdb:/usr/sap/HDB/SYS/exe> cd
        ../../exe/linuxx86_64/hdb

        imdbhdb:/usr/sap/HDB/exe/linuxx86_64/hdb> pwd

        /usr/sap/HDB/exe/linuxx86_64/hdb

        imdbhdb:/usr/sap/HDB/exe/linuxx86_64/hdb>

        hth

        (0) 
        1. Andy Silvey Post author

          Hi Martin,

          that sure does help, thank you for confirming the locations.

          I’ve added a section 2b) using the information you have provided.

          Thank you,

          Andy.

          (0) 
        2. Tom Cenens

          Hi Martin

          A lot of scripts and tools are indeed not in the Developer Edition so for an Administrator it’s not the ideal environment to practice on.

          You could insert them if you have access to the SAP HANA DVD’s but I’m not so sure that is allowed from a legal point of view. I wish SAP would add more capabilities so administrators also can practice on the tooling / scripting etc.

          Best regards

          Tom

          (0) 
          1. Andy Silvey Post author

            Hi Tom,

            I wish SAP would add more capabilities so administrators also can practice on the tooling / scripting etc.

            I couldn’t agree more.

            Best regards,

            Andy.

            (0) 
    1. Andy Silvey Post author

      Hi Sakuru,

      thanks, I will be doing so, next week should be an interesting new blog.

      You know, you are also welcome to blog something, everybody has something they can contribute to the community.

      All the best,

      Andy.

      (0) 
    1. Andy Silvey Post author

      Hi Donald,

      thanks, the hardest is doing the first execution, once the main body is there it’s just a case of keeping adding to it as things come to mind which can be added.

      All the best,

      Andy.

      (0) 
      1. M. Abdul Jamil

        Respected Andy,

        no doubt you have done a great job and all SCN users who have checked/will check this blog, they will definitely appreciate to yours efforts and time which you have spent on this blog.

        please keep it up

        Regards,

        MAJAMIL

        (0) 
        1. Andy Silvey Post author

          Hi MAJAMIL,

          thanks.

          As I said in the intro, I really missed such a resource, a one stop location Hana Reference for Basis Administrators and that is my goal with this work.

          The hard part is done, now I just need to fill in the gaps 🙂 

          Andy.

          (0) 
          1. basha sk

            HI Andy,

            This is very useful information for us. We need similar related documents will be posted in future.

            Thanks

            Basha

            (0) 
            1. Andy Silvey Post author

              Hi Basha,

              there is still a lot of work to do here, many more sections to add, formatting to tidy up etc.

              All the best,

              Andy.

              (0) 
    1. Andy Silvey Post author

      Hi Rafikul,

      thanks – a lot more work to do yet but this is going in the right direction.

      Many more sections to cover, so keep watching for updates.

      All the best,

      Andy.

      (0) 
  7. Jacques Thijs

    Hi Andy

    Great document and I am hoping that SAP take note of this as there are now so many websites and document resources that it has now become a complete mess when attempting to find the correct document and I am very happy to say that your doc clears the wood from the tree’s.

    Perhaps if there were more like this and the one found in this link it would make life a lot easier and save time when searching for the correct information

    https://cookbook.experiencesaphana.com/

    (0) 
  8. Raj Kumar Salla

    Hi Andy,

    I have a question on finding root cause for index server crash.

    From the Diagnosis Files tab, I downloaded the index server crash dump trace but the file is too big and don’t know what to look for. How to find for which problem the index server is crashed?

    Regards

    Raj

    (0) 
    1. Andy Silvey Post author
      Hi Raj  I am on holiday at the moment building sand castles with my children  The best advice i can give is for you to put this question in the Hana   discussion forums where it will be visible for all to answer  and for all to gain from  All the best   Andy
      (0) 
  9. SUJIT SHARMA

    Dear Andy,

    Thank you so much for your time for such a wonderful compilation. This definitely would have provided great help to many of us.

    Best regards,

    Sujit

    (0) 
  10. Paul Aschmann

    Hi Andy,

    Thanks for a helpful list. Here are 2 which you may want to add which I did not see currently:

    Forward port 80 to XS Engine (8080)

    This is helpful if you would like your web app to be available on the default/standard HTTP port.

    sudo iptables -t nat -A PREROUTING -p tcp –dport 80 -j REDIRECT –to-ports 8000

    XS Engine debug mode

    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

    Cheers, Paul

    (0) 
    1. Andy Silvey Post author

      Hi Paul,

      thank you very much for this contribution, what you have done, contributing more valuable information to the SAP Hana Basis Administrator’s Reference is precisely what the spirit of this blog is about.

      I will add sections to the blog for your items and credit them to you.

      Thank you again and all the best

      Andy,

      (0) 
  11. Dayal Thyagaragan

    Dear Andy

    Any idea how to solve this problem – I need your Help.

    name, description, dispstatus, textstatus, starttime, elapsedtime, pid

    hdbdaemon, HDB Daemon, YELLOW, Initializing, 2013 10 30 18:47:34, 137:18:49, 5626

    hdbnameserver, HDB Nameserver, RED, Stopped, , , -1

    hdbpreprocessor, HDB Preprocessor, YELLOW, Scheduled, , , -1

    hdbindexserver, HDB Indexserver, YELLOW, Scheduled, , , -1

    hdbstatisticsserver, HDB Statisticsserver, YELLOW, Scheduled, , , -1

    hdbxsengine, HDB XSEngine, YELLOW, Scheduled, , , -1

    sapwebdisp_hdb, SAP WebDispatcher, YELLOW, Scheduled, , , -1

    I am unable to start the services .

    Thank you

    Dayal

    SG

    (0) 
    1. Andy Silvey Post author

      Hi Dayal,

      please put this question into the Hana forum where it will be visible for all to contribute to and to gain from.

      Best regards,

      Andy.

      (0) 
    1. Andy Silvey Post author

      Hi Tim,

      thanks – it’s a work in progress, now I need to fix the formatting grrr

      I think I will find an offline blog editor tool and write it in there and then paste into here from now on.

      Best regards,

      Andy.

      (0) 
    2. Andy Silvey Post author

      Hi Tim,

      thanks – it’s a work in progress, now I need to fix the formatting grrr

      I think I will find an offline blog editor tool and write it in there and then paste into here from now on.

      Best regards,

      Andy.

      (0) 
  12. poorna chand

    Hi Andy can you create a page something like sap hana for net weaver basis administrators a place for all the admin information.You are really rock star

    regards

    poorna

    (0) 
      1. poorna chand

        Dear Andy thank you very much for your quick reply can we create a page some thing like “SAP HANA ADMINISTRATION ” in that we can keep all our Administration topics Once again thank you very much for your blogs its a ADMINISTRATOR‘S TOOLKIT

        Best regards

        poorna

        (0) 
        1. Andy Silvey Post author

          Hi Poorna,

          yes, that is precisely the goal of this work, to cover everything to do with Hana Administration, all in one place, on one page, which can be scrolled up and down, and can be searched with CTRL-F and can be stored for offline access by converting to pdf

          Anything, more Hana Administration related, we’ll add it here.

          Best regards,

          Andy.

          (0) 
          1. poorna chand

            Dear Andy as you said “precisely the goal of this work”. you already did every thing in very soon its Wikipedia for SAP HANA Administration .

            thank you

            (0) 
  13. Andy Silvey Post author

    Hi Poorna,

    thank you for the feedback.

    It is indeed an excellent document , I have one doubt, I am trying to keep this piece of work within the scope of Basis Administration work, and John’s document is more oriented towards getting Developers started with their first app.

    I would suggest a better home would be for Vivek to reference it from his excellent series, the SAP Hana Reference for Developers

    If you spot other great content, more in line with Basis Admin for Hana then please highlight it and we can add it to this work.

    All the best,

    Andy.

    (0) 
    1. Andy Silvey Post author

      Hi Poorna,

      thanks, that one has a video doing most of the explanation, I have deliberately focused only on items without pictures, text specific.

      Thanks,

      Andy.

      (0) 
  14. Reinhard Jud

    Hi Andy,

    good work, excellent document. 🙂

    For the Row Store Reorg i have additional info:

    I had a problem that not the complete Row Store was reorganized because the parameter page_compaction_max_pages is set per default to 1048576 Pages.

    You will geht the success message in the trace: [RSReorg] success (1048576 pages)


    So if you have a bigger Row Store not the complete will be reorganized if this parameter  will not be changed to a higher value, maybe two or four times higher then default:

    [row_engine]

      page_compaction_max_pages = <value>

    BR, Reinhard

    (0) 
    1. Andy Silvey Post author

      Hi Reinhard,

      thank you, your feedback is precisely the spirit and goal of this work.

      The work is updated now to include your additional information, and you

      are now a member of the alumni in the introduction.

      Thanks and best regards,

      Andy.

      (0) 
  15. Suseelan Hari

    Hi Andy,

    This blog is complete package for SAP HANA followers. I understand how much time you have spent for this. You are specialist in SAP HANA, I am very happy to see you like this. Thank you so much for sharing valuable blog. Keep sharing new updates to us.

    Regards,

    Hari Suseelan

    (0) 
  16. Roland Kramer

    Hi,

    Some tipps to save your work to avoid futher problems with the content:

    – mark/copy the complete content and save this in a lower revision of the document (I saved the DOC-7856 back into the initial Document Version and this solved the corrupted Document.

    – Ancors in the SCN Document recently changed. Check your Ancors like:

    <li><a href=”#section4″>SAP Business Intelligence Architecture</a></li>

    <h3><a name=”section4″>SAP Business Intelligence Architecture</a></h3>

    Best Regards Roland

    (0) 

Comments are closed.