• ベストアンサー

データベースのバックアップ

過去に同じ内容の質問があったのですが、そちらの回答ではまだ理解ができなかったので、 どなたかご存知でしたら教えてください。 条件 Oracle9iデータベースのバックアップ OS:windows2000server タスクでスケジュール化して、深夜にコールドバックアップを行うバッチファイルを作成。 同時に、必要ならばアーカイブファイルモードでのバックアップすることも可能。 データベースの容量は30G程度を予定。 バックアップ場所は、外付けHDD。 任された私は、これが初めてのデータベース管理者。 色々なページを参考にさせていただいて、何となく手動でのバックアップ手順は分かったのですが、 これを自動化する仕方がさっぱりわかりません。 SQLPLUSコマンドの select name from v$datafile select name form v$control_file select bytes, name from v$tempfile で表示されるファイルのバックアップ(コピー)をとれば、完全なリカバリは可能でしょうか? 初心者な考え方かもしれませんが、oracle\フォルダ以下、全てをコピーする方法と、 このようにデータファイルや制御ファイル等、フォルダ名を指定してバックアップをとる方法は どう違うのでしょうか。 容量のことよりも、とにかく万が一の時に確実にリカバリできるようにしたいのです。 また、この二番目のselect name form v$control_fileのセレクト文では何も選択されません。 これは私のOracleのインストール方法が悪かったのでしょうか? これをもしbatファイル等で自動化したとき、select文の結果をどう指定すればバックアップできるのでしょうか。 内容がまとまっておらず、大変分かりにくい質問になってしまいましたが、 どうかよろしくお願いします。

  • Oracle
  • 回答数3
  • ありがとう数12

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

  • ベストアンサー
  • guchi32
  • ベストアンサー率100% (10/10)
回答No.2

コールドバックアップ前提ということで。 ■バックアップ対象について 最低限の対象としては、上記+オンラインREDOログのバックアップが必要です。 select member from v$logfile; などで参照してください。 ただし、PFILE、SPFILE、LISTENERファイルなど関連するものをすべてバックアップ取ることが確実なリカバリへ繋がります。したがって、$ORACLE_BASE以下のディレクトリ構造もバックアップするべきです。 ※$ORACLE_HOME/dbsにパスワードファイルやPFILEなど重要なファイルが存在します。また、bdumpやcdumpなどディレクトリがなければ、起動時にエラーになる場合もあります。 ■フォルダ名を指定してバックアップをとる方法との違い データベース運用ポリシーによって異なります。 例えば、HDD容量が不足し、データベース用に外付けHDDを追加した場合、フォルダ名の指定をしていれば、新たにバックアップ対象に追加してやる必要があります。 これを上記されたように、SQLで動的に毎回チェックしていれば、このような追加HDDを意識する必要はありません。 「データファイルは既存のフォルダ以外に追加しない」「万が一増設ディスクに入れることになれば、バックアップシェルを修正する」というポリシーであれば、フォルダ一括の方が簡単で確実かもしれません。 実は私はWindowsはあまりわかっていないのですが、SolarisやLinuxの場合はアプリケーションをかぶせてコピー(リカバリ)しても問題ありませんが、Windowsの場合レジストリとの関連があるので、どうなんでしょう? ■アーカイブログについて アーカイブログモードになっているのであれば、アーカイブログディレクトリもバックアップしましょう。 コールドバックアップ後に障害が発生した場合、「どこまで最新の状態に戻せるか」という質問が必ず来るでしょう。そのとき、アーカイブログとオンラインREDOログがなければ、「コールドバックアップを取った時点まで」としか言えません。 オンラインREDOとアーカイブがあれば、障害が起きる直前までリカバリを行うことができます。(ポイントインタイムリカバリ:時間指定も可能) ■コントロールファイルの結果が表示されない これはわかりませんねぇ。ちなみに「v$contorl_file」ではなく「v$controlfile」です。 どうしても・・・というなら、「select value from v$parameter where name = 'control_files'」などで代替できますが・・・。 コントロールファイルは肝です。問題があればデータベースに大きな影響が出るか、その要因をはらんでいます。運用開始していないのであれば、今のうちにデータベース再作成するなり、安心できる状態にしておいた方いいのではないでしょうか。 ちなみに問題があるとすれば、OracleのインストールではなくCreateDatabaseの作業過程の方が怪しいと思いますよ。 ■バックアップの自動化について これは、どのようにバッチスクリプトを作成すれば良いですか、という質問でしょうか? シェルスクリプトならわかるのですが、Windowsは自信がありません。

help3hoimi
質問者

お礼

お礼が遅くなり申し訳ありません。 全てバックアップしてしまっても問題ないのでしたら、 そちらのほうが安心できていいですね。 oracle以下全ファイルを取得する方向で進めていくことにします! ありがとうございました!!

その他の回答 (2)

回答No.3

