Skip to main content
Do checkout my poem section. You are going to love it.

Logging for BASIS and HANA

 System logs are critical for monitoring the health, performance, and security of any SAP landscape. They provide invaluable insights into the behavior of the system, helping administrators diagnose issues, track user activity, and ensure smooth operations. Both SAP ABAP (Basis) and SAP HANA environments have their own logging mechanisms, tools for monitoring, and specific types of errors you might encounter.


System Logs in SAP ABAP (Basis)

In an SAP ABAP system, various components generate logs, which are essential for troubleshooting and daily monitoring.

1. Types of Logs and How to Monitor:

  • System Log (SM21):

    • Purpose: The central log for all system-wide messages, including system errors, warnings, security-relevant events (e.g., failed logon attempts), and process messages. It provides an overall health check of the SAP system.
    • Monitoring Tool: Transaction SM21. You can filter by date, time, user, work process, and message ID. You can also view logs from all application servers in the system.
    • Management: SM21 allows you to analyze logs. For long-term storage and reporting, system logs are periodically written to disk at the OS level (e.g., /usr/sap/<SID>/SYS/global/SLOGJ or SLOGP). These files are typically managed by the SAP system itself through profile parameters for retention and size.
  • Work Process Traces (dev_w*):

    • Purpose: Each work process (dialog, update, background, spool, enqueue) generates its own developer trace file (dev_w0, dev_w1, etc.) containing detailed information about the tasks executed by that specific work process.
    • Monitoring Tool: Transaction SM50 (Work Process Overview) -> select a work process -> Process -> Trace -> Display File. You can also access them directly at the OS level in the work directory (/usr/sap/<SID>/<instance_name>/work).
    • Management: These files are managed by the SAP system. They rotate automatically, and older versions are usually deleted based on configured parameters.
  • Dispatcher Trace (dev_disp):

    • Purpose: Logs activities of the ABAP dispatcher, including requests processed, work process assignments, and dispatcher-related errors.
    • Monitoring Tool: OS level access in the work directory (/usr/sap/<SID>/<instance_name>/work).
    • Management: Similar to work process traces, they are managed by the system.
  • Internet Communication Manager (ICM) Trace (dev_icm):

    • Purpose: Logs activities of the ICM, especially relevant for web-based communications (HTTP, HTTPS). Errors related to web services, web GUI, or Fiori access often appear here.
    • Monitoring Tool: Transaction SMICM -> GoTo -> Trace File -> Display. Also accessible at the OS level in the work directory.
    • Management: Managed by the ICM itself, with configurable trace levels and file sizes.
  • Gateway Trace (dev_rd):

    • Purpose: Logs activity of the SAP Gateway, which handles RFC communication. Useful for troubleshooting RFC issues.
    • Monitoring Tool: Transaction SMGW -> GoTo -> Trace -> Gateway -> Display File. Also accessible at the OS level.
    • Management: Configurable trace levels and file sizes.
  • ABAP Dumps (ST22):

    • Purpose: When an ABAP program terminates unexpectedly due to a runtime error, an ABAP dump (short dump) is generated. These provide detailed technical information about the error, including the program, line of code, variable values, and call stack.
    • Monitoring Tool: Transaction ST22.
    • Management: Dumps are stored in the database (table SNAP) and can be reorganized/deleted periodically to manage space.
  • Update Records (SM13):

    • Purpose: Monitors the status of update requests. If an update fails, it can lead to data inconsistencies.
    • Monitoring Tool: Transaction SM13.
    • Management: Failed updates can be reprocessed or manually deleted from here.
  • Job Logs (SM37):

    • Purpose: Provides logs for background jobs, indicating their status (scheduled, released, active, finished, canceled), messages generated by the program, and any errors.
    • Monitoring Tool: Transaction SM37.
    • Management: Job logs are stored in TemSe (Temporary Sequential Files) and can be archived or deleted using SP12.
  • RFC Error Log (SM58):

    • Purpose: Logs errors related to transactional RFC (tRFC) calls. This is crucial for interfaces and distributed scenarios.
    • Monitoring Tool: Transaction SM58.
    • Management: Failed tRFCs can often be reprocessed from here.

2. General Log Management in ABAP:

  • Retention Policies: Define how long logs are kept (e.g., in profile parameters for system logs, or job log retention settings).
  • Archiving: For critical logs (e.g., security audit logs), set up archiving to external storage.
  • Rotation: Most trace files at the OS level rotate automatically to prevent excessive disk usage.
  • Centralized Monitoring (SAP Solution Manager): For large landscapes, SAP Solution Manager provides a centralized platform for monitoring logs across multiple systems.

