こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Oracleのarchivelogアーカイブログについて質問です。

Oracleのarchivelogアーカイブログについて質問です。

全く知識がないにも関わらずシステムの管理者をやることになり日々勉強しているのですが参考書やネットの内容は、難しくなかなか理解することができません。
調べろよと言わず教えてくださいm(_ _ )m

とりあえず、archivelogがリカバリに必要なものであることと、データベースの更新や削除のたびにデータを吐き出していることまではなんとか理解できました。

(1)社内のデータベースのarchivelogが合計10GBくらいあるのですが
これは普通なのでしょうか?
HDDの容量も近くなってきたのでできれば消したいのですが・・・(消し方は調べたので大丈夫です)
設定で数日置きでローテーションかけたりもできるようですが、何日分あればよいのでしょう?1日に1度、EXPコマンドでダンプを取っているので1日分あればよいのでしょうか?

(2)データベースの更新や削除のたびに、吐き出されているようですが、監査ログとして使えるデータも入っていたりするのでしょうか?(どんなSQLが流れたか等)
archivelogはリカバリ以外にも用途はあるのですか?

投稿日時 - 2010-07-14 00:08:40

QNo.6036713

困ってます

質問者が選んだベストアンサー

質問に対してどう対応するべきかの論議はお任せするとして技術的な回答をさせていただきます。

(1)
社内のDBのアーカイブログが10Gくらいあるがこれは普通か。
1日に出力されるアーカイブログファイルの合計容量が10Gだとすれば
(何の知識も無いあたなに託すシステムとしては)多いでしょうね。

例えば教えてgooはH16に1日の質問件数が1500件となったそうです。
1件の質問が平均2000文字、回答は8000文字だとすると、至極単純に考えて
10000文字×2(マルチバイト)×1500件=30MB/日のアーカイブログが溜まります。
(もちろん他にも色々と記録する情報はあるので、実際にはこれの数倍になるかと思います)

ただ、そもそも論を言いますとその10Gのアーカイブログは全く無意味です。
なぜならEXPでダンプを取っている場合、そのダンプを取った時点までは戻せますが、
それ以降のタイミングへはアーカイブロクがあっても戻すことはできません。

アーカイブロックを使って任意の時点に戻したいのであればRMANや専用のコマンド
を使ったバックアップが必要です。

(2)アーカイブログはリカバリ以外にも用途はあるか。
厳密にはLogマイナーというREDOログやアーカイブログの中身を見る機能がありますので
そちらでどんなSQLが発行されたかを追うことができます。ただし、Oracleは監査機能として
別にauditという機能がありますのでそちらで監査をすることがほとんどです。
なので、アーカイブログはリカバリ以外の用途で使うことは無いと思ってよいです。

ただ、繰り返しとなりますが今の状態ではアーカイブログは何の意味も持たない
(それどころか単なる負荷になっています)ので
上司に「障害時は最悪1日前まで戻りますけどいいですよね?」と確認だけして
EXPコマンドで1日1回バックアップを取る運用は続けて
アーカイブログを出力しないノーアーカイブログモードで運用することをお勧めします。
(もちろんダンプファイルはDBとは別のディスクに置いてくださいね。)

実際、アーカイブログが合ってもちゃんと指定した時点まで戻す方法は分からないでしょう。
リカバリできないバックアップデータほど役に立たないものは無いです。

最後に。
実際に障害が発生した際にあなたができることは正直、少ないと思います。
ただそれが悪いことではないです。適応を考慮せずに無理やり仕事を押し付けた上司が悪いんです。
でもこの際ですから、少しづつ色々と調べてDBに詳しくなる勉強の場として社内のDBを
利用すればいいと思います。「仕事中にOracleの勉強ができるなんてうらやましい」
と日々思っているOracle技術者はたくさん居ますので...

投稿日時 - 2010-07-19 16:29:14

お礼

