- PR -

MSDE と仲良くなる方法

投稿者投稿内容
わちゃ
大ベテラン
会議室デビュー日: 2005/12/05
投稿数: 162
お住まい・勤務地: 東京
投稿日時: 2006-08-23 20:59
MSDE2000 って、ちゃんとしたデータベースだと思ってたんですよ。
SQL-Server ベースって聞いたましたしね。


でも、たまに思うんです。
ある意味において、よっぽどか mdb の方がよかったなって。


例えば、mdb はファイルが壊れても mdb の再構築でほとんど直りますし、
それでダメなほど壊れてもバックアップからもどせば直りますよね。

でも、MSDE って、ファイルが壊れたら再構築みたいなので復旧することも
ないですし、バックアップから戻さないといけないのでほんと、壊れたらアウト。
だから、バックアップ後のデータは無くなっちゃいますし、master が壊れた日にゃ、
手に負えんすよ。

再インストールしないと直らないなんて、販売するシステムじゃ全然使い物にならんす。


あ、ファイルが壊れてもトランザクションログをとっとけば、直近まで戻るよって?
そうなんですよね。

でも、機械から機械へのデータの移動をしばしば行なうシステムなんで、
トランザクションログを適用しないリストアの方が圧倒的に多いので、
そんなもんで、トランザクションログは基本的に使わないようにしているんです。


ちょっと前に、SP3 で発生するバグがあったので、SP4 をあてたんですが、
OS がまともに動かなくなってしまって。ムキーって感じ。
まぁこれは、XP Embedded なんで、MSDE の問題っていうより、OS の作り方の
問題かもしれないですけどね。


先日も、インデックスとデータの不整合が発生して、データが壊れちゃいまして、
大騒ぎですよ。しかもデータが壊れたってすぐに分からなかったので、
そのまま運用して、被害も拡大しちゃいました。


SQL Server 2005 の方がはるかに安定しているからいいよとか、
MSDE なんてしょせんダメだから、Oracle にしなさいとか、
なんでも、いいんでアドバイスをもらえればと思います。

できれば、今の MSDE2000 の仲良くつきあう為の方法とか、心がけとかあれば
教えていただければと思います。


#どっちかっつうと、愚痴スレっぽいので、軽く流してください。
saki1208
ベテラン
会議室デビュー日: 2006/08/22
投稿数: 86
投稿日時: 2006-08-23 21:21

saki1208です。

10gは使ったことないからわかりませんけど...

Oracleでも、ファイルが壊れたらバックアップを復元するのが基本ですよ。
て言うか、壊れていない時点のファイルに戻さないとダメです。
※壊れた際にRecoverコマンド叩いて修復できた記憶がない

戻した後に、現時点までの情報をロールフォワードする形式でデータを復旧
しますが、これも復旧したファイル以降の全てのログ(オンラインRedoログ
アーカイブログ)がなければ、データまでは復旧できません。
※スタンバイデータベース等があれば別でしょうが、データベース自体が1
 つしかなければ基本的には上記の方法ではないかと...

私は基本的にエクスポート/インポートを使用してバックアップとすること
が多いですが、"そこまでしか戻らないのでこまめにバックアップしてくだ
さい。バックアップがない場合はデータの保障はできません。"って話で納
得してもらってます。
※24時間運用とかないからそれで許されるのでしょうけど...



わちゃ
大ベテラン
会議室デビュー日: 2005/12/05
投稿数: 162
お住まい・勤務地: 東京
投稿日時: 2006-08-23 21:34
ぬぁ、Oracle でもファイルが壊れる事があるんですね。
それは知りませんでした。

まぁ、しょせんはどちらもソフトウェアですからバグはあるんですね。

でも、24時間稼動サービスのとこで、ファイルが壊れると泣きそうですね。
RAID にしてたって、なんの意味もないですし、バックアップから
全部戻すとなると、けっこうぞっとしそうですね。
saki1208
ベテラン
会議室デビュー日: 2006/08/22
投稿数: 86
投稿日時: 2006-08-23 21:43

