Parameter Management: Configuration Layers & .ini File Hierarchy

A definitive guide to managing SAP HANA configuration parameters across .ini files (global.ini, indexserver.ini, nameserver.ini), understanding configuration layers (DEFAULT, SYSTEM, DATABASE, HOST), and applying dynamic reconfigurations.

IntermediateAdministration~16 min studyHANA 2.0 (All SPS)

Core Learning Objectives

  • 1.Master the parameter resolution hierarchy from DEFAULT to HOST layer.
  • 2.Differentiate parameters managed in SystemDB vs tenant-specific parameters.
  • 3.Execute ALTER SYSTEM ALTER CONFIGURATION commands via SQL with WITH RECONFIGURE.
  • 4.Audit parameter changes and roll back misconfigured values safely.
Prerequisites:hana-architecture-multitenant-mdc

Definition & Architectural Rationale

Technical Definition:

SAP HANA configuration parameters govern memory limits, thread pools, persistence thresholds, log sizing, and security policies. They are defined in .ini files stored on the filesystem and queryable through the M_INIFILE_CONTENTS monitoring view.

Why this component exists:

Different tenants, hosts, or environments require customized behavioral settings. SAP HANA enforces a hierarchical layering model so that default vendor parameters can be safely overridden at system, tenant, or host levels without modifying root binary packages.

Internal Working & Mechanics

1. The Configuration Layer Hierarchy (Evaluation Priority): When the database evaluates a parameter value, it checks layers in order of increasing specificity. Higher layers override lower layers: - Layer 1: DEFAULT: Factory default compiled directly into the HANA engine binaries. - Layer 2: SYSTEM: Instance-wide configuration set in SystemDB applying across all tenants unless overridden. Stored in /usr/sap/<SID>/SYS/global/hdb/custom/config. - Layer 3: DATABASE (Tenant): Specific override for a single tenant database container. - Layer 4: HOST: Host-specific override on multi-node Scale-Out systems. 2. Core Configuration Files (.ini): - global.ini: Landscape-wide settings, storage paths, memory manager (GAL), backup parameters, inter-node SSL, and HSR configuration. - indexserver.ini: In-memory table parameters, SQL plan cache, mergedog thresholds, thread pools, and statement memory limits. - nameserver.ini: Topology, tenant definitions, scale-out coordinator roles. - compileserver.ini / preprocessor.ini: Service-specific optimization parameters. 3. Dynamic vs. Restart-Required Parameters: - Dynamic: Can be modified live using ALTER SYSTEM ALTER CONFIGURATION ... WITH RECONFIGURE without downtime (e.g. statement_memory_limit). - Static: Requires an instance restart (or tenant restart) to take effect (e.g. changing base filesystem paths or listeninterface).

Architecture Flow Diagram

Mermaid DiagramParameter Management: Configuration Layers & .ini File Hierarchy
Architectural Flow: Parameters resolve upward through the hierarchy. A parameter defined at the DATABASE or HOST layer takes precedence over SYSTEM and DEFAULT layers.

Production SQL Diagnostics

Inspect Parameter Value, Configured Layer & File LocationSafe (Read-Only)

Queries the configuration repository to see what layer (SYSTEM, DATABASE, HOST) set a given parameter.

Both
Privileges: INIFILE ADMIN or MONITORING
Target Engine: HANA 2.0 (All SPS)
SELECT FILE_NAME, SECTION, KEY, VALUE, LAYER_NAME FROM SYS.M_INIFILE_CONTENTS WHERE KEY LIKE '%statement_memory%' OR KEY LIKE '%allocationlimit%' ORDER BY FILE_NAME, KEY;

Key Diagnostic Columns

FILE_NAME:The .ini configuration file
SECTION:Section header within the file
VALUE:Configured parameter value
LAYER_NAME:SYSTEM, DATABASE, HOST, or DEFAULT

Expected Diagnostic Output

FILE_NAME        | SECTION       | KEY                    | VALUE | LAYER_NAME
-----------------------------------------------------------------------------
global.ini       | memorymanager | allocationlimit        | 184320| DATABASE
indexserver.ini  | memorymanager | statement_memory_limit | 35    | SYSTEM
DBA Interpretation: allocationlimit is configured at DATABASE layer (180 GB for this tenant), and statement_memory_limit is set at SYSTEM layer (35 GB max per statement).
Dynamically Alter Tenant Memory Limits with ReconfigureModifying (State Change)

Sets a statement memory limit of 30 GB for the current tenant without restarting the database.

Tenant
Privileges: INIFILE ADMIN
Target Engine: HANA 2.0 (All SPS)
ALTER SYSTEM ALTER CONFIGURATION ('indexserver.ini', 'SYSTEM') SET ('memorymanager', 'statement_memory_limit') = '30' WITH RECONFIGURE;
DBA Interpretation: WITH RECONFIGURE applies the new memory limit immediately to all active worker threads without interrupting running sessions.

Production Best Practices & Operational Risks

Mandatory Best Practices

  • Always document parameter changes in your change management system and include the justification SAP Note.
  • Never set parameters directly by editing .ini files on the Linux filesystem with vi; always use SQL ALTER SYSTEM ALTER CONFIGURATION to ensure syntax validation.

Senior DBA Interview Mastery

3–5 Year Experience Target

Official Documentation & SAP Notes

DBA Study Notes & Lab Observations