すみません。なかなかこちらに来ることが出来ずお礼遅くなりました。
詳しくて分かりやすい回答ありがとうございました。質問してよかったです。
上司に確認し、アーカイブログをオフにしたので、当分はHDDやフラッシュリカバリのサイズを気にしなくて済みそうです。
自分は恵まれた環境にいるんですね。いきなり客先のシステムを運用させられる人もいるのでそういう意味でもラッキーなのでしょうか。
上司も勉強させるつもりで任命したようなので、色々と覚えていきたいと思います。

投稿日時 - 2010-07-31 19:50:23

このQ&Aは役に立ちましたか?

13人が「このQ&Aが役に立った」と投票しています

回答(5)

ANo.4

確かに運用管理では、下手なことをすると取り返しのつかない事態になってしまう危険はあります。
でもそれはOracleに限った話ではないですね。また、実践をせずに実践の経験を積む方法があるなら教えて欲しいです。

質問に不備があるなら補足要求すればいいでしょうし、まともに質問に答える気が無いのなら最初から回答しなければいいのではないですか?

#3さんはずいぶん知識がおありのようで、私の出る幕はなさそうですからこれで退場しておきます。

回答になってなくてすみません。

投稿日時 - 2010-07-15 15:35:02

お礼

回答でなくともお気遣い感謝します。
今までSQL文書く程度でDBは触ったことがなかったのですが複雑ですね。
経験がない旨は上司に伝えましたが、社内にORACLE運用経験者がいないので、経験を積んでほしいとのことで上司も任命したようです。
周りの役にたてるようがんばります^^;

投稿日時 - 2010-07-31 19:39:41

ANo.3

あなたがarchivelogと言っているものが本当にarchivelogなのかどうか私にはわかりませんので答えようがないと言うことです。
Oracleの場合、運用管理に自信が無いのなら何もしない方がましです。上司には自信がないので出来ませんと言う方がいいですね。
中途半端にここに質問して、誰かの回答を鵜呑みにして取り返しのつかない状況になるよりはましです。
expコマンドでダンプを取っていると言われてますが、どんなダンプなのかもわかりませんし。

投稿日時 - 2010-07-14 22:28:44

ANo.2

とりあえず私が分かる範囲で・・・間違ってたらゴメンナサイ。

(1) アーカイブログファイルのサイズは、REDOログファイルと同じサイズになります。対象のデータベースがどんなサイズのREDOログを設定しているかによっていくらでも変わるので、一概に妥当かどうかは判断できません。
あと、アーカイブログファイルを削除する場合、どこでフルバックアップを取ったか確認してください。フルバックアップを取った時点より前のアーカイブログは、それ以前の状態に復元するのでなければ削除してもよいかと思います。
ただ、EXPコマンドでデータやテーブル構造をバックアップしているのであれば、最悪データベースを作り直してインポートすることで復元する・・・という手もあるかな~と思います。これをする場合はアーカイブログは必要なくなってしまいますが・・・この辺はどういったポリシーでバックアップ&リカバリをするかによります。

(2) ちょっとうろ覚えですが・・・SQL発行履歴などの監査情報はどこかのディクショナリに入っていたような・・・
アーカイブログはリカバリ以外では使われなかったはずです。

#1さんは恵まれた環境で仕事をされているのでしょうか?実際質問者さんのような境遇はいくらでもあります。
質問者さんはいきなり現場に放り込まれたわけですから、その回答はいくらなんでもないかと。
もちろん単なる教えてクンなのはダメでしょうが・・・

DBAの仕事はなかなか大変だと思いますが、がんばってください。

投稿日時 - 2010-07-14 18:08:33

お礼

なかなかこちらに来ることが出来ずお礼遅くなりました。
回答とお気遣いいただきありがとうございました。
わからないことばっかりですが頑張ります。

投稿日時 - 2010-07-31 19:30:23

ANo.1

Oracleの講習を受講してください。ここで中途半端な知識を仕入れても実戦には役に立ちません。

投稿日時 - 2010-07-14 00:36:20

お礼

回答?ありがとうございます。
自分だってどうせだったら知識をつけた上で仕事に就きたかったです・・・
実戦にいきなり放り込まれたからこそ目の前の課題だけでもクリアしたいのですが・・・

投稿日時 - 2010-07-14 03:22:48

あなたにオススメの質問