データベースのバックアップリストアの仕組みについて

このQ&Aのポイント
  • データベースのバックアップリストアについて学習中ですが、ユーザーデータベースのみをリストアするだけでは復旧できないことが分かりました。
  • バックアップ時には、masterデータベースも必ずバックアップする必要があります。masterデータベースにはユーザーデータベースの情報が含まれているため、ユーザーデータベースだけをリストアしても正常に復旧できません。
  • 障害が発生した場合、ユーザーデータベースとmasterデータベースのバックアップをリストアすることでデータベースの復旧が可能です。また、特定のユーザーデータベースのバックアップおよびリストアテストについて、手順をまとめました。
回答を見る
  • ベストアンサー

データベースのバックアップリストアの仕組みについて

【環境】 SQL Server 2008 R2 Express Edition (x64) データベースの勉強をしています。 データベースの場合、データベースを管理しているのはOSではなく、DBMSのため、ユーザーデータベースを戻しただけでは、戻らないとに認識しています。 EXCELのファイルのバックアップ/リストアは、単にEXCELファイルをバックアップしてリストアすればいいのは分かりますが、データベースの場合のバックアップ/リストアについての仕組みについてよく理解できていません。 理解する上で、いろんなパターンのバックアップ/リストアを試そうと思っており、以下の件につきましてご教示を頂けますようお願い致します。 (1) 障害が発生した場合を想定してのデータベースのバックアップですが、ユーザーデータベースだけではなく、masterデータベースのバックアップも必要という認識であっておりますでしょうか。 masterデータベースにはユーザーデータベースの場所、ユーザー情報、ユーザーのロール情報が含まれているため、バックアップしたユーザーデータベースだけリストアしても復旧できないということでよいでしょうか。 masterデータベースが損傷していなければ、バックアップしたユーザーデータベースだけリストアすれば、復旧できる。 (2) ユーザーデータベースが10個あり、そのうち特定なユーザーデータベース1個のバックアップおよびリストアテストをする手順については、下記でよろしいでしょうか。 テスト後は、次のテストパターンを学習するため、元の状態に戻したいと考えています。 <手順> 1.システムデータベース、必要なユーザーデータベース1個をのバックアップを行う。 2.ユーザーデータベース10個をデタッチする。 3.システムデータベースをデタッチする。 4.デタッチしたシステムおよびユーザーデータベースを別の場所に退避する。 5.システムデータベース、特定のユーザーデータベース1個をリストアする。 6.リストアしたユーザーデータベースが問題ないことを確認する。 7.リストアしたユーザーデータベース1個をデタッチする。 8.リストアしたシステムデータベースをデタッチする。 9.退避したシステムデータベース、ユーザーデータベースを元の場所に戻す。 10.システムデータベースをアタッチする。 11.ユーザーデータベース10個をアタッチする。

noname#242248
noname#242248

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

  • ベストアンサー
  • IDii24
  • ベストアンサー率24% (1597/6506)
回答No.4

(1) DBのバックアップ時にログファイルも含めるというオプションがある。コミットとは関係ありません。含めない場合はベットログファイルをバックアップする必要がある。 (2).pubsは間違え昔のサンプルDB。modelでよいです。 (3) 排他制御というのは別の概念でありバックアップとは関係ありません。バックアップコマンドでは避けているだけでありその意味でログファイルは必要ということ。 <手順> 通常のシステムで10個もDBがあるというシュチュエーションが良く分かりませんが本当に10個あるならそうです。 システムDBは構成情報と統計情報を格納しているだけなので、そこまでリアルタイム性を求めません。あとから再統計コマンドを流しても問題ありませんが、まあこれでもOKです。 リアルタイム性を求めるならログファイルのほうが大事であり。さらにログファイルを順番に戻す必要があります。

noname#242248
質問者

補足

