Scenario 2: Dispatcher dies due to a database connection problem

There's probably nothing worse than not being able to start your SAP system. Where's the problem? The operating system? The database server? Or perhaps it is time to dive into the dark corners of SAP to get some answers? This handy troubleshooting guide by veteran site expert Giovanni Davila will help you figure out what's going on.

  • No database connections.
  • No work processes.
  • SAP MMC -> WP Table shows all processes as "ended".
  • Errors found in "dev_disp":
    C setuser 'tst' failed -- connect terminated
    C failed to establish conn. 0
    M ***LOG R19=> tskh_init, db_connect (DB-Connect 000256) [thxxhead.c 1102]
    M in_ThErrHandle: 1
    M *** ERROR => tskh_init: db_connect (step 1, th_errno 13, action 3, level 1) [thxxhead.c 8437]
    *** ERROR => W0 (pid 2460) died [dpxxdisp.c 11651]
    *** ERROR => W1 (pid 2468) died [dpxxdisp.c 11651]
    *** ERROR => W2 (pid 2476) died [dpxxdisp.c 11651]
    . . .
    *** ERROR => W11 (pid 2552) died [dpxxdisp.c 11651]
    *** ERROR => W12 (pid 2592) died [dpxxdisp.c 11651]
    my types changed after wp death/restart 0xbf --> 0x80
    *** DP_FATAL_ERROR => DpEnvCheck: no more work processes
    DpModState: change server state from STARTING to SHUTDOWN

Problem Analysis
A connection to the database could not be established because either the SQL login specified in parameter "dbs/mss/schema" is set incorrectly or the SQL login was deleted from the database server. This parameter needs to be set in the DEFAULT.pfl system profile (under /usr/sap/<SID>/sys/profile). In the messages above, we see that the SQL login 'tst' is expected but it does not exist at the database level.

Set the entry to the appropriate database owner. If the system is based on Basis <= 4.6 or if the system was upgraded from 4.x to 4.7 the database owner should be "dbo". But, if the system was installed from scratch and it's based on the Web AS 6.x the database owner should match the SID name in lower case. Example: if the SID is TST then the database owner should be "tst". If the parameter is set correctly in the DEFAULT.pfl profile check at the database level if the SQL login exists. If it doesn't, create it and give it database ownership to the <SID>.


 Home: Introduction
 Scenario 1: Dispatcher does not start due to a port conflict
  Scenario 2: Dispatcher dies due to a database connection problem
 Scenario 3: SAP does not start at all: no message server and no dispatcher
 Scenario 4: Users get 'No logon possible' messages when they attempt to log in
 Scenario 5: The message server starts but the dispatcher doesn't
 Scenario 6: Work processes die soon after they start
 Review: Conclusion and more resources

Dig Deeper on SAP Basis