トップページへ PASSJ ブログへ
トップページへ
分科会
特集!
コミュニケーション
資格
セミナー・コンファレンス
インフォメーション
Oracleキーワードから学ぶ、逆引き! SQL Server入門
文=株式会社CSK 教育サービス事業部
第8回
バックアップとリカバリ編 スペシャルキーワード
スタンバイ・データベース
Oracle Serverが提供するスタンバイ・データベースは、障害によるデータベース破損を防止する機能です。具体的には本番で使用するデータベース(プライマリ・データベース)に障害が発生した場合、プライマリ・データベースのコピーであるスタンバイ・データベースに直ちに切り替え、業務を継続することができるようにします。SQL Serverでは、こうした機能をどのように実現しているのか、ご紹介しましょう。

Oracle Serverのスタンバイ・データベース


地震、火事などの天災や人災が発生してサーバーそのものが壊れてしまった場合、どのようにしてデータベースを復旧するのでしょうか? Oracle Serverでは、このような状況からの復旧に備えて、本番用データベースとは別の場所(サーバー)にOracle Data Guardが提供する「スタンバイ・データベース」を構築します。

■ 図1 スタンバイ・データベース
(図)スタンバイ・データベース

スタンバイ・データベースは、業務で使用するデータベース(プライマリ・データベース)を別のサーバーにコピーして作成します。プライマリ・データベースに対して行われた操作は、アーカイブ・ログ・ファイルを通じてスタンバイ・データベースをリフレッシュします。

Oracle Serverで提供するスタンバイ・データベースは、次のような特徴を持っています。

スタンバイ・データベースのリフレッシュは、アーカイブ・ログ・ファイルを通じて行う。
データベースはMOUNTモードで起動。
読み取り専用モードでOPEN可能。

スタンバイ・データベースをアクティブにしない限り、ユーザーはスタンバイ・データベースにアクセスできません。ただし、読み取り専用モードでOPENすれば、スタンバイ・データベース内の表に対してSELECT操作が許されます。



SQL Serverのログ配布


一方、SQL Serverでは、スタンバイ・データベースと同様の機能を「ログ配布」で提供しています。「プライマリSQL Server」(プライマリ・データベースに該当)をコピーして「セカンダリSQL Server」(スタンバイ・データベースに該当)を作成します。プライマリに対して行われた操作は、トランザクションログのコピーを使ってセカンダリをリフレッシュします。プライマリサーバーのトランザクションログのコピー、およびセカンダリサーバーへの配布とトランザクションログの適用は、SQL Serverエージェントにより定期的に行われます。

■ 図2 ログ配布
(図)ログ配布


SQL Serverで実装しているログ配布は、次の要素で構成されます。

●プライマリサーバー

ログ配布される元のSQL Serverを格納しているメインのサーバーです。

●1つ以上のセカンダリサーバー

プライマリサーバーからトランザクションログを受け取り、SQL Serverに適用します。「ウォームアップスタンバイ」とも呼ばれます。

●監視サーバー

ログ配布の状態を監視します。トランザクションログのバックアップの履歴や、コピーおよび復元処理の履歴、その他各種プロパティを表示します。「ログ配布モニタ」とも呼ばれます。



セカンダリSQL Serverは次のような特徴を持っています。

●WITH STANDBY復元オプション

このオプションが設定されているセカンダリは、読取り専用のデータベースとして起動しています。セカンダリに格納されている表に対してSELECTが実行できます。トランザクションログの適用は可能です。

●WITH NORECOVERY復元オプション

トランザクションログの適用だけを可能としているので、それ以外の操作、たとえばSELECTの実行などは禁止されています。



まとめ


監視サーバーを立てる点や呼び方が異なるところなどはありますが、スタンバイの機能についてOracle ServerとSQL Serverとの間で大きな差はありません。

スタンバイ・データベースおよびログ配布の機能は、バックアップとしても利用できます。また、プライマリサーバーに対する負荷を分散するためにも有効です。ログ配布の機能を利用して、プライマリサーバーは業務によるデータ変更だけを受け持ち、大量データの検索処理はセカンダリサーバーに対して行うような使い方をすれば、負荷の分散によってパフォーマンスの低下を防ぐことができるのです。





・ 第1回 基本用語編:データベースオブジェクト
・ 第2回 ユーティリティ編:SQL*Plus
・ 第3回 アーキテクチャ編(1):インスタンスとデータベース
・ 第4回 アーキテクチャ編(2):セグメント/エクステント/データブロック
・ 第5回 アーキテクチャ編(3):索引
・ 第6回 プログラミング編:カーソル
・ 第7回 トランザクション/ロック編:読み取り一貫性
・ 第8回 バックアップとリカバリ編:スタンバイ・データベース
・ 第9回 ユーザー管理編:ロール
・ 第10回 パフォーマンスチューニング編:EXPLAIN PLAN(実行プランの表示)


著者プロフィール
株式会社CSK 教育サービス事業部
http://www.cskedu.com/
OracleとSQL Server、それぞれのトレーニングコースを担当するトレーナー3名体制で執筆しています。メンバーは、金子真由美、浦山裕恭、浅見淳子。
今回の執筆担当
浦山裕恭(URAYAMA, Hiroyasu)
会計システムの導入コンサルティングを経て、1997年からOracleデータベースのインストラクターを担当しています。現在では、Oracleデータベース以外にOracle E-Business Suite関連やSQL Server関連のコースも担当しています。ちなみに、九州男児ですがお酒は弱いです。

← 特集!DBバイリンガル 目次

PASSJメールニュース 著作権ついて プライバシーポリシー リンクポリシー お問い合わせ
(C) 2005 Professional Association for SQL Server Japan. All rights reserved.