ご教示頂きありがとうございます。 DBのバックアップ時にログファイルも含めるというオプションですが、完全バックアップということでしょうか。完全バックアップを行った場合、トランザクションログは含まれませんでしょうか。 Microsoft Press SQL Server2008(日経BP)を見ると障害発生が2016/2/28に発生して、障害発生直前の2016/2/27時点に戻すには (1) → (2) → (3) → (4) の順番とのことですが、完全バックアップを毎日行ってる場合、障害発生直前の完全バックアップがあればいいという認識であっていますでしょうか。 下記の場合のみバックアップしたトランザクションログを順番に戻す必要があるということでしょうか。 今回の手順では、完全バックアップでバックアップを考えています。 ------------------------------- 完全バックアップ 2016/2/22 (1) ログバックアップ 2016/2/23 ログバックアップ 2016/2/24 差分バックアップ 2016/2/25 (2) ログバックアップ 2016/2/26 (3) ログバックアップ 2016/2/27 (4) 障害発生     2016/2/28 ------------------------------ 日付毎にデータベースが作成されていき、現在そのデータベースが10個あるということです。 --------------- DB1_20160218 DB1_20160219 DB1_20160220 DB1_20160221 DB1_20160222 DB1_20160223 DB1_20160224 DB1_20160225 DB1_20160226 DB1_20160227 --------------

その他の回答 (5)

  • IDii24
  • ベストアンサー率24% (1597/6506)
回答No.6

>前日分のデータは別のシステムに送信しているので、一日分あれば基本的には問題はないです。 ということは前日に戻るにはこのDBを使えばよいだけでは?まあ前日のバックアップを戻してログを順番に戻す。これでログを取得した時間までは戻せるってことです。 masterDBは構成情報です。システムの権限などの構成を戻す必要がある場合。統計を戻す必要がある場合(大きな障害では殆どそうです)どうしても必要です。簡単なDBならいりません。 そもそもDBのバックアップというのは確実に戻るかと言われれば戻すのは難しいです。構成や権限情報が複雑になればなるほど戻しにくい。得にアタッチは失敗する可能性が大きい。これはmasterDBに格納されている権限情報などに相違ができるからです。 だからOSごと取得してしまう方法も結構一般的です。通常バックアップファイルでさえも権限で制御されているものです。持ち出されて読み取られないように。つまり簡単に他のシステムにアタッチされては困るものなのです。だからmasterが必要なのですから。

noname#242248
質問者

お礼

ありがとうございます。 簡単なDBかについてはあるメーカーのアプリケーションで使用されているのでわからないですが、ユーザーアカウントも5人程度でDBも毎日作成されるのでmasterデータベースが持っている構成情報は変わります。 EXECLなどのファイルのバックアップであれば、消してしまったファイルだけ戻せばいいのでまだましですが・・・。 DBの場合は、masterデータベースにユーザー、ロール、データベースの構成情報を以前と同じように復旧させないと アプリケーションからユーザーデータベースにアクセスできないという事態になるので、難しいと思います。 一応、OS、SQL Server、そのデータベースをSnapshotで取得しているようです。 Snapshotであれば、1時間程で戻せるので・・・。 ただ、1日、1回なのでSnapshotを取得して、次のSnapshot取得までの間で障害があるとその間のデータは戻せませんが。 masterを他のシステムにアタッチはできないので、その点については大丈夫です。 Aシステム、Bシステムを管理していてA,BシステムにSQL Serverがインストールされていれば、Aシステムのmasterを Bシステムにアタッチということもできますが、管理しているのはAシステムのみでBシステムは別の会社が管理しているので、Bシステムのアカウント情報は一切知りませんので、masterをアタッチする以前の問題でログインすらできません。 管理しているAシステムの別サーバー、誤ってにアタッチしてしまうということはあるかもしれませんが・・・。

  • IDii24
  • ベストアンサー率24% (1597/6506)
回答No.5

