SSブログ

VSS による Oracle のバックアップ [DBMS]

VSS とは ボリュームシャドウコピーサービスです。
Windows起動中に仮想的なディスクの複製(シャドウボリューム)を作り、バックアップ等でそこをアクセスします。
シャドウボリュームはディスクのスナップショットであり、刻々変わるディスクの内容をある時点(シャドウボリューム作成時点)で止めた状態を一定期間維持します。
OracleとかのDBMSはメモリ上にデータを展開してアクセスしていますので、稼働中はメモリの内容とディスク上に保存された内容は一致しません。
なので、そのまま VSS でディスクのバックアップを撮ってもデータベース的には整合性の取れた状態にはならず使えません。
VSSと連動してデータベースのメモリに展開されたデータをディスクにフラッシュし、シャドウボリューム作成完了までディスクI/Oを静止化するサービスが必要になります。
これを VSS Writer と言い、各アプリケーション毎に用意されます。
SQLServerでは古くから用意されてましたが、Oracleは 11g から対応します。
Oracle (SID) VSS Writer Service がそうです。これはVSSでバックアップする場合に開始されている必要があります。
05.jpg
VSS で何が良いかというと、バックアップソフトが VSS に対応していれば、OSとその上で稼働するアプリケーションを意識する事なく全部をバックアップ出来る事にあります。

Oracleのバックアップが専用ソフト不要でバックアップ出来るのが魅力です。

特にHyper-Vとかの仮想サーバをバックアップする場合に、各仮想サーバでバックアップソフトを用意して個別にスケジュールしてバックアップする必要がなく、ホスト(ペアレント)側で一括してバックアップする事で済むのでだいぶ管理が軽減される事になります。
Hyper-Vは VSS に対応しているので仮想サーバのある領域をVSSでバックアップすると、仮想サーバの中のWindowsもVSSでバックアップされます。
Windows Server 2008 の標準バックアップである Windows Server Backup は一応 VSS に対応したバックアップソフトなので、これで仮想サーバのある領域をバックアップすると、シャドウコピー領域の作成を待ってバックアップが開始されます。
01.jpg
シャドウコピー領域の作成の時に仮想サーバで VSS によるスナップショットが作成されます。
02.jpg
仮想サーバの中のWindowsがVSSでバックアップされると、その上で稼働するOracle等のアプリケーションもVSSでバックアップされます。
Oracle VSS Writer でバックアップが開始され、
06.jpg
Oracle がバックアップされます。
下はその時の Oracle の アラートログ です。
VSS開始でチェックポイントが発生し、BEGIN BACKUP が発行され、VSS完了で END BACKUP が発行されます。
04.jpg
07.jpg

ちなみに、VSS で Oracle をバックアップする場合は Oracle は ARCHIVE モード又は NO ARCHIVE モードの場合はデータベースクローズかリードオンリーである必要があります。
そうでないとエラーになります。
NOARCHIVE.jpg

後は、これをどうやって戻すのか?

nice!(1)  コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 1

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。