Enabling recoverability from closed or failed database connections

Problem: The SQL Anywhere database servers and the SAP Mobile Server can recover if the database connections between the SAP Mobile Server and the SAP Mobile Platform database servers (defaultdb, clusterdb, monitordb) break due to a temporary network outage or other issue.

  1. For all the startup command line options to start the SQL Anywhere database servers, set a non-zero value for the "-ti" option, for example:
    -ti5
    This setting ensures that SQL Anywhere automatically closes any connections into the database server that remain idle for more than 5 minutes. That releases row, table, and database locks that would otherwise be held by those connections.

    It is not recommended to set the timeout value less than 2 minutes, and it may need to be larger than 5 minutes if the longest duration of remote database synchronization is over 5 minutes (or else the closing of idle connections may cause one or more user's sync sessions to fail).

  2. The "pingConnections" Data Source property (shown as "Ping Connections" in SAP Control Center) for each data source must be set to true. For clusterdb, you cannot do this in SAP Control Center; you must edit the properties file, for example:
    C:\SAP\MobilePlatform\Servers\UnwiredServer\Repository\Instance\com\sybase\djc\sql\DataSource\clusterdb.properties
    Make that change on each SAP Mobile Server host.
  3. The "maxIdleTime" Data Source property (shown as "Max Idle Time" in SCC) for each data source SHOULD be set to 60. For clusterdb, this cannot currently be done using SCC, so can only be done by editing the properties file, for example:
    C:\SAP\MobilePlatform\Servers\UnwiredServer\Repository\Instance\com\sybase\djc\sql\DataSource\clusterdb.properties
    Make that change on each SAP Mobile Server host.