Pages

Monday, 25 May 2015

SAP Basis Daily Monitoring Tcodes



Proactive monitoring of the SAP systems, will help to understand issues in advance & helps us to take corrective actions and thus will lead to lesser downtime of the systems, improving profitability of the business organisation.

Monitoring can be focused on ABAP stack(including database checks), Java Stack and Oslevel checks.

ABAP Stack Checks :

SM50 : (Process Overview)

This transaction code will be useful to view the processes that are running currently in an sap instance. In this view you can check whether there are free work processes to execute the processes. If all the work processes are in running state and no work process is idle it means that wait times will increase for the processes that are waiting in the dispatcher queue leading to performance degradation. If you find that there are no free work processes for maximum times that you may consider, increasing the number of work processes.

How to increase the number of work processes

SM66 : (Global process overview)

This transaction code will be useful to view the processes that are running across all instances/application servers of a SAP system. Similar to SM50 checks can be done in this transaction as well.

SM51 : (Application servers status)

This transaction code will be useful to view all the hostnames and application servers status. If any application server is down, the same can be identified using status of the server column. We can also figure out different Message types (Dialog, Batch, Update, Upd2, Spool, ICM etc) configured for the respective servers.

SM12 : (Lock entry list)

This transaction code will be useful to view all the sap locks that are present in the system. As part of monitoring, we need to look for any old sap locks that are more than 1 day. If any such locks, we need to analyse the reason for that lock for such longer duration and take actions accordingly. A lock can be set for such a long duration due to a long running background job or a lock is not released due to an application error or a program terminated abruptly but lock not released etc.

How to delete a sap lock?

ST22 : (ABAP Dumps )

This transaction code will be useful to view all the abap dumps that have occured in the system on a given day. As part of daily monitoring, it is the responsibility of the basis administrator to analyse the dumps and take necessary actions to avoid issues.

Some of the examples of abap dumps are timeout issue, database space issue, spool overflow issue etc

SM21 : (System log)

This transaction is useful to view the log of the sap system for various operations. This log will be very useful to identify various issue in advance and to take necessary measures. System log is the place to check out for any timeout, network issues, database space issues, message server issues, spool overflow, locktable overflow etc issues.

Additional details :
SAP System log
SM13 : (Update Requests overview)

This transaction is useful to figure the status of update system. Incase an update is inactive we can figure out the same from this transaction and necessary action can be taken and update can be activated again.
Update got deactivated. what is the reason for update deactivation? How to activate the update ?

SM14 transaction can be called internally from SM13. These both transactions are useful for update administration.

In SM13, you can select status (canceled, to be updated, v1 executed, v2 executed, all ) and time interval during which you would like to view the status execute to check the overview of updates as per the status and time interval selected.

In case of canceled updates, analysis to be done whether to repeat update.

ST02 : (Tune summary )

This transaction will be used to monitor

Buffer statistics like hit ratio, swaps, db access details, size of buffer and free size of buffer etc

Important statistics related to Roll area, Page area, Extended memory and heap memory

Call statistics like select, insert, update and delete

As a basis administrator, it is our responsibility to ensure there is more hit ratio for the buffers and less swaps to ensure efficient performance of the sap system. In case you see there are more swaps and less hit ratios for most of the buffers, then tuning buffers to be carried out to ensure optimal performance.

DB12 (Backup logs) :

This transaction is useful to check the details of last successful backup
  • overview of database backups ( Success / failure of backup with log details) 
  • Archiving directory status (Free space of oraarch ) 
  • Overview of redolog files ( Number of redologs that are not yet backed up) 
  • overview of redolog backups (Success / failure of backup with log details) 

DB13 (DBA Planning calender) :

This transaction will be useful to schedule various database backups & clean up jobs like ( whole database backup offline/online, Full backup online/offline, incremental backup offline/online, redolog backup, update statistics, check db, cleanup logs, compress database, verify database, initialize tape and validate structure jobs).

In this transaction, you can also check the status of every job that was scheduled and can reschedule in case of failures.

DB14 (DBA operations log) :

This transaction will be useful to check the status of following :
  • Database backup 
  • Redolog backup 
  • BRSPACE log (extend tablespace issues etc) 
  • BRCONNECT operations (Update optimiser statistics , database check etc) 
As an sap basis administrator it is our responsibility to check and ensure backups and other cleanup jobs are successful everyday. Incase of failures, should figure out root cause and take actions like rescheduling and ensure these jobs are successful.


SM37 ( Job status overview) :

This transaction will be useful to have an overview of jobs with different statuses.

As part of daily monitoring, SAP basis administrator should use this transaction to findout canceled jobs and active jobs(for eg: long running - more than 24hrs etc).

