Recently we had a situation where we were locked out from our DB server and data_engine was not able to connect to the DB.
With the help of our DBA we were able to identify that discovery_server was sending the wrong connection string and due to the number of failed attempts we were locked out.
Now the password was reset and the data_engine is again able to connect to the DB but discovery_server still fails.
Increase the java min/max memory settings to these values:
<startup>
<opt>
java_opts = -server -XX:ErrorFile=./hs_err_pid.log
java_mem_max = -Xmx4096m
java_mem_init = -Xms2048m
</opt>
</startup>
Then do a cold start of the discovery_server (Deactivate-Activate).