SharePoint stores some of the configuration in a cache on the SharePoint servers instead of makings calls to SQL Server (Config DB) every time inorder to improve performance.
But sometimes, this cache might have old or corrupted data which might cause timer jobs to fail.There would be cases where you want to take out a server from the farm and that doesn't refresh properly. Also there is a possiblity that this issue may come up when we change the service account of the sharepoint farm.
To clear the cache, we need to follow the steps below
Note: This operation will break your farm, if we delete the “GUID folder” or the “Cache.ini file”.
1> On all Servers in the farm, stop the Windows SharePoint Services Timer service (OWSTIMER.EXE). To do this go to the Services Console, right click on Windows SharePoint Services Timer service and click stop.
2> After this go the SharePoint Server running Indexing Server and navigate to “System Drive\Documents and Settings\All Users\Application Data\Microsoft\SharePoint\Config\GUID” in case of Windows Server 2003 or “System Drive\ProgramData\Microsoft\SharePoint\Config\GUID” in Windows Sever 2008.
3> In the folder there is single “cache.ini” & rest all are XML files. Delete all the XML files except for the “Cache.ini file”, make sure we do not delete the “cache.ini”. This is very important, do not even delete the whole GUID folder too, this is also very important. Do not delete the GUID folder or the cache.ini file!
4> Now open the “cache.ini” file and note down the number. Clear the number and type in 1.
5> Click save and close the “Cache.ini” file.
6> Now start the Windows SharePoint Services Timer Service on the Indexing Server from the services console.
We will see all XML files being generated again. We open the Cache.ini and we will see same the number, as you noted down before.
We need to repeat steps 2-6 on all queries servers followed by application/web servers.