DB運用クイズ答合わせ。論理と物理、イメージはこれ。
サーチマン佐藤です。
こんにちは。
昨日の
「DBバックアップの典型的な間違い」レポート、
好評です。
よかったら、是非、お取り寄せくださいね。
そして、周りの方にも教えてあげてください。
(無料だし)
さて、今日は、
前回のクイズの答え合わせです。
クイズには、本当に本当に
多くの方が回答してくれました。
とっても嬉しいです。
こうして反応頂けることが、
私のエネルギー。
ありがとうございます。
では、まず、
クイズの復習からいってみますね。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【問題】
DBには、「論理バックアップ」と
「物理バックアップ」があります。
しかし、その二つのうち、
(Oracle)「ユーザーズ・ガイド」は、
運用上のバックアップの手法として、
強力に推薦しているのは、一つです。
さて、その一つは、
「論理」「物理」、どちらでしょうか?
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
こんな問題でしたね。
回答結果のクリックは、
以下の通りになりました。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【回答結果】
・論理バックアップ 231票
・物理バックアップ 482票
・わからない 20票
・どっちでもいいのでは? 27票
・そのほか 12票
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
う~ん、けっこう、
割れましたね。
正解は一つですが、
でも、DBでは、適当な言説が、
検証もされずに、常識になってしまう傾向がある。
その一端が、この結果でしょうか(苦笑)。
------------------------------------------------------
※だからこそ、
「DBバックアップの典型的な間違い」レポート
是非、読んでみてくださいね(無料だし)。
------------------------------------------------------
さて、元にもどって、
正解は、
「物理バックアップ」です。
細かい要件がないと答えようがない、
という質問がいくつかありましたが・・・・・
言っておきますが、
オラクルを運用しているなら、
よっぽどのことが無い限り、
「物理バックアップ」です。
これは暗記しておいてもいい!
理由は後で述べますが、
そのくらい間違いないこと。
もちろん、Oracleが出している
「バックアップおよびリカバリ・ユーザーズ・ガイド」
にも、
「論理バックアップは、
様々な状況で物理バックアップを補足するために役立ちますが、
物理バックアップがなければデータ消失に十分に対処することはできません。」
と記されています。
まあ余談ですが、
素人にとって(いや、日本人にとって)、
Oracleのユーザーズ・ガイドは、なんだか分かり憎いでしょ!
(ってか、読まない人も多いんだけど、苦笑)
たぶん、英語を直訳したマニュアルなんでしょうね。
だから、余計にオラクルの敷居が高くなってしまう・・・
と言い訳したい気持ちもわかりますが、
それでも、やっぱり、
アンケート結果を見る限り、
わかってない人が多すぎる(苦笑)。
これは、ダメです。
そこで、私の方で、
わかりやすくイメージできるように話しますので、
以下、ちゃんと読んでくださいね。
※以前、読んだ方も、
思い出しつつ復習してください。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【エクスポートは手軽だから・・・という誤解】
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
今回、
「論理バックアップがいい」
と選択してくれた人の中には、
「技術初心者でも手軽にできる」
という理由をあげてくれた人がいました。
まずこれが誤解なんですね。
確かに、エクスポートは簡単です。
手軽です。
コマンド(ボタン)一つです。
でもね、オラクルには、
「エクスポートは簡単だけど、インポートは難しい」
そんな格言があります。
つまりエクスポートして、
ダンプファイルが出来て、
バックアップした気になっていたけど、
いざインポートしたらエラー連発、
そんなことが多いんですね。
(経験した人、多いですよね)
テーブル一枚のバックアップならともかく、
Oracleに障害があった場合、
データベース丸ごと復旧しなければならない。
緊急であせっている時、
(もしかしたら、DBAがいないかもしれない)
そんな時、
完全復旧できるインポートを簡単にできますか?
手軽ですか?
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【何故インポートが難しいのか?】
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
と言ってもイメージがわかないと思います。
特に未経験者には。
そこでね、例え話をしてみますが・・・・・
あの、一応、言っておきますが、
簡単とか難しいって、
あくまで「物理バックアップ」に比べてですからね。
出来ないと言っているわけじゃない。
(↑ここ強調)
一応、そういう断りを入れておかないとね、
ツッコミいれてくる人多いし(苦笑)。
私も疲れちゃう。
まあ、話をもどして、
例え話は、そうですねえ、
バックアップを緊急の引越しと思ってください。
「障害が発生し、データベースを復旧しなければならなくなった。」
という事象を、
「近くで災害が発生し、遠くに引っ越さなければならなくなった。」
という事象に例えます。
その時、
「論理バックアップ」は、
家財道具を
「整然と矛盾なく」
ダンボールに詰めて荷物を作り、
新しい家に持っていく、
そういうイメージなんですね。
「整然と矛盾なく」
というところを強調したいですが、
これが、すなわち「論理バックアップ」の「論理」にあたり、
荷物がダンプファイルで、
新しい家に荷物を入れることが、
インポートになる。
そんなイメージ。
そうするとね、
簡単に想像できますが、
新しい家と旧い家って、
やっぱりちょっと違うんですよ。
部屋が多かったり少なかったり、
棚が多かったり少なかったり。
荷物が入らない。
荷物と家の矛盾がおきる。
これが、
インポートエラーなんですね。
ちなみに、ダンプファイルの中身を
エディタでみてください。
「これこれのオブジェクト作れ」
「これこれのデータを入れろ」
ってSQL文(論理)がいっぱいありますから。
これを矛盾なく
新しいデータベース(新しい家)にいれる。
聞いただけで面倒で難しそうでしょ。
(いや、もちろん可能ですよ)
仮に矛盾があれば、
例えば、
「IMP-00015: オブジェクトがすでに存在するため次の文は失敗しました:」
とか出てくるわけで、
これで散々苦労した人、
いっぱいいます(もちろん私も、苦笑)。
ちなみに、この現象が、
Oracleのもう一つの格言。
「論理バックアップは
データを移行するけど、データベースは移行しない」
と言われる所以ですけどね。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【物理バックアップは強引だけど簡単】
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
それに比べて、
「物理バックアップ」は簡単です。
(ってか、強引です)
引越すと言っても、
荷物をダンボールに詰めたりしない。
家の荷物はそのまま。
で、どうするのか?
(イメージすると笑えますが)
家ごと土台から引っこ抜いて、
ヘリコプターで宙に浮かせて、新しい土地にもっていく。
新しい土地を強引に更地にして、
そこに(もともとの)家を設置する。
そんなイメージなんですね。
強引すぎるでしょ(笑)。
強引過ぎて、論理のかけらもない。
でも矛盾もない。
だから、「物理バックアップ」と言うのです。
ちなみに、
新しい土地を更地にする部分が、
コピーを上書きしているイメージになります。
簡単でしょ。
(あくまで比較論ですけどね)
結果、ここにもう一つの格言があります。
「物理バックアップは、データベースごと移行する」
と。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【復習しておきます】
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
さて、なんとなくでも
イメージわきましたでしょうか?
Oracleのユーザーズ・ガイド見てても、
チンプンカンプンですが、
このイメージをもつと、
理解しやすくなりますよね。
でね、このイメージを持った上で、
今日の復習です。
・エクスポートは簡単だけどインポートは難しい
・論理バックアップはデータベースを移行しない(データだけ移行する)。
・物理バックアップはデータベースごと移行する。
・運用時のバックアップは「論理」よりも「物理」がベター
こんな感じになりますが、
いかがでしたでしょうか?
イメージわきましたよね。
「論理」と「物理」バックアップは、
このイメージです。
ではでは、またお会いしましょう。
ありがとうございました。
●追伸
テーブル1枚移行したいとか、
そういうレベルなら、
もちろんエクスポート・インポートは有効ですよ。
------------------------------------
IT技術を詳しく解説:サーチマン佐藤
http://searchman.info/
サーチマン佐藤のブログ
http://searchman.biz/
サーチマンのTwitter
https://twitter.com/sato_searchman