Incase of canceled jobs, root cause for the failure to be figured out from the logs of the respective job and to be actioned by rescheduling etc.

Incase of long running jobs, we need to figure out the reason for long running and action them accordingly.

In SM37, using extended job selection option, we can even select the jobs based on start condition, steps (like abap program, external command or external program), period etc

How to identify long running jobs in sap ?

How to troubleshoot a background job running for long duration in sap?

ST04 (Database alert logs and performance) :
This transaction will be useful for (oracle) database administration. In this screen, goto Alerts and drill down further. Click on "Database Check" to find out any errors or warnings related to database like MISSING_STATISTICS, STATS_TOO_OLD, LAST_BACKUP_FAILED, LAST_ARCHIVE_FAILED etc. After going through the error or warning in details take necessary corrective actions based on the error like running update stats again, re-triggering backup etc

Under Alerts, you can view Alert monitor which will summarize status of the database under different heads like
  • Space Management 
  • Performance 
  • Backup/restore 
  • SAP Consistency 
  • Health 


Drill down on each of these to find out potential problems. These are color coded for ease of administrator (Red for errors, yellow for Warnings and Green for OK status)

For Eg: If PSAPSR3 tablespace is >90%, you can see Space management in red color. Then it is the responsibility of Basis administrator to take necessary actions on the same.

SP01 ( Check Spool status ) :

This transaction is useful to find out the status of spool request and output request. In SP01 transcation, you can list the spool requests or output requests between a given interval.
In the list generated, you can check out the status of spool requests and findout any errors by drilling down further.

For eg: if so many spools are in waiting status, find out whether output device is available or not.

If many spool are in error status, figure out if there is any network issue and take necessary actions.

If customers complain that they are not able print anything from SAP, check out whether there is any spool overflow.


SXI_Cache : This Tcode is specific to XI or PI system. This Tcode is used to findout whether cache refresh is happening or not. Incase if cache refresh is happening successfully, it will indicate the same in green color. Otherwise it will be in red indicating a problem with cache refresh.

If there is a problem with cache refresh then basis administrator has to troubleshoot the same.

SLDCHECK : This Tcode will be useful to figure out whether connection to the SLD system from the system on which you are testing is fine or not. In case the connection is fine, all checks will appear in green. Incase of any issues, it will appear in red or yellow and then basis administator has to troubleshoot it and make sure SLDCHECK is working fine.

Ensuring SLDCHECK is working fine is important to keep all systems in the landscape in sync.

SXI_MONITOR : This TCode is specific to XI or PI system. This transaction will be useful to figure out any errors or warnings in the processing of XI or PI messages. In case of any issues, this needs to be informed to functional team and should be troubleshooted accordingly with the functional team inputs.


DBO1 : This transaction code is useful to findout the database locks that are present in the SAP system.

As part of daily monitoring, SAP Basis administrator has to figure out if there are any long pending locks more than 1 day etc and analyse reasons for the same. Sometimes if programs/jobs got terminated abruptly without removing the database locks set, this will lead to performance issues as other programs which needs that lock cannot set etc and they have to wait indefinitely as these locks won't get released automatically. In case of any long pending locks, Basis administrators should contact DBA team if any an dfigure out the reason for these locks and action accordingly

Jack Stack Checks : Please refer below links to understand Daily Java monitoring of SAP Landscape:
SAP Java monitoring check list

Please find below table which summarizes daily monitoring tasks that are to be performed by the SAP Basis Administrator :

ABAP Stack Checks


1 Check process overview(SM50)
2 Check overall system process overview(SM66)
3 Check application servers status(SM51)
4 Check for any pending locks (SM12)
5 Check for Dumps in the system(ST22)
6 Check System log for any errors(SM21)
7 Check for any hanged updates or update status(SM13)
8 Check for excessive swapping (ST02)
9 Check for critical job status like backup,updatestats,checkdb etc(DB13)
10 Check for longrunning/failed jobs status(SM37)
11 Check database alertlogs and performance(ST04)
12 Check spool job status (SP01)
13 Check cache status (sxi_cache) for PI System
14 Check SLD functionality(SLDCHECK)
15 Check SXI_MONITOR for PI system
16 Check for Database locks(DB01)


Java Stack Checks

1 Check java portal accessibility using link
2 Check server0 log for java system for critical errors
3 Check accessibility of management console
4 Check server node status
5 Check default trace for critical java errors
6 Check java reports for memoryconsumption/swapping


Os level checks

1 Check filesystems usage (shouldb be <80%)
2 Check for swap space using topas etc
3 Check for work directory log files at oslevel for errors