Solution for DiskFullEvent on log volume on Hana in-memory DB 1.0

By | February 14, 2018

Generally we will get this type of DiskFullEvent error at the time of Hana Data base migrations or HDB Instance upgrade time. Even some times will get after installation also.

Symptom for confirmation :

You can confirm the same by checking the respective trace file of the service with full log volume contains message,

LoggerImpl.cpp(0095) : Logger notified of new DiskFull : DiskFullEvent [id = xxx, path = /hana/log/SID/mntxxxx/, state= New]

Also we can verify from OS level, i.e., /hana/log by using df -h command or you can also check from Hana Studio level.

Once you confirm with the above trigger, resolve the issue with the following solution…

Solution :-

  • If you HDB is up and running but /hana/log is almost getting full. Then you can directly reclaim the log from H.Studio SQL console by using below command.
    > ALTER SYSTEM RECLAIM LOG;

    else

  • Stop the Hana DB with <SID>adm :
    > HDB stop
  • Change the directory into folder of the log volume (Here Default: /usr/sap/<SID>/global/hdb/log) :
    > cd /hana/log/<SID>/mnt00001
  • You have to move one of the log_volumes temporarily to another volume where the 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 by executing below command,
    > du -sh *
  • Now move a volume which consumes at least 2gb of space (for e.g . hdb00003) to a volume with sufficient free space, e.g. to the data volume :
    > mv hdb00003 /hana/data/HDB_LOG_BACKUP/
  • Then create a symbolic link to the new folder in the old location:
    > ln -s /hana/data/HDB_LOG_BACKUP/hdb00003  /hana/log/<SID>/mnt00001/hdb00003
  • Start the database:
    > HDB start
  • Wait until log backups are performed.
  • Use the following SQL statement to clean up the log_volume:
    > ALTER SYSTEM RECLAIM LOG;
  • Stop the db again and remove the symbolic link:
    > rm -f /hana/log/<SID>/mnt00001/hdb00003
  • The move the log volume back to it’s original location:
    > mv /hana/data/HDB_LOG_BACKUP/hdb00003 /hana/log/<SID>/mnt00001/
  •  Start the db:
    > HDB start

Note :

If you have not noticed a disk full event, but your service is unresponsive, you might encounter a limitation of the number of log segments per log partition.

Above solution applicable software component : HDB 1.0 & 2.0

Thanks!

“I hope this Article helpful to you. If you like this Article Hit me with FB Like Button and/or share to your colleagues. If you have any doubts, kindly drop as a comment as below” 

Leave a Reply

Your email address will not be published.