HANA数据库无法停止

时间:2022-03-21 16:53:19

Symptom:
使用命令HDB stop多次,每次报错为timeout
-----------------------
sdpadm@PRDDB01:/usr/sap/SDP/HDB66/prderpdb01/trace/DB_PDP> HDB stop
hdbdaemon will wait maximal 300 seconds for NewDB services finishing.
Stopping instance using: /usr/sap/SDP/SYS/exe/hdb/sapcontrol -prot NI_HTTP -nr 66 -function Stop 400

13.07.2019 14:34:14
Stop
OK
Waiting for stopped instance using: /usr/sap/PDP/SYS/exe/hdb/sapcontrol -prot NI_HTTP -nr 66 -function WaitforStopped 600 2

13.07.2019 14:44:15
WaitforStopped
FAIL: Timeout
-----------------------

SAP NOTE:
2349144 - HANA instance does not stop – kill.sap file not found

Reproducing the Issue:

  1. HANA Studio

    Open the SAP HANA Administration Console.
    In the Systems view, right-click the system you want to stop and choose Configuration and Monitoring > Stop System...
    Specify how you want to stop the system (i.e. Soft, Hard) under Shutdown Type, then click OK.
    The Administration Console will open in diagnosis mode but the services will continue showing as Active and status Running:

HANA数据库无法停止

Console

Using command line access logon to HANA DB system with <sid>adm user.
Execute any of the following commands:
/usr/sap/hostctrl/exe/sapcontrol -nr <instance_number> -function StopSystem HDB
/usr/sap/hostctrl/exe/sapcontrol -nr <instance_number> -function Stop
/usr/sap/<SID>/HDB<instance number>/HDB stop
Function Stop tries to execute for some time until eventually times out with the error:
<DD.MM.YYYY HH:MM:00>
    Stop
    OK
    Waiting for stopped instance using: /usr/sap/<SID>/SYS/exe/hdb/sapcontrol -prot NI_HTTP -nr <nr> -function WaitforStopped 600 2
    <DD.MM.YYYY HH:MM:00>
    WaitforStopped
    FAIL: Timeout

Cause:

The kill.sap file is missing in the DIR_HOME directory (i.e. /usr/sap/<SID>/HDB<instance>/host/trace). SAP HANA does not delete this file therefore if the file is missing in DIR_HOME this was most likely     caused by manual, possibly accidental, deletion.

Resolution:
Run HDB proc in the console to determine what processes are currently running.
HANA数据库无法停止

If sapstart is still running then execute kill -2 <PID of sapstart>

HANA数据库无法停止

Alternatively, if the hdbdaemon process is running, you can execute kill -2 <PID of hdbdaemon>

Note:

    Any of the two commands above will implicitly stop the database. 
    After restarting the sapstartsrv Service command HDB stop works as usual.
    The kill.sap file will be re-created next time the database is started, either from the Studio or from the console (i.e. HDB start).