Production DBA Incident Runbooks
Prescriptive, battle-tested operational incident runbooks designed for high-pressure production outages. Each runbook includes structured triage steps, diagnostic evidence collection commands, decision gates, and post-fix verification.
kill -9, deleting files in /hana/log with rm, or blind restarts) during an active outage. Always capture active statements, trace dumps, and mount statistics first.P1 Incident: /hana/log Volume 100% Full Emergency
Target MTTR: ~15 mins•Affected: hdbindexserver, Persistence Layer, All SAP ABAP Work Processes
Trigger Symptoms & Alert Signatures:
- Database stops accepting commits; all update transactions hang.
- alert_<SID>.trc displays: "Cannot allocate log segment; disk full on /hana/log".
- Operating system command df -h /hana/log shows 100% utilization.
- SAP GUI users receive DBSQL_SQL_ERROR or timeout errors.
Step-by-Step Incident Response Workflow (0/5 Steps Completed)
Verify if /hana/log is truly at 100% capacity using df -h.
df -hT /hana/log
Identify why log backups stopped clearing closed log segments.
SELECT STATE, COUNT(*) AS SEGMENT_COUNT, ROUND(SUM(TOTAL_SEGMENT_SIZE)/1024/1024, 2) AS TOTAL_MB FROM SYS.M_LOG_SEGMENTS GROUP BY STATE;
If backup destination is full, re-route log backup target to a temporary directory with free space.
ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'SYSTEM')
SET ('persistence', 'basepath_logbackup') = '/tmp/emergency_log_backup'
WITH RECONFIGURE;If LVM volume group has free extents, extend /hana/log dynamically on the Linux host.
sudo lvextend -L +20G /dev/mapper/vg_log-lv_log && sudo xfs_growfs /hana/log
Ensure log segments transition to Free state and user transactions resume without errors.
SELECT STATE, COUNT(*) FROM SYS.M_LOG_SEGMENTS GROUP BY STATE;