まずまだ概念が・・・・。 バックアップは基本データーが動いている頻度に基づいてとるもの。完全バックアップを日曜に取得した場合月から土は差分バックアップでとる。さらにログのバックアップはシステムが稼働している日中に毎日取得が基本。深夜に通常のバックアップがあるなら、9時から5時までは1時間置きとか2時間置きとか使用頻度で決める。 また深夜にバックアップを取るときはログのバックアップは捨ててよい。ログも切り捨ててよい。 水曜の12時に障害発生なら日曜を戻して、月、火の差分を戻してさらに9時、10時、11時のログを順番に戻す。これで水曜の11時まで戻るという仕組み。1時間ごとにログをバックアップした場合。つまり直前まで戻す必要がそのシステムにどれくらいあるかということ。11時から12時まではユーザーがやったことを自分で再実行してもらう必要があるので、それができるならそれでOK。それができないシステムであればそもそもバックアップ自体が無意味。銀行ATMなど。これらは冗長化して無停止のシステムとしている。日時のバックアップだけをとる。 そして毎日DBができるってのは1日前のはもう更新しないという意味では?であればこれはスナップショットでありバックアップなんか1日分だけでよいと思いますが?

noname#242248
質問者

補足

ありがとうございます。 仮に毎日9時~20時までしかデータが動いていない状況で、毎日23時に完全バックアップしか行っていない場合において3/2の19時に障害があった場合、3/1の20時までのデータが23時の完全バックアップにおいて取得されているのでその時点までは復旧できる。 仮に障害発生の1時間前まで復旧させたいということならば、23時の完全バックアップ取得後、トランザクションログのバックアップを9時から1時間おきにバックアップするなどすればよいということであっておりますでしょうか。 ------------------------------------- 2016/2/29 23時の完全バックアップ成功 2016/3/1 23時の完全バックアップ成功 2016/3/2 19時に障害発生 ------------------------------------- 毎日DBが出来上がり、前日分は更新されません。また、前日分のデータは別のシステムに送信しているので、一日分あれば基本的には問題はないです。 質問させて頂きましたmasterデータベースのバックアップですが、masterデータベースがなくてもユーザーデータベースは復旧できるようですので、masterのバックアップは必ず必要ではないようです。 「ひと目でわかる Microsoft SQL Server 2008(Microsoft Press)」に「システムデータベースも、通常のデータベースと同じようにバックアップする必要があります」と記載されていたので、バックアップしないとユーザーデータベースは復旧ができないと思っておりました。 ----------------------------------------------------------------------------------------- システム データベースの再構築 https://msdn.microsoft.com/ja-jp/library/dd207003(v=sql.105).aspx 再構築後の作業 バックアップが存在しないか、復元されたバックアップが最新のものでない場合は、 存在しないエントリを再作成します。たとえば、ユーザー データベース、バックアップ デバイス、 SQL Server ログイン、エンドポイントなどの存在しないエントリをすべて再作成します。 エントリを再作成する場合、エントリの作成時と同じスクリプトを実行してください。 -------------------------------------------------------------------------------------------

回答No.3

基本的には問題に出たデーターベース以外の正常なデータベースはmasterも含め何もする必要はありません。バックアップはデータベース本体と更新ログの2種類があり、前回の本体バアクアップからそれ以降のログのバックアップ(していない場合は不要)とクラッシュ時点のログ(RDBMSが使用中のログファイル)が有ればクラッシュ直前まで復元出来ます。復元は現時点でRDBMSが持っている該当データベースのログをバックアップしてから、本体バックアップをリストアし、それ以降のログバックアップ分を古い順にリストアし、最後に先ほどバックアップしたログをリストアして完了です。

noname#242248
質問者

補足

ありがとうございます。 「ひと目でわかる Microsoft SQL Server 2008(Microsoft Press)」に「システムデータベースも、通常のデータベースと同じようにバックアップする必要があります」と記載されていたので、バックアップしないとユーザーデータベースは復旧ができないと思っておりました。 masterデータベースが、なくてもユーザーデータベースが戻せるのならば、masterデータベースをバックアップしなくてもよいということになりますが、「システムデータベースも、通常のデータベースと同じようにバックアップする必要があります」と記載している理由に疑問が残っています。 ----------------------------------------------------------------------------------------- システム データベースの再構築 https://msdn.microsoft.com/ja-jp/library/dd207003(v=sql.105).aspx 再構築後の作業 バックアップが存在しないか、復元されたバックアップが最新のものでない場合は、 存在しないエントリを再作成します。たとえば、ユーザー データベース、バックアップ デバイス、 SQL Server ログイン、エンドポイントなどの存在しないエントリをすべて再作成します。 エントリを再作成する場合、エントリの作成時と同じスクリプトを実行してください。 -------------------------------------------------------------------------------------------

  • IDii24
  • ベストアンサー率24% (1597/6506)
