トップページへ PASSJ ブログへ
トップページへ
分科会
特集!
コミュニケーション
資格
セミナー・コンファレンス
インフォメーション
Oracleキーワードから学ぶ、逆引き! SQL Server入門
文=株式会社CSK 教育サービス事業部
第8回
バックアップとリカバリ編
スペシャルキーワード:スタンバイ・データベース
このコーナーでは、毎回Oracleの重要なキーワードをピックアップして、それぞれに対応するSQL Serverの用語や機能を解説していきます。Oracleを基準とした逆引き形式なので、これまでにマスターしたOracleの知識を最大限に生かしながら、スムーズにSQL Serverを習得できます!
特に重要な“スペシャルキーワード”は、さらに詳しく別ページを設けて解説しています。
◎バックアップとリカバリ編◎
今回は「バックアップ」や「リカバリ」に関するキーワードを取り上げます。
「アーカイブ・ログ・ファイルはあるのか?」、「チェックポイントはいつ発生するのか?」などなど、SQL Serverのバックアップに関係した内部のしくみやバックアップの種類、リカバリの方法につて、Oracle Serverとの比較をしていきます。

スタンバイ・データベース


Oracle Serverが提供する「スタンバイ・データベース」は、障害によるデータベース破損を防止する機能です。具体的には、本番で使用するデータベース(プライマリ・データベース)に障害が発生した場合に、プライマリ・データベースのコピーであるスタンバイ・データベースに直ちに切り替え、業務を継続できるようにします。プライマリとスタンバイの同期化は、プライマリから生成されるアーカイブ・ログ・ファイルにより行われます。
SQL Serverでは、「ログ配布」によってスタンバイ・データベースと同様の機能が提供されています。Oracle Serverのプライマリ・データベースに該当するソースデータベースの、トランザクションログのバックアップを、スタンバイ・データベースに該当する配布先データベースにコピーし、適用することで同期をとります。

☆さらに詳細はこちら→


データベース・リカバリ


ファイル破損などのメディア障害が発生したときに、障害が発生した直前の状態に復旧する場合、Oracle Serverでは障害のあったデータファイルに対するバックアップを復元し、そのバックアップファイルに対するアーカイブ・ログ・ファイルおよびREDOログ・ファイルを使って復旧します。
一方、SQL Serverでは、ファイルの復元を行う前に現在のトランザクションログをバックアップします。この手順を怠ると、最後にバックアップを取得したところまでしか復旧できません。現在のトランザクションログのバックアップを取得後、データファイルおよびトランザクションログのバックアップを復元および復旧します。SQL Server Enterprise Managerから復元を実行する場合は、どのファイルを復元するのかは自動選択されます。

バックアップの種類


Oracle Serverでのバックアップは、RMANやOSのユーティリティ、Exportユーティリティを使用して実行します。バックアップの単位としては「データベース全体」、「増分」、「表領域」、「データファイル」、「制御ファイル」、「ARCHIVELOGファイル」があります。
SQL Serverでは、Enterprise Manager、BACKUPステートメントなどを使用してバックアップを実行します。単位は「データベース全体」、「差分」、「ファイルグループおよびファイル」、「トランザクションログ」があります。
Oracle Serverとの大きな違いは「トランザクショログ」のバックアップです。
これを実行するとログが切り捨てられ、その切り捨てられた部分を再利用できます(「ログ・モード」参照)。また、Oracle Server、SQL Serverともにオンライン/オフラインでバックアップできますが、オフラインではバックアップ時点にしか戻せません。

ログ・スイッチ


Oracle Serverのバックグラウンド・プロセスの1つである「LGWR」は、REDOログ・バッファの内容をREDOログ・ファイルに書き込みます。Oracle Serverでは、REDOログ・ファイルは2つ以上のグループで運用しますが、1つがいっぱいになると、書き込み先のグループが切り替わります。これを「ログ・スイッチ」といいます。
SQL Serverでは、トランザクションログファイルは1つ以上で運用します。1つのファイル内は「仮想ログ」という複数のブロックに自動的に分割されます。
2つめの仮想ログがいっぱいになるとログファイルが拡張されるか、または1つめのログファイルがバックアップされていれば1つめの仮想ログを再利用します。これが、Oracle Serverのログ・スイッチに相当する動きです。

ログ・モード


Oracle Serverの「ARCHIVELOGモード」では、1つのREDOログ・ファイルが一杯になったときに自動でコピーを作成(アーカイブ)することで、上書きして循環使用できるようになっています。
SQL Serverも、ログ領域を再利用するしくみは似ています。Oracle Serverでログをアーカイブするように、SQL Serverでもログの一部をバックアップすることで、1つまたは複数のトランザクションログファイルを循環して使用できます。ただし、SQL Serverのログバックアップは手動ですので、自動化するためにはスケジューリングをします。Oracle Serverの「NOARCHIVELOGモード」のように、ログのコピー(アーカイブ)を取ることなくログ領域を再利用する場合、SQL Serverではデータベースの「復旧モード」オプションを「単純(シングル)」モードにします。

チェックポイント


「チェックポイント」は、変更したデータをメモリからディスクに反映するイベントです。Oracle Serverのチェックポイントはログスイッチのタイミングなどで発生します。初期化パラメータファイルのFAST_START_MTTR_TARGETパラメータで復旧時間を指定することで、定期的なチェックポイントを発生させることもできます。
SQL Serverでも既定で約1分に1回、チェックポイントが発生しますが、Enterprise Managerでインスタンスのプロパティを表示し、[データベースの設定]タブでOracle Serverと同じく復旧間隔を指定できます。たとえばSQL Server起動時に短時間で復旧するために復旧時間を短く設定した場合、メモリからディスクに書き込まれていない部分を少なくする必要がありますので、チェックポイントの間隔が短くなるわけです。




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



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

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