3. Common ABAP Log Errors and Solutions:

  • Error: DBIF_RSQL_SQL_ERROR in ST22 or SM21.

    • Meaning: Generic database error. Could be anything from a SQL syntax error in ABAP to a database connectivity issue, table space full, or database lock.
    • Solution: Check ST22 dump for details (SQL error code, database driver error). Check database logs (DB02, database-specific tools). Verify database connectivity (DBACOCKPIT). Check table spaces (DB02). Consult with DBA.
  • Error: TSV_TNEW_PAGE_ALLOC_FAILED in ST22.

    • Meaning: "Memory low" or "extended memory exhausted" during runtime. The program tried to allocate more memory than available.
    • Solution: Optimize the ABAP program to consume less memory. Increase memory parameters (e.g., abap/heap_area_total, ztta/roll_area, rdisp/ROLL_MAX_AREA, em/initial_size_MB) in the instance profile (RZ10), requiring an application server restart.
  • Error: LOGON_NO_AUTOMATIC_USER_SAPSTAR (SM21/SM21).

    • Meaning: Attempt to log in to a new client with SAP* and password pass, but the login/no_automatic_user_sapstar profile parameter is not set to 0.
    • Solution: Set login/no_automatic_user_sapstar = 0 in the instance profile (RZ10) and restart the application server. This should only be done temporarily for client creation/copy, and then reverted to 1 for security.
  • Error: UPDATE WAS TERMINATED (SM13).

    • Meaning: An update task failed to post changes to the database. This is critical as it can lead to data inconsistency.
    • Solution: Check SM13 for details of the failed update. Analyze the accompanying ABAP dump (ST22) for the cause. Possible reasons include database errors, deadlocks, program errors, or insufficient authorizations. Reprocess the update if the underlying issue is resolved, or consult development for a fix.
  • Error: PXA_NO_SHARED_MEMORY (SM21/ST22).

    • Meaning: Problems with the program buffer (PXA buffer). This can indicate insufficient shared memory.
    • Solution: Check profile parameters related to PXA buffer (e.g., abap/buffersize, abap/pxa_area_size). Increase them if necessary and restart the application server.

System Logs in SAP HANA

SAP HANA, being an in-memory database, has its own set of log and trace files that are crucial for monitoring its health, performance, and for troubleshooting issues.

1. Types of Logs and How to Monitor:

  • Trace Files:

    • Purpose: These are the most detailed logs for individual HANA services. Each service (e.g., indexserver, nameserver, preprocessor, compileserver, xsengine) generates its own trace file (e.g., indexserver_hostname.log, nameserver_hostname.log). They contain information about service startup, shutdown, errors, warnings, and detailed execution steps.
    • Monitoring Tool:
      • SAP HANA Studio: Administration Console -> Diagnosis Files tab. You can view, filter, and merge trace files here.
      • SAP HANA Cockpit: The primary web-based tool for HANA administration. It offers centralized monitoring of trace files, alerts, and system health.
      • OS Level: Trace files are located at /usr/sap/<SID>/HDB<Instance_Number>/<hostname>/trace (for SYSTEMDB and individual tenant databases). You can navigate using cdtrace command as <sid>adm.
    • Management: Trace file retention and size are configured through HANA parameters. They rotate automatically, with older files being compressed and retained for a configurable period. Excessive tracing can impact performance, so trace levels should be adjusted (via HANA Studio/Cockpit or hdbcons) based on diagnostic needs.
  • Diagnosis Files:

    • Purpose: These are a collection of various logs and information that can be gathered for troubleshooting, including trace files, system information, configuration, and mini-checks.
    • Monitoring Tool: SAP HANA Studio/Cockpit allows you to collect diagnosis information.
  • Alerts:

    • Purpose: SAP HANA has an alert mechanism that monitors various aspects of the system (e.g., CPU usage, memory usage, disk space, long-running statements, backup status) against predefined thresholds. Alerts are logged and can trigger notifications.
    • Monitoring Tool: SAP HANA Studio/Cockpit -> Alerts tab.
    • Management: You can configure alert thresholds and notification settings.
  • Audit Logs:

    • Purpose: Records security-relevant events, such as user logons/logoffs, privilege grants/revocations, data access (SELECT, INSERT, UPDATE, DELETE), and system configuration changes. Crucial for compliance and security audits.
    • Monitoring Tool: Can be viewed in SAP HANA Cockpit (Auditing section) or by querying the AUDIT_LOG view directly via SQL.
    • Management: Audit policies are configured to specify what events to log and where to store them (internal database table, Linux Syslog, or CSV file). Retention periods can be configured, and logs can be truncated.
  • Backup Logs:

    • Purpose: Records details of database backups (full, incremental, differential) and log backups. Essential for recovery purposes.
    • Monitoring Tool: SAP HANA Studio/Cockpit -> Backup Console. Also found in trace files.

