Error 905

Severity

17

Message text

Unable to allocate a DBTABLE descriptor to open database ’%S_DBID’. Close or drop another database before opening this one, or ask your System Administrator to raise the configuration parameter ’number of open databases’.

Explanation

As part of open database processing, the Database Table Manager controls and synchronizes access to database tables. When Adaptive Server tries to open a database and there are not enough database descriptors available, error 905 occurs. (The total number of database descriptors available is controlled by the number of open databases configuration parameter.)

The action in the text of the 905 message only applies to environments where you cannot have any more open databases (for instance, because of memory limitations).

Action

When error 905 occurs, select one of the following strategies to solve the problem.


Short term

In the short term, you can close or drop another database. This is not a long-term solution. You can use this option until an Adaptive Server restart can be scheduled, as a restart is necessary for the long-term solution.

To close a database, make sure no users are accessing the database or put the database into single-user mode. This does not guarantee that the database will not be accessed by Adaptive Server (for example, for an automatic checkpoint), so the 905 error may still occur.


Long term

As a long-term solution, use sp_configure to increase the value of the number of open databases configuration parameter:

  1. Determine your current value:

    1> sp_configure "number of open databases"
    2> go
    
  2. Determine what your new value should be. One way to do this is to determine the number of databases you have now and then add a padding factor for future growth.

    For example:

    1> select count(*) from sysdatabases
    2> go
    
    ----------- 
            12 
    
  3. Set the new value. For example:

    1> sp_configure "number of open databases", 15
    2> go
    

    where “15” is the new value (12 existing databases plus a padding factor of 3 for future growth).

  4. This step is not required for version 15.0 and later.

    If you have a version of Adaptive Server Enterprise earlier than version 15.0, shut down and restart Adaptive Server to have the new value put into effect.

    NoteIf you increase the value of the number of open databases configuration parameter, reconfigure Adaptive Server memory appropriately. 17,408 bytes are required for each additional open database. Refer to the chapter “Configuring Memory” in the System Administration Guide: Volume 2 and the Adaptive Server Enterprise performance and tuning guides for information about Adaptive Server memory use.

Versions in which this error is raised

All versions