shinonon
shino****@jcom*****
2016年 12月 24日 (土) 00:02:53 JST
篠田です。 すみません。自己解決しました。 On Fri, 23 Dec 2016 22:35:17 +0900 shinonon <shino****@jcom*****> wrote: > 以下のように2つに分割しました。 > ---------------------------------------------------------------------- > table_create … > table_create … > column_create … > table_create … > : > load --table Mail > [ > ["_key","attr",…], > ["1",[],…], > ["2",[],…], > : > ["9999",[],…] ←最後のカンマを削って > ] ←]で閉じる > ---------------------------------------------------------------------- > load --table Mail > [ > ["_key","attr",…], ←★★★分割後にもカラム名が必要!!!!! > ["10000",[],…], ←次の項目から始める > ["10001",[],…], > : > ] > > column_create … > column_create … > column_create … ←最後まで > ---------------------------------------------------------------------- ★★★に書いたように、2つに分割した後にカラム名も追加しなければいけなかっ たことに気づきました。 大変お騒がせしました。 ただ、それでもやはりエラーが出てしまいました。 調べてみたら、load --table したあとに、インデックスカラムを column_create しているところでエラーが出ていることが分かりました。 そこで、dump 結果のインデックスカラムを作る column_create を load --table する前に持ってきて restore したら、正常に完了することを確認しました(時 間はだいぶかかるようになってしまいましたが…)。 ただ、約1GBを一気に restore するとダメで、約300MBずつに分割したものを順 番に restore することで正常完了しました。 一気にインデックスカラムを作ることでメモリエラーが起きているということに なると思いますので、試しに正常完了した DB に対して reindex を実行したら、 やはりエラーが出て検索が行えなくなってしまいました。 というわけで今回の現象は、 ・32bit環境で大きなDB(dump結果が約1GB)を reindex すると DB が壊れる ・32bit環境で大きなDB(dump結果が約1GB)を一気に restore できない ということになると思います。 これはやはり 32bit版の仕様制限ということになってしまいますでしょうか? -- 篠田 敦 shino****@jcom*****