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:
-
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:
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.
If sapstart is still running then execute kill -2 <PID of sapstart>
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).