私の勤めている会社ではデータ用、制御用、REDO用・・・・と機能別にフォルダを作成してフォルダをまとめてコピーしています。この方法だとバッチファイルに直接ファイル名やフォルダ名を記述するのでselect文の内容を反映させる必要がありません。毎日コピーしていますが、上書コピーでなく日付フォルダを作成しその中にコピーしています。 保存期間はバックアップポリシーにもよりますが古いフォルダから削除されたらよろしいかと。 あと本題とは直接関係ありませんが、エクスポートもバックアップ作業項目に入れておいた方が良いと思います。

help3hoimi
質問者

お礼

バックアップと一言でいっても、色々とあるんですね。 日付別フォルダの作成や、エクスポートもバックアップに入れるなど、大変参考になりました。 ありがとうございました。

回答No.1

やりたいことが不明瞭なのですが.. コールドバックアップがしたいのであれば、 (1)データベースの停止(正常な状態で停止させる) (2)関連するモノ全部セーブ (3)データベースの開始 とすれば良いでしょう。 正常に停止したデータベースをセーブするのであれば、 そこまでのアーカイブログの保存は特に必要がありません。 このあたりは、マニュアルのバックアップガイドに書いてありますので 一度は目を通した方が良いと思います。

help3hoimi
質問者

お礼

お礼が遅くなり申し訳ありませんでした。 アーカイブログの保存をしないと上の者に報告したところ、却下されてしまいました(涙)。 ですが、アドバイスありがとうございました。

