dxcc_id tablespace missing

4 posts / 0 new
Last post
AD0IU
AD0IU's picture
dxcc_id tablespace missing

Following a power outage, I'm getting this error on my database & it's preventing CQRLOG from running:

| cqrlog003.dxcc_id  | check | Warning  | Tablespace is missing for table 'cqrlog003/dxcc_id'                          |
| cqrlog003.dxcc_id  | check | Error       | Got error 194 "Tablespace is missing for a table" from storage engine InnoDB |
| cqrlog003.dxcc_id | check | error        | Corrupt

I managed to start mariadb by setting innodb parameters in mysql.cnf:

innodb_force_recovery=6

and alternatively

innodb-corrupt-table-action=salvage

I haven't been able to successfully use ALTER TABLE or mysqldump successfully.  I tried copying the dxcc_id.frm and dxcc_id.idb files from another database (cqrlog004) over to this one, but that didn't work either.

I'd be grateful for any help.

Thanks,

Rob

AD0IU

oh1kh
dxcc_id tablespace missing

Hi Rob!

As it seems that you are familiar with databases you could try: Backup current situation by copying ~/.config/cqrlog with all files and folders to safe place. (assume you have selected "save log data to local machine")

When you have started MariaDB, I.E. got Cqrlog running, open command console mysql:
mysql -S ~/.config/cqrlog/database/sock cqrlog003
if you give:
show tables;
you should see dxcc_id there. Then you can drop table:
drop table dxcc_id;
And create it again. Below are lines from source code file dData.lfm that is used to create dxcc_id table you should use them:

they should work from console if you leave all ' characters away.

Then it seems that when Cqrlog opens database it clears and fills the dxcc_id by itself:

So it should work. Hopefully...

 

(Oh.. im my  preview it seems that screen captures are rolling oper web page frames. Hope they are readable)

 

--
Saku
OH1KH

AD0IU
AD0IU's picture
Update - dxcc_id tablespace missing

Thanks Saku!

I ended up creating a new SD card for my Raspberry Pi, putting Ubuntu on it, and doing a fresh install of CQRLOG, Mariadb, WSJT-X, etc.  Thanks to the handy auto-backup, I was able to restore the log in question (cqrlog003).

On the old SD card, I managed to find a (partial) work around that at least got the database running again.

  • I dumped the contents of cqrlog_main to a CSV file.
  • I moved the offending log (cqrlog003) directory to my Downloads folder.
  • I loaded the contents of cqrlog_main onto cqrlog001.  That operation was successful.
  • Ran Check Table on everything and it all came up good.

So now the database on the old SD card seems to be in good shape.  I can start CQRLog successfully, load cqrlog001, and open the QSO List window, but at some point there's an access-violation and everything crashes.  So I haven't figured that out yet.  I'll probably keep messing around with it this week, but only as a learning exercise since I've got the new install working.

Thanks for the suggested fix.  I'll keep that handy in case I end up needing it.

As always, I appreciate your help!

73,

Rob AD0IU

Rob
AD0IU

AD0IU
AD0IU's picture
dxcc_id tablespace missing

I was finally able to get back to the database and followed your instructions.
It worked perfectly! I also managed to clear up the "access violation" problem.

Thanks again!

73,
Rob AD0IU

Rob
AD0IU