saki1208です。

自分で使用したことがないので、書きませんでしたが...

Oracleでは、運用しながらのバックアップも実際には可能なはずです。

http://www.atmarkit.co.jp/flinux/rensai/oracle06/oracle06.html
Ahf
大ベテラン
会議室デビュー日: 2006/08/16
投稿数: 172
投稿日時: 2006-08-24 00:28
私の仕事でもMSDEは使う場面が多々あったりしますが、
バックアップに関しては2通りの方法でやっていたりします。

・通常通りダンプする
・DBのデタッチ後ファイルコピーし再度アタッチ

ただデタッチ〜だとどうしても停止時間が発生するのが悩みの種です。
それとファイルのサイズによっては・・・。

まぁ今の時点では、Agentを利用して定時バックアップを深夜にでも
自動的に行うようにしたり、ユーザーさん側で注意してバックアップをとって
もらうように仕向けることぐらいしか出来ていません・・・。

システムの停止時間をある程度用意してもいい場合だと、DBCCを色々行った後にダンプ
したりと色々頑張ってはいますが、やはりダメな時もありますので
その時は諦めて、ログやダンプから復旧するようにしています。
もしもし
ぬし
会議室デビュー日: 2004/10/15
投稿数: 280
投稿日時: 2006-08-24 09:01
引用:

わちゃさんの書き込み (2006-08-23 21:34) より:
ぬぁ、Oracle でもファイルが壊れる事があるんですね。
それは知りませんでした。

まぁ、しょせんはどちらもソフトウェアですからバグはあるんですね。



バグ以前に、ディスクが吹っ飛んだらどうにもしようがないですよね。
バグでデータファイル破損って最近のバージョンではあまり聞きませんが。

Oracle であろうと Synfoware であろうと PostgreSQL であろうと、
ディスク破損でファイルが消えたとかアプリのミスとかでデータを
消しちゃったとかやらかした場合は、何かしらの方法でリカバリを
しなければならないですし、そんときはバックアップファイルと
トランザクションログを適用して任意の時刻まで(もしくは直前まで)
トランザクションを適用していく、という作業をやります。

_________________
もしもし@RMAN 友の会
わちゃ
大ベテラン
会議室デビュー日: 2005/12/05
投稿数: 162
お住まい・勤務地: 東京
投稿日時: 2006-08-24 22:12
みなさん、コメントありがとうございます。

まぁ、ハード障害は、しょうがないですよね。
それだったら、ハードディスクに対して愚痴るかもしれませんけど。

でも、ハードがいかれてなくて、データファイルが壊れてデーターベースが
起動できなかったり、不整合が発生するとつらいですよね。

データファイルが破損するという現象は、そこそこのデータベースであれば、
バグの一種ではないかと疑ってしまいます。

不正なシャットダウンの時以外でも、発生する場合もあるんですよ。

ちなみに、バックアップは、客先に毎日やってもらっていて、
通常の BACKUP DATABASE でやってます。

それにしても、今日調べて初めて知ったんですが、
ある種のリストアであれば、Oracle の EE は、リストア中でも、アクセスできるんですね。

すげ。
わちゃ
大ベテラン
会議室デビュー日: 2005/12/05
投稿数: 162
お住まい・勤務地: 東京
投稿日時: 2006-08-25 11:23
そういえば、よく分からない状態になったらとりあえず、 DBCC の dbreindex を流すようにしています。

これで直ったことも2回あったりします。
1回は、それで普通に直りました。
もう1回は、データが1件化けたので、ちょっとSQLで修正しました。

あとダメな時は、DB が起動しなかったり、オープンできなかったりなので dbcc でもなんともしようがなかったのですが、なにか他にこれで復旧したことあるよ〜、みたいな経験が、あれば教えていただければと思います。

スキルアップ/キャリアアップ(JOB@IT)