0

私はかなり長い間この問題を理解しようと試みており、すべての通常の解決策を見てきました。sqliteデータベースで.backupを実行しようとしています。重要ではないと思いますが、この特定のデータベースはMembaseによって使用されており、Amazonクラウドでも実行されています。バックアップ先のフォルダーとデータベースの元のフォルダーの両方に777のアクセス許可があります(これがこのメッセージの通常の原因です)。バックアップコマンドをsudoすると、バックアップの途中で処理が停止し、CPU使用率を消費している間にプロセスがハングし、最終的にsqliteプロセスを強制終了します。データベースファイル自体をchmod777で調べました。

これが起こっていることです:

/opt/membase/bin/sqlite3 /mnt/data-store/default-data/default-0.mb '.backup /mnt/data-backup/mbfiles/test.mb'

Error: unable to open database file

フォルダをls-laすると、次のようになります。

drwxrwxrwx 2 membase membase      4096 Sep 10 15:41 .
drwxrwxrwx 4 membase root         4096 Aug  5 01:10 ..
-rw-r--r-- 1 membase membase     53248 Sep 10 15:41 default
-rwxrwxrwx 1 membase membase 849593344 Sep 10 15:41 default-0.mb

そしてバックアップフォルダ:

drwxrwxrwx 2 ec2-user ec2-user 4096 Sep 10 15:41 .
drwxrwxrwx 4 root     root     4096 Sep  3 00:26 ..

また、重要だと聞いているので、/tmpの許可

drwxrwxrwt  3 root root 4096 Sep 10 03:32 .

私はこれを1週間以上修正しようとしていますが、新しいアイデアがあれば幸いです。これは実稼働環境であるため、再起動することはできません。

編集:チェックしたところ、大きなデータベースではなく、小さな「デフォルト」ファイルをバックアップできるため、フォルダーのアクセス許可に関するあらゆる種類の問題が除外されます。どんな助けでも大歓迎です。

ありがとう!

4

1 に答える 1

0

これはsqliteの問題のようです。他のお客様でもこのエラーが散発的に発生していますが、追跡や解決はまだできていません。sqliteの専門家によると、これは決して起こらないはずです;-)

さらにテストするためにMembaseプロセスをシャットダウンできますか?その場合、この時点でバックアップを作成しようとすると(「memcached」プロセスが停止していることを確認してください)、ソフトウェアがファイルにアクセスする際の問題が除外されます。それでもこの時点で機能しない場合は、sqlite DBを検証するためのツールがあることを知っています(頭のてっぺんからそれらを外さないでください)。

sqliteを介して「.dump」と「.restore」の組み合わせを使用することもできますが、効果をテストしていないため、実行中のMembaseノードで実行することはお勧めしません。

ペリー

于 2011-09-13T21:43:06.157 に答える