いつもの通り、業務日報を入力しようとOpenOfficeのBaseで作ったodbファイルを開こうとしたら、なぜかWriterが開きました。しかも文字化けしている…。
受け入れがたい現実であるがデータベースのファイルが壊れたようだ。一昨日までは普通に開いて入力していたし、壊れるような操作はしてないんだがなぁ。
たまたまファイルのコピーを取ってあったので最悪そこまでロールバックなのだが、2018/10/25。半年分の日報を入力し直すとか無理ゲーでしょう。
なんとか復旧しようと頑張ったので備忘録
バックアップの確認
実は何度もHDDが壊れたり、Windows自体が動かなくなったりしてファイル紛失事件を起こしていたので彼方此方にバックアップを取ってはいたのだ!!
- オリジナルのファイルをDropboxに設置
- WindowsPCにミラーリング
- WindowsPCのファイルをGoogle Driveにミラーリング
って、みんな壊れたファイルになってるじゃないか。
ZIPにしてみる
“odb”ファイルは実はZIPファイルのようなもので、Windows7~は拡張子を”.zip”に変更すると中身を見ることができるそうで。正常なファイルが残っていれば壊れた部分だけを入れ替えれば復旧できる可能性があります。
- 壊れたファイル、正常なファイル両方共念の為他の場所にバックアップを取る
- 壊れたファイル20190501.odb → 壊れたファイル20190501.zip
- 正常なファイル20181025.odb → 正常なファイル20181025.zip
しかし壊れた方のファイルをダブルクリックするとエラーで中身を覗くことすらできませんでした。
ZIPの修復
https://www.diskinternals.com/のZIP Repairというフリーソフトで壊れたZIPファイルを修復して開くことができる可能性があるそうなので試しました。

- TRY IT FREEからファイルをダウンロードして自分のPCにインストールする
- Corrupted fileの下の【Brows…】をクリックして壊れたファイルを指定する
- Repair Fileの方にはデフォルトで”recovered_”が先頭に付加されるのでそのままで
- 【NEXT】をクリックすると復旧できるファイルが表示されるので更に【NEXT】をクリックする
- “The product has successflly repaired 1 in the archive 〇〇.zip”と表示されて修復が成功したらしいので【Finish】をクリックする
- “recovered_壊れたファイル20190501.zip”というファイルが新しくできていた
“recovered_壊れたファイル20190501.zip”をダブルクリックすると中に”databaseディレクトリ”とその中にdataというファイルが有るので右クリックでコピーする。
“正常なファイル20181025.zip”をダブルクリックして開くとディレクトリとファイルが格納されている。
databaseディレクトリ ←
formsディレクトリ
META-INFディレクトリ
reportsディレクトリ
content.xml
mimetype
setting.xml
さらにdatabaseディレクトリを開くと5つのファイルがあった(壊れた方のこういうファイルはどこ行っちゃったんだよ・・・)。
data ←
log
propaties
script
正常なファイルの方のdataを選択して右クリックで削除し、さらに右クリックで壊れた方のdataファイルを”貼り付け”て、拡張子を”.odb”に戻せば復旧できる事があるらしい。
しかし、最後の「dataファイルの貼り付け」ができなかった。
試しに修復したZIPファイルを展開してみたが、dataファイルがエラーで完了できなかった。
残念ながらこの方法は無理だった。
Time Machineにあるかも
まてまて。この1年くらいは日報をMacで入力していたし、DropboxをMacのFinderに組み込んで使っていたのだから、Time Machineに壊れる前のファイルのバックアップが残っているはず!
Time Machineに入ってファイルを探すが…業務日報のファイルが出てこない。
Time Machineの設定を確認したら、Dropboxフォルダのバックアップをバックアップ対象柄除外する項目に登録してあった…orz
そりゃないわけだよ。
世代管理してたよね
DropboxとWindowsPC間のバックアップ、ミラーリングはWtBackupというソフトを使用していました。
これで世代管理をしていたはず!しかし、いつの頃からか動いていなかった様子・・・。
DropBoxに世代管理機能があった!
絶望してもうわかる分だけ半年間のデータ入力をしようと、半年前からのノートを用意していたのですが、世代管理機能について検索をしていたらDropboxには標準で世代管理する機能があると知りました。
- ウェブブラウザでDropboxにログインする
- ファイルの横のチェックボックスにチェックを入れると右のメニューに”バージョン履歴”というのが表示されるのでクリックする
- 壊れる前の日付のファイルにカーソルを合わせると右端に【復元】というボタンが現れるのでクリックする
- 復元完了
おかげで間違いなく壊れる前の状態になりました。
Dropboxは神だ 😆
まとめ
Dropbox,Google Drive,iCloudなどのクラウドを利用してバックアップを分散させるのは効果がある。しかしファイルのバックアップはミラーやコピーだけではなくて世代管理も重要。
世代管理できるバックアップソフトを導入しよう。
こちらがソフトの更新もしているので変更しようかな…
MacintoshならTime Machineで大丈夫。ただし除外設定にしないように。
Dropboxには標準で世代管理の機能がついているので安心。
複数のバックアップを取ることが大事。
コメント