How to resolve fork/"not enough space" errors on Solaris and Linux servers

Document ID : KB000030809
Last Modified Date : 14/02/2018
Show Technical Document Details

PROBLEM:

The system.log file on an eHealth Solaris or Linux server displays nhiDbServer error similar to the following:

Error nhiDbServer Pgm nhiDbServer: Fork for '/opt/CA/eh63/bin/nhDeleteTempTables' failed (Not enough space).

The process that is listed (in the example above, the process is nhDeleteTempTables) may vary, but they will always be processes that impact the Oracle database.

 

CAUSE:

These errors are a sign that Oracle is trying to use more swap space than is available on the server. Likely the database has grown to a size that needs more swap than the original specifications listed, or the swap space was underallocated to start with.

 

SOLUTION:

Follow these steps to add additional swap space to the server.

  1. Create an empty file large enough to appropriately size the total swap space. For example, to add an additional 6GB of swap space one might create a new file in the /swap directory.

    mkfile 6000m /swap/newSwapFile

  2. Verify the new file was generated

    ls -l

  3. Add the new file to the existing swap area

    /usr/sbin/swap -a /swap/newSwapFile

  4. Verify that the new swap area has been generated and is active

    /usr/sbin/swap -s
    /usr/sbin/swap -l

  5. Restart eHealth and Oracle

    nhServer stop
    nhHttp stop
    nhStopDb immediate
    nhStartDb
    nhHttp start
    nhServer start

Some servers may require a full reboot for the new swap space to become available; please check with your system administrator.