Database not mounting

Hi Guys,

I'm upgrading Cache 2008 to 2014, and for two clients so far all good, but with this third one and while trying to mount the main database that includes the data, I'm getting error #36 "database is not mountable"!?

but cache instances the old 2008 and the new 2014 at installed the same way (8 bit) and Cache.dat is (archive) NOT read only so I don't know what could be the problem?

Thanks

  • 0
  • 0
  • 344
  • 6
  • 3

Answers

I suspect that the database has 2 KB block size. It would be mountable in 2008, but not in 2014. If you still have access to the 2008 system, you can run GBLOCKCOPY to convert the database to 8 KB blocks.

Hi Guys,

Yes the problem was that the old Cache.dat is a 2k, but I've ran ^GBLOCKCOPY, created and the batch and a new Cache.dat is created but still when mounting the new Cache.dat still come up as 2K block size and not able to mount, I'm sure that should be an 8K !!?

I'll try again and see.

Thanks

Make sure the file cache.lck is not present : it indicated the cache.dat is mounted by (another) Caché instance.

Also verify the block size of the cache.dat : nowadays it is default 8Kb, but in some previous versions, you could specify other block sizes, and if it is the case, you need to allocate global buffers that are minimum that size.

Hi Guys,

I think the easy way with is to just create an empty Cache.dat then copy all Globals from the old cache to the fresh new one.

I know that can be done by using GBLOCKCOPY  but done know the correct steps?because I tried GBLOCKCOPY , option 1 then option 1 it tells me "No database or database is dismounted in Directory" although there is a dismounted Cache.dat?

Thanks

Where are you running the GBLOCKCOPY? If on your 2014 environment I think you'll be having the same problem as when you just tried to mount the database there. GBLOCKCOPY needs to mount it before it can copy block from it to your new database.

Most likely, your original database has 2KB blocks. Your problem then is, 2014 can't mount any databases with 2KB blocks. The last version supporting 2KB block databases was 2011.1. See here.

HI John,

I had to run is in 2014 because when I run it in 2008 on Mounted or Unmounted database it gives me following error 

 
Convert 2KB c:\test civicview version 8\data\production\CACHE.DAT => 8KB c:\test civicview version 8\data\production\CACHE.DAT
 
Confirm auto creation of batch VB2? No => Yes
 
Creating directory c:\test civicview version 8\data\production\pre-gbcopy\
ERROR: rename failed with error code 1
Unable to rename c:\test civicview version 8\data\production\pre-gbcopy\CACHE.DAT to c:\test civicview version 8\data\production\CACHE.NEW
Unable to add c:\test civicview version 8\data\production\CACHE.DAT to the batch
 
Batch Name: VB2  0 of 0 Processes running, 0 per directory
 # Source DB=>Destination DB/NS                  Last Update Done/ToDo/Err State
-- ----------------------------                  ----------- ------------- -----
 
Auto creation of batch VB2 complete

Thanks

I'm not sure that GBLOCKCOPY is able to cope with you specifying the same filepath for the source and destination databases.

GBLOCKCOPY doc for 2008.1 is here.

I haven't specified any path, the process does it automatically  and doesn't allow changing it.

when i done it in 2014 with the same steps it worked and then batch created, then ran batch and database created but still when mounting it, it's mounted as 2k not 8 !!?

anyway, what I've done now is just the old traditional way by exporting all globals from the old 2k, created a fresh new database (8k), then imported the globals in it, but I'm suspecting that GBLOCKCOPY in 2008 having some issues!?

Thanks John

The cconsole.log should also give you a clue why it cannot mount the database.