関連するQ&A

  • リカバリに必要なファイルを教えてください

    こんばんは。 以前にOracle 9iのDBのバックアップについて質問させていただいたものです。 再度行き詰まってしまい、皆様のご助言をお借りしたく質問させて頂きます。 当初、ORACLE_HOME以下全ファイルをバックアップしてリカバリに備えようとしていたのですが、容量の関係でそれが難しくなってしまいました。 そこで完全リカバリに必要なファイルを考えてみたのですが、以下のファイルで完全リカバリは可能なのでしょうか。 よろしくお願いします。 ■環境■ OS:Solaris(Windows2000から変更になりました…(涙)) DB:9i DataBase Release2 ●コールドバックアップの、ノーアーカイブログです。 ●バックアップとして取得する予定のファイル   1) select name from v$database   2) select name from v$controlfile   3) select member from v$logfile  で取得できるファイル ●以下のファイルも必要?と懸念するファイル 4) パラメータファイル 4-1) %ORACLE_HOME%\ADMIN\%ORACLE_SID%\pfile\init.ora.xxxxxxxxxxxx 4-2) %ORACLE_HOME%\database\SPFILE%ORACLE_SID%.ORA 5) パスワードファイル %ORACLE_HOME%\database\PWD%ORACLE_SID%.ORA 6) リスナーファイル %ORACLE_HOME%\network\admin\listener.ora 7) ホスト文字列(?)ファイル %ORACLE_HOME%\network\admin\tnsnames.ora 上記1)~3)のファイルだけでは完全リカバリは無理なのでしょうか。 もしくは、これ以外で必要なファイルはあるのでしょうか。 どうかご助力お願いします。

  • Oracle9iのTEMPORARYファイルのバックアップについて

    初めて質問をさせていただきます。ひでと申します。 今回、Oracle8iのバックアップ環境をOracle9iに改修を行っているのですが、TEMPORARYファイルの扱いで困っています。 Oracle8iではTEMPORARYファイルを下記のコマンドでバックアップ用に待機させる事が出来るのですが、 alter TABLESPACE TEMPORARY begin backup; Oracle9iでは上記コマンドを実行すると下記のエラーが発生します。 --- ORA-03217: TEMPORARY TABLESPACEの変更用オプションが無効です。 原因: 一時表領域の変更に、無効なオプションが指定されました。 処置: 有効なオプション(ADD TEMPFILE、TEMPFILE ONLINE、TEMPFILE OFFLINE)のうちいずれかを指定してください。 --- 調べた所によるとTEMPRARYファイルは「バックアップをする必要なファイル。もしくはバックアップ不可能なファイル」に位置づけられているようなんですが、Oracle9iでバックアップに必要でないと言う確証が持てません。 どなたかご教授頂ければ幸いです。 以上、よろしくお願いいたします。

  • BACKUPEXECでのバックアップ方法

    BACKUPEXECを使って、OracleのバックアップをDATにとりたいと思っています。 手順として、ORACLEのデータベースをユーザでエクスポートして、そのdumpファイルを、バックアップするという方法を考えています。 ArcServeであれば、前処理でデータベースのエクスポートをしてから、毎日定時に、バックアップを行なうという方法がわかるのですが、BACKUPEXECに関しては、なにも分からないため、困っています。 どなたか、教えてください。

  • itunesのバックアップ

    windows xpユーザーです。 itunesのバックアップとして私は 『c\program files\itunes』のitunesフォルダをそのままDドライブ等他のドライブへコピーしていました。 以前にitunesのバックアップ方法を調べた時に、『CD等のメディアへ焼いてバックアップを保存する。』と書いてあったのですが、16GB程あったので『何枚のCDを焼けばいいのだ。。』と思い、”itunesフォルダをそのままコピー”という方法をとっていました。 その後リカバリー等を行った後は”そのフォルダ”をライブラリーに追加していました。 (この方法では単に音楽ファイルのみの移行はできても、プレイリスト等はなくなってしまいますね。) しかし長年リカバリーやらHDDの増設やらを繰り返している間に、同じようなフォルダがダブってしまい、どれが最新のバックアップなのかわからなくなってしまいました。 今回お聞きしたいのは、itunesを他のHDDへバックアップを取る方法として最善な方法を教えていただきたいのです。 それと、私の現状では複数のHDDにダブった音楽ファイルがあるかと思うのですが、これをすっきり整理して一つにまとめたい(差分ファイルの保存とでもいうのでしょうか?)のですが、どんな方法、どんなアプリ等を使えば良いのでしょうか。 (恐らく古いバックアップフォルダをリカバリー後に使用して、そこに新しいファイルを書き込んだりもしたかと思うためです。) よろしくお願いします。

  • 現在のデータベースのデータ容量の取得

    ASPで、リムーバブルメディアにデータベースのバックアップを行う管理ページを作成しています。 そこで、リムーバブルメディアの空き容量と、バックアップデータの容量を比較して、バックアップ可能かどうかチェックしたいのですが、バックアップデータの容量(現在のデータベースのデータ容量)を取得する何か良い方法はありませんでしょうか。 データベースファイルのサイズは、データ容量ではないので、ファイルサイズをチェックする手は使えません。 よろしくお願いいたします。

  • バックアップ

    USBに、デスクトップ上のフォルダのバックアップをとりたいのですが、USBのフォルダに上書きすると、そのフォルダの中にバックアップしたいフォルダのコピーもできてしまいます。 フォルダには複数のファイルがはいっています。バックアップのとり方を教えてください。

  • MySQLのバックアップ時のタブについて

    MySQL 4.0.20を使っています。 テーブルのバックアップでよく select * into outfile 'ファイル名' from テーブル名; とするとテーブルのバックアップが取れますが、内容はタブで区切られたファイルになっています。 もし、データベースの値にタブを使っていた場合は、区切り文字のタブとデータのタブとを誤認せず、後で正しくリストアできるのでしょうか?

    • ベストアンサー
    • MySQL
  • バックアップソフトがなくてもできますか?

    WinXP使用です。 PCが不調になったのでリカバリしようと思ってます。 そこでバックアップについてなのですが、専用のバックアップソフトをもっていません。なので手動でファイルやフォルダをコピーするつもりですが、問題はアプリケーションソフトやフリーソフトです。 それぞれのソフトにはいろいろと設定をしていますが、いったん別HDDにコピー(バックアップ)して、リカバリ後元に戻しても大丈夫でしょうか? またあるウイルス対策ソフトでアップデート対応期間についての期限があるのですが、再インストールしても大丈夫でしょうか? またバックアップについて気をつけておきたい点など教えてください。 なにぶん素人ですので宜しくおねがいします。

  • いいバックアップソフトやバックアップの方法を教えてください

    質問お願いします。 現在vistaを使用していまして、ファイルの保存には外付けハードディスクを主に使用しています。 外付けはかなり容量が大きく1TBのものを使っています。 ただ、先日うっかりしてハードディクスのコードを引っ掛けて床に落としてしまって衝撃を与えてしまいました。 そのせいか分かりませんが、最近読み込めないファイルが多くなってきました。 使えなくなる前にバックアップをしたいのですが、試しに読み込みが遅いファイルを含む数点のものをコピーで移そうとしたらコピーがストップしてしまいました。(ずっと読み込み中になって最終的にフリーズ状態) 問題のファイルを除いたファイルのコピーならスムーズなのですが、問題のファイルを入れてフォルダごとコピーしようとするとエラーで移せません。 このような状態なので全部のファイルをコピーするのは問題のファイルをいちいち確認しないといけないので、容量の面からなかなか大変な状態です。 問題のファイルは諦めてもいいので、その他の無事なものだけなんとか他のハードディスクに移したいです。 効率のよいバックアップ方法、ソフトなどがあれば教えてください。 よろしくお願いします。

  • Giga Pocketのビデオファイルのバックアップと復元

    システムのリカバリをするため、Giga Pocketの保存用フォルダをそのまま別のディスクにコピーしました。 で、リカバリ後、バックアップしたファイルをすべて元のフォルダに戻したのですが、Giga Pocketエクスプローラで見ても何も表示されません。 このようなバックアップはダメなのでしょうか?