Re-creating the IMA Local Host Cache in Citrix XenApp

Problem:

If the IMA Service will not start with messages in the event log such as the following, then the IMA local host cache database may be corrupt or the Citrix server may be unable to connect to the datastore

 

Event Type:     Error
Event Source:   IMAService
Event Category: None
Event ID:       3989
Date:           05/08/2011
Time:           09:32:18
User:           N/A
Computer:       CTXCORE01
Description:
The Citrix Presentation Server failed to connect to the Data Store. ODBC error while connecting to the database: S1000 -> [Microsoft][ODBC Microsoft Access Driver]General error Unable to open registry key ‘Temporary (volatile) Jet DSN for process 0x700 Thread 0xeac DBC 0x618ea4 Jet’.
Event Type:     Error
Event Source:   IMAService
Event Category: None
Event ID:       3989
Date:           05/08/2011
Time:           09:32:18
User:           N/A
Computer:       CTXCORE01
Description:
The Citrix Presentation Server failed to connect to the Data Store. ODBC error while connecting to the database: S1000 -> [Microsoft][ODBC Microsoft Access Driver]General error Unable to open registry key ‘Temporary (volatile) Jet DSN for process 0x700 Thread 0xeac DBC 0x618ea4 Jet’.
Event Type:     Error
Event Source:   IMAService
Event Category: None
Event ID:       3989
Date:           05/08/2011
Time:           09:32:18
User:           N/A
Computer:       CTXCORE01
Description:
The Citrix Presentation Server failed to connect to the Data Store. ODBC error while connecting to the database: S1000 -> [Microsoft][ODBC Microsoft Access Driver]General error Unable to open registry key ‘Temporary (volatile) Jet DSN for process 0x700 Thread 0xeac DBC 0x618ea4 Jet’.
Event Type:     Error
Event Source:   IMAService
Event Category: None
Event ID:       3989
Date:           05/08/2011
Time:           09:32:18
User:           N/A
Computer:       CTXCORE01
Description:
The Citrix Presentation Server failed to connect to the Data Store. ODBC error while connecting to the database: S1000 -> [Microsoft][ODBC Microsoft Access Driver]General error Unable to open registry key ‘Temporary (volatile) Jet DSN for process 0x700 Thread 0xeac DBC 0x618ea4 Jet’.
Event Type:     Error
Event Source:   IMAService
Event Category: None
Event ID:       3989
Date:           05/08/2011
Time:           09:32:18
User:           N/A
Computer:       CTXCORE01
Description:
The Citrix Presentation Server failed to connect to the Data Store. ODBC error while connecting to the database: S1000 -> [Microsoft][ODBC Microsoft Access Driver]General error Unable to open registry key ‘Temporary (volatile) Jet DSN for process 0x700 Thread 0xeac DBC 0x618ea4 Jet’.

Solution:

Recreating the Local Host Cache

You can manually create the local host cache from the farm’s data store. If the Citrix IMA Service fails to start or you have a corrupt local host cache, you may need to recreate it.

To recreate the local host cache, stop the IMA Service and then run the command dsmaint recreatelhc. Running this command performs three actions:

  • Sets the value of the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Citrix\IMA\ RUNTIME\PSRequired to 1. This key is HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\IMA\ RUNTIME\PSRequired to 1 on XenApp, 32-bit Edition.
  • Deletes the existing local host cache (Imalhc.mdb)
  • Creates an empty local host cache (Imalhc.mdb)

You must restart the IMA Service after running dsmaint recreatelhc. When the IMA Service starts, the local host cache is populated with fresh data from the data store.

The data store server must be available for dsmaint recreatelhc to work. If the data store is not available, the Citrix IMA Service fails to start.

1 thought on “Re-creating the IMA Local Host Cache in Citrix XenApp”

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.