Forced recovery allows the server to start if the allocation map is inconsistent.
In forced recovery mode, options display information about inconsistencies. You can also specify options to repair such inconsistencies.
Follow this procedure only if you see s_buf or free list errors during failure recovery. If SQL Anywhere recovery errors occur, -iqfrec will not correct the problem.
Restricting database access gives the DBA greater control over inadvertent opens of the database during forced recovery. Sybase recommends using two server startup switches to restrict access:
Use -gd DBA so that only users with DBA authority can start and stop databases on a running server. (Note that the client must already have a connection to the server to start or stop the database, so this switch does not prevent connections.)
Use -gm 1 to allow a single connection plus one DBA connection above the limit so that a DBA can connect and drop others in an emergency.
sa_server_option('disable_connections', 'ON')just after you start the connection where you are performing forced recovery and
sa_server_option('disable_connections', 'OFF')on the same connection after recovery. The disadvantage is that this method precludes emergency access from another DBA connection.
If you are unable to start your server in forced recovery mode, contact Sybase Technical Support.
Running forced recovery starts the database in a valid, but fully allocated mode. In other words, you should be able to do all operations, but no permanent main dbspace is left. Before you do anything else, you must either recover the lost dbspace by running sp_iqcheckdb in dropleaks mode, or add a new dbspace. Note that queries should also run successfully, since they do not need additional permanent dbspace; however, you cannot load, insert, or delete data.
Running queries without verifying the database will not cause any inconsistency in your data. However, if there is a problem in the data that caused the server to fail, the server could fail again or produce incorrect results.