2. General Log Management in HANA:

  • Centralized Monitoring: SAP HANA Cockpit is the primary tool for comprehensive monitoring and management.
  • Trace Levels: Adjust trace levels (e.g., via hdbcons command-line tool or HANA Studio/Cockpit) to control the verbosity of logs. Set to INFO for normal operation and increase to DEBUG or FATAL only during troubleshooting.
  • Disk Space Management: Continuously monitor the /hana/shared and /hana/log file systems to prevent them from filling up due to excessive logs or traces. Implement proper log backup and retention policies.
  • HANA MiniChecks: Regularly run SAP HANA MiniChecks (SQL scripts provided by SAP) to identify potential critical technical issues.

3. Common HANA Log Errors and Solutions:

  • Error: High Memory Usage / Out Of Memory (OOM) Dump: Found in indexserver trace files, or indicated by Alert 1 (Host physical memory usage) or Alert 43 (Memory usage of services).

    • Meaning: The HANA database is consuming too much memory, potentially leading to a crash or performance degradation.
    • Solution: Analyze OOM dumps (.rtedump files) to identify memory consumers (e.g., large tables, expensive SQL queries, unoptimized data models). Optimize expensive SQL statements (SQL Plan Cache, Expensive Statements trace). Reduce cache sizes. Scale up or scale out the HANA system if the workload genuinely requires more memory.
  • Error: Disk Full / Log Volume Full: Indicated by Alerts or OS-level file system monitoring.

    • Meaning: The disk space for data or log volumes is exhausted. This can lead to the HANA database stopping or going into read-only mode.
    • Solution: Identify what is consuming space (large trace files, unsaved data, long-running transactions). Perform log backups (to clear log segments). Increase disk size. Check and adjust log retention policies.
  • Error: "Service 'indexserver' died" or other service crashes: Found in trace files of the crashed service.

    • Meaning: A specific HANA service has terminated unexpectedly.
    • Solution: Examine the service's trace file (e.g., indexserver_<hostname>.log) for the exact error message preceding the crash. This could be due to memory issues, resource exhaustion, internal errors, or file system problems. Collect diagnosis information and involve SAP Support if the cause is not immediately obvious.
  • Error: High CPU Usage: Indicated by Alert 5 (Host CPU Usage) or in performance monitors.

    • Meaning: The HANA system is under heavy computational load, impacting performance.
    • Solution: Identify the source of high CPU (e.g., long-running SQL queries, complex calculations, data loads) using M_SERVICE_THREADS and Expensive Statements Trace. Optimize queries, adjust parallel processing settings, or add more CPU resources.
  • Error: SQL Statement Performance Issues: Slow query execution observed in applications, or identified via Expensive Statements trace.

    • Meaning: Specific SQL queries are performing poorly, leading to slow application response times.
    • Solution: Use SQL Plan Cache (HANA Studio/Cockpit) to analyze query execution plans. Identify bottlenecks (e.g., missing indexes, full table scans, unoptimized joins). Create or optimize indexes, rewrite problematic SQL, or adjust table partitioning.

In summary, effective monitoring and management of system logs in both SAP ABAP and SAP HANA are fundamental responsibilities of an SAP Basis administrator. Regular checks, understanding common error patterns, and knowing the appropriate tools for investigation are key to maintaining a stable and high-performing SAP environment.

Comments

Popular posts from this blog

An experiment with the life

"Best Thing about experiment is that it only improves the outcome." Well, I am Rakshit, hope you already know. I am not special and surely not especially gifted. Neither things go according to my wish. Neither I am the best writer.  But I am myself who is totally unique from anyone else. And I am Rakshit Ranjan Singh. I have my own fun, fights and fall in the most fundamentalistic way. Mechanical is my degree. IT is my Job. Beauty in nature is what I search. Words of my heart are what I write. Four different things I carry on my shoulder and a smile on my face, hope you might have seen that. What do I care for? Family, friends and nature. Do I have regrets? More than I can imagine. Let us move further to see what really is my life.

Learn Java

Hello Friends, You might already know what Java is. Without taking much of your time, I would like to ask you to please click below if you are ready to learn it from end to end. The Material over here is available on the internet and is free to access.  I would request you to bookmark this page and follow it. Please comment if you are happy with the learning. click here

Driving

My Driving Journey: From Zero to (Almost) Hero! Hello everyone! I'm excited to share my ongoing adventure of learning to drive. It's been a mix of nervous excitement, hilarious near-misses, and the slow but steady feeling of progress. Buckle up, because here's a peek into my journey behind the wheel! The First Lesson: Clutch Confusion! My first time in the driver's seat was... memorable. Let's just say the clutch and I weren't immediate friends. Lots of jerky starts and a few stalls later, I began to understand the delicate dance between the pedals. My instructor was incredibly patient (thank goodness!). Mastering the Steering Wheel (Sort Of) Steering seemed straightforward enough, but navigating turns smoothly was a different story. I definitely had a few moments of feeling like I was wrestling with the wheel. Slowly but...