回答No.2

追加です。 ファイルだけをバックアップするという方法は実は一般的ではありません。まあ戻せるのでOKと言えばOK。 データーベースファイルというのは初期状態で容量を決めます。例えば初めから10G、1Tとか決めて作成されます。そうするとたとえ10Mしかない情報でも10Gとしてバックアップされてしまい無駄になりますし、時間もかかります。ですので通常はデーターだけのバックアップを取得し戻すという処理になります。ただし数テラも情報がある場合はシステムまるまるバックアップした方が確実という事もあります。つまりこれもシステム次第でとり方を変える必要があるということです。 アタッチなどでファイルをもどすならmasterは危険です。master自体も動いていた場合戻らなくなります。つまりデタッチ・アタッチは開発などのテスト環境を作るなどに適しているという事です。まあ普通はやらないと思いますよ。 RDBMSの管理は業務と結びついています。大きいシステムならトランザクションテーブルごとにユーザ=ファイルが作られている場合もあります。格納されている場所もマスター情報と違うドライブだったりします。そのほうが効率が良いから設計段階でそうしているので、とにかくバックアップはDBAの指示に従う。それだけです。

noname#242248
質問者

補足

ご教示頂きありがとうございます。 (1) データベースのバックアップの際にトランザクションログがコミットされるのため、データベースの バックアップで取得するのはデータベース(.mdf)だけでトランザクションログ(.ldf)のバックアップは不要という認識であっていますでしょうか。 (2).システムデータベースには、master 、model、msdb、tempdbがあるようですが、pubというシステムデータベースもあるのでしょうか。 (3) デタッチの場合、排他制御が行われないのでデータベースに書き込みがされている最中にデタッチをするとデータベースが損傷する危険性があり、データベースのバックアップならば、排他制御が行われるため、大丈夫ということでしょうか。   その認識であっている場合、デタッチ/アタッチで行っていた手順は、以下のようになりますでしょうか。 <手順> 1.システムデータベース、ユーザーデータベースを10個のバックアップを行う。 2.システムデータベース、必要なユーザーデータベース1個をのバックアップを行う。 3.システムデータベース、必要なユーザーデータベース1個をのリストアを行う。 4.動作確認を行う。 5.動作確認後、元の状態に戻すため、システムデータベース、ユーザーデータベースを10個のリストアを行う。 CA社のARCServe、Symantec社のBackUpExecなどのバックアップソフトは使用せずに、SQL Serverに搭載されているsqlcmdコマンドまたはosqlユーティリティを使用してバックアップを考えております。

  • IDii24
  • ベストアンサー率24% (1597/6506)
回答No.1

理屈を理解しないと。理屈さえわかれば簡単な話しです。 お使いのDBMSはMS SQLServerのようですがどうでしょうか? RDBというのはマスターとトランザクションのテーブルとに分かれます。その場合バックアップを取ったところで、動いている情報はその時点のものでは変化してしまっています。 詳しくは夜間にバックアップをしても日中に障害があればそれは役に立たないものであり、それだけでは業務は続けられません。 そのためにユーザーがやった処理。つまりバックアップ以降にした更新についてトランザクションログという形で保管しています。ログファイルはユーザーDBごとにあります。つまりこれを次のDBバックアップまで保持する必要があります。 日中にこのファイルを頻繁にバックアップし、避けることで数時間前まで戻せるということになります。 https://msdn.microsoft.com/ja-jp/library/ms177446(v=sql.120).aspx このファイルはDBのバックアップで切り捨て、日中もログファイルのバージョンで保管するのが良いと思います。その辺はそのDBの更新の頻度によります。それゆえにDB管理者はシステムを理解し、最適なパフォーマンスを考える必要があるのです。 ログファイルは切り捨てないと肥大し容量を圧迫しますので意識的に切り捨てる必要がありますが、うろ覚えですがMSSQLではDBのバックアップと同時に切り捨てられたと思います。Oracleではこれが無かったと思いますが。 またmasterは構成DBなので必要です。たしかPubも必要だったと思います。 さらにデタッチとアタッチはバックアップの方法によっては必要ですが、通常はRDB専用のバックアップソフトで行えばその必要はありません。ファイルはソフトが勝手にバックアップしますし、モノによってログファイルなどもそこで戻せるようなものまであります。

