Unable to read from table. Repair fails.
Posted by: Nigu Ramachandran
Date: August 03, 2012 03:20AM

Hi,

We are using MYSQL database 4.1.9-standard edition. One web application runs on this database and we have several databases. In one of the databases, we are not able to read form a particular table. After searching for workarounds, we tried to repair the table and it failed. The file for this table is 4Gb and I have read that for this version of MYSQL the maximum size of datafile cannot grow more than 4GB.
The following are the things tried :

mysql> select * from img_upl;
ERROR 1016 (HY000): Can't open file: 'img_upl.MYI' (errno: 144)
mysql>
mysql> repair table img_upl;
+------------------+--------+----------+-----------------------------------------------------+
| Table | Op | Msg_type | Msg_text |
+------------------+--------+----------+-----------------------------------------------------+
| propexdb.img_upl | repair | info | Delete link points outside datafile at 0 |
| propexdb.img_upl | repair | info | Found block with too small length at 724; Skipped |
| propexdb.img_upl | repair | info | Found block with too small length at 748; Skipped |
| propexdb.img_upl | repair | info | Found block with too small length at 876; Skipped |
| propexdb.img_upl | repair | info | Found block with too small length at 904; Skipped |
| propexdb.img_upl | repair | info | Found block with too small length at 1184; Skipped |
| propexdb.img_upl | repair | error | Not enough memory for blob at 1316 (need 248213239) |
| propexdb.img_upl | repair | info | Delete link points outside datafile at 0 |
| propexdb.img_upl | repair | info | Found block with too small length at 724; Skipped |
| propexdb.img_upl | repair | info | Found block with too small length at 748; Skipped |
| propexdb.img_upl | repair | info | Found block with too small length at 876; Skipped |
| propexdb.img_upl | repair | info | Found block with too small length at 904; Skipped |
| propexdb.img_upl | repair | info | Found block with too small length at 1184; Skipped |
| propexdb.img_upl | repair | error | Not enough memory for blob at 1316 (need 248213239) |
| propexdb.img_upl | repair | status | Operation failed |
+------------------+--------+----------+-----------------------------------------------------+
15 rows in set (0.17 sec)

mysql> check table img_upl;
+------------------+-------+----------+--------------------------------------------------------+
| Table | Op | Msg_type | Msg_text |
+------------------+-------+----------+--------------------------------------------------------+
| propexdb.img_upl | check | warning | Table is marked as crashed and last repair failed |
| propexdb.img_upl | check | warning | Size of datafile is: 4294966584 Should be: 0 |
| propexdb.img_upl | check | warning | Datafile is almost full, 4294966584 of 4294967294 used |
| propexdb.img_upl | check | error | got error: 127 when reading datafile at record: 383 |
| propexdb.img_upl | check | error | Corrupt |
+------------------+-------+----------+--------------------------------------------------------+
5 rows in set (0.45 sec)


Please assist me in getting this issue resolved if anyone of you have experienced similar issue.

Regards,
Nigu

Options: ReplyQuote




Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.