論理バックアップはDBバックアップとして適切か? (1/2):EnterpriseZine(エンタープライズジン)
Shoeisha Technology Media

EnterpriseZine(エンタープライズジン)

EnterpriseZine(エンタープライズジン)

テーマ別に探す

論理バックアップはDBバックアップとして適切か?

2017/07/12 06:00

 本連載の第1回では、「バックアップ&リカバリの目的」と題して、リカバリに使う場面を考えてバックアップを取得することが大事ですとお伝えしました。第2回目のテーマは、「論理バックアップはDBバックアップとして適切か?」です。目的を考えずに取得されているバックアップ運用の一例として、論理バックアップのみを取得しているケースについて考えたいと思います。

論理バックアップと物理バックアップ

 本題に入る前に、論理バックアップと物理バックアップについて少しだけ話をします。

 論理バックアップとはある時点のデータベースの中身全体あるいは一部をExpdp/Impdpユーティリティなどを使って抽出したものです。中身だけを抜き出していますので、ファイル構成が異なっている環境にもリストアすることができます。データベースのバージョンアップや、サーバーの更改などシステムを別サーバー環境に移行するときに利用できます。

 それに対して物理バックアップは、RMANやOSコマンドなどでファイル単位に取得するものです。そのため、同一構成でないとリストアできません。その一方でファイルそのものをバックアップ・リストアするだけですので論理バックアップと比較して高速であるという特徴があります。主な特徴を図1にまとめました。

図1:論理バックアップと物理バックアップの比較表
図1:論理バックアップと物理バックアップの比較表

論理バックアップはデータロスを前提としたバックアップ

 それでは、取得された論理バックアップからデータベースを復旧するケースについて考えてみましょう。図2のようにエクスポートしたデータをインポートすることによって復旧されたデータベース内のデータは、エクスポートを実施した過去のある一時点のデータセットになっています。つまり、エクスポートによる論理バックアップ取得後に行われた重要な更新データ(図2で言うとSMITHさんのSAL列値の更新)はすべて失われてしまいます。いわば、データをロスすることを前提としたバックアップなのです。論理バックアップ取得後の変更を復旧時に反映させるためにはアプリケーションとして対策を取る必要があります。

図2:論理バックアップによる復旧では取得後の更新データが失われる
図2:論理バックアップによる復旧では取得後の更新データが失われる

 障害時の対応としてデータをロスしても良いという割り切りができる場合は良いのですが、認識がないまま論理バックアップのみの運用を行うにはリスクを伴います。そのためにも、目標復旧時点=Recovery Point Objective (RPO)を事前に定義しておくことが重要です。RPOというのは「最低でもこの時点まで直近のデータに戻す必要がある」という定義です。例えば、RPOが24時間と定義されていれば、最悪のケースだと直近の24時間分のデータを失っても仕方がないということを意味します。この場合であれば、RPOの観点だけで考えれば1日に1回論理バックアップを取得する運用でも良いでしょう。

 しかし、RPO以外にも考慮しておくポイントがあります。

※この続きは、会員の方のみお読みいただけます(登録無料)。


著者プロフィール

  • 佐々木亨(ササキトオル)

    日本オラクル株式会社  日本オラクル入社から一貫してOracle Databaseの持つ高可用性分野のスペシャリストとして活動。Mission Critical Certified CenterやOracle GRID Centerといったパートナー企業との共同検証の経験を通じて今の土台を築き、現...

バックナンバー

連載:目指せ黒帯!Oracle Database バックアップ&リカバリ道場
All contents copyright © 2007-2017 Shoeisha Co., Ltd. All rights reserved. ver.1.5