関連するQ&A

  • バックアップ、リストアについて

    お世話になります。 Solaris10でSVMによるミラー構成時のテープへのバックアップ(ufsdump)、リストア(ufsrestore)について教えて下さい。 ディスク2本故障時のリストアも考慮して、バックアップとリストアの手順を考えているのですが、 1.ミラー構成のままバックアップを取得する場合、状態データベース領域もバックアップする必要があるのでしょうか? 2.リストア時、CDブートしてパーティション作成後に片方のディスクにufsrestoreする(必要なら状態データベース領域もリストア)ことになると思うのですが、リストア後にルート(/)以下で編集・削除・追加する必要があるファイルなどがあれば教えてください。 上記点以外でもアドバイス等ご教授頂ければ幸いです。 何卒よろしくお願いします。

  • SQLServer ダミーデータベース

    SQLServer 2000 から SQLServer 2008 への移行する際に、デタッチ/アタッチまたはバックアップ/復元の移行方式を検討するにあたり、30GBのデータベースを移行するために生じるオフラインタイムを事前検証で計測するため30GBダミーデータベースを作りたいのですがT-SQLやその他での方法を教えてください。

  • mysqlデータベースリストア

    MySQL初心者です。 基本的な質問ですが、教えてください。 MYSQLデータベースのバックアップは、コマンドラインからmysqldumpでバックアップを行うと思います。 CMD>mysqldump -u(ユーザーグループ) -p(パスワード) (データベース名) > (バックアップファイル名).sql バックアップSQLを使って再度リストアで入れなおす場合は、 drop database (データベース名);と create database (データベース名); を実行してから行う必要があるのでしょうか? (バックアップファイル名).sqlの中身を見てみると、 CREATE TABLE '(テーブル名)' (・・・・ ・・・)の前に DROP TABLE IF EXISTS '(テーブル名)'; のようにテーブルのdropをしてからの処理はあるのですが。

    • ベストアンサー
    • MySQL
  • SQL Server2005の差分バックアップのリストアについて

    お世話になっております。 SQL Server2005のバックアップ・リストアに関する質問です。 環境はサーバ1台とクライアントが3台のC/S構成です。 クライアントのうち1台は、サーバが故障した場合に備えて、毎日、サーバと同じ状態にしています。 そのため、現在、以下の手順で、データベースのリストア作業を毎日行っています。 (1)サーバから完全バックアップ (2)バックアップファイルをクライアントへコピー (3)クライアントにリストア (4)サーバからバックアップファイルを削除 しかし、データベースのサイズも大きくなり、(1)~(3)の作業に、かなりの時間を要するようになりました。 そこで、スピードアップを図るため、 ・差分バックアップ ・トランザクションログバックアップ いずれかを使用したいと考えています。 試しに、以下の手順でバックアップ→リストアを行うと、エラーが発生します。 【エラーが発生する手順】 (1)週末、サーバから完全バックアップ (2)バックアップファイルをクライアントへコピー (3)クライアントに復元 (4)サーバから完全バックアップファイルを削除 (5)週始め~差分バックアップ (6)バックアップファイルをクライアントへコピー (7)クライアントに復元 →「ロールフォーワードできる状態のファイルがないので、  ログまたは差分バックアップは復元できません。」のエラー発生 バックアップファイルは、サーバにもクライアントにも残さず削除することが要求されているため、必ず(4)の完全バックアップファイルを削除しています。 一度、完全バックアップをリストアしているので、差分バックアップファイルが存在すれば、それをリストアできるように思っていました。 完全バックアップファイルが存在しなければ、差分バックアップをリストアすることはできないのでしょうか? ヘルプを読んでみると、何となく、完全バックアップ+差分バックアップがセットで存在しなければリストアできないように認識しましたが、この認識は正しいでしょうか? もし、完全バックアップファイルを削除すると、差分バックアップをリストアできないのであれば、バックアップファイルを残すことなく、差分のみをリストアする上手い方法がないでしょうか? 何かご存知の方がいらっしゃいましたら、ご教示よろしくお願いいたします。

  • ARCserveでのリストアができない

    環境は、以下の通りです。 OS:WindowsServer2003 データベース:Oracle10g Standard Edition バックアップ:BrightStor ARCserve for Windows Agent for Oracle r11.5 上記環境で、バックアップ、リストアの検証をしています。 バックアップは問題なく終了し、リストアを行う前に数箇所フォルダやファイルを削除しました。 制御ファイルも、全て削除しました。 この状態で、リストアをおこなったのですが、『E8601 エージェントに接続できません。間違ったユーザ ID またはパスワードが入力されました』とエラーが出てしまい、リストアできません。 Oracleに関しては、初心者の状態での検証なので、本当にどうしていいか分かりません。 制御ファイルを削除した為?なのでしょうか? でも、ARCserveは制御ファイルもリストアできると書いてあったのですが。。。 手順の問題でしょうか? 申し訳ありませんが、ご教授下さいますようお願い致します。

  • SQL Server 2008を用いたデータベースリカバリについて2点

    SQL Server 2008を用いたデータベースリカバリについて2点教えてください。 1.SQL Serverを構成している「システムデータベース」と「ユーザデータベース」ですが、   例えば、「ユーザデータベース」が壊れてリカバリを行うことになった際、   ユーザデータベースだけ戻せばデータベースは復旧できるのでしょうか?   システムデータベースもあわせて戻さないと戻りませんか?   トランザクションログの用いて更新直前にまで戻す必要はありません。 2.データベースをバックアップしている最中に、そのバックアップ対象のデータベースに   更新がかかった場合、バックアップデータはどうなるのでしょうか?   更新内容も反映されるのか?それともバックアップが始まったときのものだけが   バックアップできて更新内容は反映されないのか?   そもそも更新を始めようとすると排他がかかって勝手に更新させないとかあったりするのでしょうか? 調べがつかず困っております。 有識者のご回答をよろしくお願いいたします。

  • Linuxのシステムをバックアップする方法について

    Linuxのディスクが故障した場合を想定して、 システムの入ったパーティションのみ、 テープドライブへバックアップしたいのですが この方法で復旧可能でしょうか? ディスク全体で行うべきなどご意見いただけると幸いです。 ■バックアップ手順 1.tarコマンドでディスクからテープドライブへバックアップ ■リストア手順 1.OS再インストール 2.tar cf でテープからディスクへリストア OSが死んでしまう気がします・・ レスキューブートというキーワードを見つけましたが いまいちよく理解できませんでした(><)

  • ArcserveでのOracleのリストアについて

    Arcserve2000 Workgroup EditionとArcserve2000 Backup Argent for Oracleを使用してDATテープにてOracleのバックアップを取ろうと考えていますがリストアがうまくいきません。(バックアップは正常に取れていると思います。) リトトアを実行すると以下のようなエラーが出ます。 ================================================  Backup Agent エラー -- (213) ”Oracle Serverが実行中のためリストアできません。”. ================================================ Oracle Serverが実行中とあったのでOracleのサービスを止めて見ましたがそうすると以下のエラーが出てしまいます。 ================================================  Backup Agent エラー -- (85) ”間違ったユーザIDまたはパスワードが入力されました。”. ================================================ リストアを実行するときの情報は以下のとおりです。 ================================================ セキュリティ画面  ユーザ名:system  パスワード:systemのパスワード セッションユーザ名およびパスワードのユーザ情報画面  ユーザ名;system  パスワード:systemのパスワード  セッションパスワード:NULL  IP/IPXアドレス:NULL ================================================ バックアップの取り方自体に問題があるかもしれませんが、バックアップのジョブは正常に終了しているのでリストアに問題あると思います。ですが原因がわかりません。回答の程よろしくお願い致します。

  • Windows 2008 AD リストアについて

    Windows Server 2008 R2 にてActive Directoryを運用中です。 ドメインコントローラは1機(プライマリサーバのみ)です。 セカンダリドメコンの早急な追加は検討していますが、当面の障害対策で 「Windows Server バックアップ」を機能追加し、毎日夜間に「サーバ全体」 をバックアップしています。 以下サイトを参考にサーバの復旧手順を検討しておりました。 http://sorceryforce.com/windowsserver/windowsserverbackup.html サーバに何か障害が発生しリストアを行う場合、インストール用ディスク で起動し、「コンピューターを修復する」から以前に作成したイメージ復元 を行えば、バックアップ時点に戻すことが出来ると考えていました。 ところが、ADの回復について検索すると「イメージバックアップ」での回復 はできないとの情報が多数有り、AD復元が出来ない? のではないかと危惧しております。 このリストア方法は間違いなのでしょうか? リストア時点、もしくはリストア直後でADに関連する別途復旧手順が必 要なのでしょうか?そもそもイメージ復元自体ができないものなのでしょうか? ご教示ください。宜しくお願い致します。

  • solaris DDS3 バックアップ リストア 方法について

    急に公開Webサーバをさわるのは危険だということで、別のサーバ(メールサーバ)でバックアップ リストアの訓練をして、監査に訴えると上司にいわれました。手順書をつくりなさいとのことで下記に作成しました。 これでいいのか?悩んでいます。ご指摘いただけましたら幸いでございます。 よろしくお願いいたします。 システム稼動のままで、バックアップします。 V210 でバックアップをとる     ↓ Netra t1 でリストアする Tape DDS3 容量 13G ■サーバ リストア作業手順 [作業に当たって用意するもの] ・Backup Tape (DDS3) [バックアップ作業 実施手順] --<Tape 種類>---------------- DAT(90m) /dev/rmt/0 2GB /dev/rmt/0c 5GB(圧縮) DAT(125m) /dev/rmt/0 12GB /dev/rmt/0c 24GB(圧縮) ------------------------------ まず、Tape を装着する。 / 以下、フルバックアップの場合 (今回はマルチユーザで、バックアップする!) Ok init 3 ←※ok prompt から (ファイルシステム デバイス名 確認) #devnm /    ←※ファイルシステム rawデバイス名 確認 /dev/rdsk/c0t0d0s0     ←※fs のrawデバイス名が表示される (テープ装置の種類の確認) #mt-f /dev/rmt/0 status  ←※今回は4mm DDS3 (フルバックアップ) # ufsdump 0ucf /dev/rmt/0ln /dev/rdsk/c0t0d0s0 ====================================================== まず、Tape を装着する。 (Tape を巻き戻す) #mt ?f /dev/rdsk/c0t0d0s0 rewind  ←※Tape のはじめから、リストアする場合 (ファイルシステムの完全なリストア) # umount /home # newfs /dev/rdsk/c0t0d0s0 # mount /dev/rdsk/c0t0d0s0 /mnt # cd /mnt                      ←※マウントポイントへ移動 # ufsrestore rvf /dev/rmt/0 ←※ リカーシブモードのリストア ---------------------------------------------------------------------  注)Tapeが複数のテープにまたがっている時は、     Mount volum 2 then enter volume name(default: /dev/rmt/0) このときは、ボリューム番号2のテープを入れ替えたあとで、「Retern」を入力。 --------------------------------------------------------------------- (★バックアップデータは、/export/home ファイルシステムに復元される!) #cd /export/home #rm /export/home/restoresymtable ←※リストア用の一時ファイルの削除 # cd / # umount /mnt          ←※必ずアンマウントをすること! # fsck /dev/rdsk/c0t0d0s0 # mount /dev/rdsk/c0t0d0s0