mysql:11888
From: SUGIMURA Takashi 杉村 貴士 <SUGIMURA Takashi 杉村 貴士 <sugimura@xxxxxxxxxx>>
Date: Fri, 05 Aug 2005 11:03:06 +0900 (JST)
Subject: [mysql 11888] Re: REPAIR TABLE でのエラーについて
杉村です。 > Not enough memory for blob at [sort_param->start_recpos] (need [block_info.rec_len]) > > というメッセージは、そのバッファへのメモリ確保に失敗したときに出力されるようです。 > ですから、REPAIR TABLE 命令発行後のメモリ状況や MySQL の設定を調査すれば何かわかるかも知れません。 > 調べてはいるのですが、どの設定が影響するのかを全部追いきれずにいます。 OS 的には十分すぎるほど空いていますので、my.cnf を疑っています。 > また、次の要素からも何かヒントを得られるかも知れません。 > (http://dev.mysql.com/doc/mysql/ja/repair-table.html より) > このページやその周辺を見まして、不要な INDEX の削除まではできました。 [DB 停止状態で myisamchk -e -i] # myisamchk -e -i XXXXXXXXXXXXXX Checking MyISAM file: XXXXXXXXXXXXXX Data records: 3413 Deleted blocks: 0 myisamchk: warning: Table is marked as crashed and last repair failed - check file-size myisamchk: warning: Size of indexfile is: 1499136 Should be: 171008 - check record delete-chain - check key delete-chain - check index reference - check data record references index: 1 myisamchk: error: Found 3414 keys of 3413 - check data record references index: 2 myisamchk: error: Found 3414 keys of 3413 - check data record references index: 3 myisamchk: error: Found 3414 keys of 3413 - check records and index references myisamchk: error: Record at: 32577612 Can't find key for index: 1 MyISAM-table 'LOG_PACKETDATA' is corrupted Fix it using switch "-r" or "-o" User time 0.23, System time 0.21 Maximum resident set size 72032, Integral resident set size 9203888 Non-physical pagefaults 17884, Physical pagefaults 0, Swaps 0 Blocks in 0 out 0, Messages in 0 out 0, Signals 0 Voluntary context switches 0, Involuntary context switches 46 [チェックしてエラーがあったので修復] svsadev# myisamchk --safe-recover XXXXXXXXXXXXXX - recovering (with keycache) MyISAM-table 'XXXXXXXXXXXXXX' Data records: 3413 Data records: 30138 [MySQL再起動、目的のINDEXを削除] mysql> drop index IX_XXXXXXXXXXXXXXXX ON XXXXXXXXXXXXXX; Query OK, 30138 rows affected (20.94 sec) Records: 30138 Duplicates: 0 Warnings: 0 [しかし別な INDEX を作成しようとするとエラー] mysql> CREATE INDEX IX_XXXXXXXXXXXXXXXX ON XXXXXXXXXXXXXX (A, B); ERROR 1030 (HY000): Got error 12 from storage engine % perror 12 OS error code 12: Cannot allocate memory どのメモリが足りなかったのかがわかるともう少々追いやすいのですが、 なかなか難しいところです。 > 残念ながら私が力になれるのはこの辺りまでのようです・・・。 > いえいえ。ありがとうございます。 --- 杉村 貴士 <sugimura@xxxxxxxxxx> GnuPG fingerprint: C81B 9835 1C9E BD9B 84BF 9785 0B91 D08B F667 DCED
11880 2005-08-04 17:54 [SUGIMURA Takashi 杉�] REPAIR TABLE でのエラーについて 11885 2005-08-05 10:05 ┣["T.Sasaki" <papasan2] -> 11888 2005-08-05 11:03 ┃┗[SUGIMURA Takashi 杉�] 11891 2005-08-05 12:44 ┃ ┣["T.Sasaki" <papasan2] 11892 2005-08-05 12:44 ┃ ┗[とみたまさひろ <tomm] 11893 2005-08-05 12:55 ┃ ┗[SUGIMURA Takashi 杉�] 11895 2005-08-05 14:04 ┗[<takeshi@xxxxxxxxxx>]