圧縮バックアップと増分バックアップ:独学! ORACLE MASTER Gold 11g講座(6)(1/2 ページ)
ORACLE MASTER資格の上級に位置付けられる「ORACLE MASTER Gold Oracle Database 11g」。本連載では、Gold試験の頻出ポイントを解説する。確認問題付き。
これまでRMAN(Recovery Manager)の概要、構成、リポジトリをご紹介しました。今回は、バックアップの作成を説明したいと思います。障害に備えたバックアップは大変重要です。RMANではさまざまなバックアップを作成できます。
基本的なバックアップ論
第5回までの担当、岩沢の後を継ぎまして、今回から担当となる、武見と申します。今後、よろしくお願いします。
前回はRMAN(Recovery Manager)バックアップのうち、「イメージコピー」と「バックアップセット」を取得する方法をご紹介しました。今回は、さらにRMANが持つほかのバックアップ機能について解説します。
圧縮済バックアップセット
前回、バックアップセットは複数のデータファイルを1つにまとめて「圧縮したもの」と説明しました。しかし、ここでいう「圧縮」とは、データファイルの未使用部分を削って使用領域を圧縮(削減)しているという意味なのです。ちなみに、イメージコピーを取るときは、このような処理はしません。
今回解説する「圧縮済バックアップセット」とは、私たちが普段からよく使っているファイル圧縮のように決まったアルゴリズムを使ってバックアップデータのサイズを縮小したものです。つまり、バックアップとして取得したデータの部分を文字通り圧縮するのです。
圧縮済バックアップセットは、10gから加わった機能で、11gでは圧縮アルゴリズムの種類が増えました。標準設定では、BZIP2という圧縮アルゴリズムを使うようになっています。11gからZLIBという圧縮アルゴリズムも使えるようになりました。これら2種類の圧縮アルゴリズムを比較すると、BZIP2の方が圧縮効率では優れています。一方、ZLIBはBZIP2に比べてプロセッサ時間をあまり消費しないという特徴があります。ZLIBを使用するにはCOMPATIBLEパラメータを11.0.0以上にする必要があります。
Oracle Master試験では、この圧縮という言葉がどういうことを指しているのかを正しく見極める必要があります。問題文をしっかり読めば、「通常のバックアップセット」なのか「圧縮済バックアップセット」なのかを読み取れるはずです。
圧縮の効果を確認
それでは、実際にデータベースファイルのバックアップを取って、圧縮の効果を確認してみましょう。まずは圧縮対象のデータベースファイルの大きさを調べます。
RMAN> report schema; リカバリ・カタログのかわりにターゲット・データベース制御ファイルを使用しています データベースdb_unique_name ORCLのデータベース・スキーマのレポート 永続データファイルのリスト =========================== File Size(MB) Tablespace RB segs Datafile Name ---- -------- -------------------- ------- ------------------------ 1 700 SYSTEM *** /u01/app/oracle/oradata/orcl/system01.dbf 2 720 SYSAUX *** /u01/app/oracle/oradata/orcl/sysaux01.dbf 3 470 UNDOTBS1 *** /u01/app/oracle/oradata/orcl/undotbs01.dbf 4 5 USERS *** /u01/app/oracle/oradata/orcl/users01.dbf 5 100 EXAMPLE *** /u01/app/oracle/oradata/orcl/example01.dbf 一時ファイルのリスト ======================= File Size(MB) Tablespace Maxsize(MB) Tempfile Name ---- -------- -------------------- ----------- -------------------- 1 28 TEMP 32767 /u01/app/oracle/oradata/orcl/temp01.dbf
バックアップの対象になる、永続データファイルの合計サイズは2Gbytes近くにまで達しています。では、初期設定のままでバックアップを取ってみましょう。
RMAN> backup database; backupが開始されました(開始時間: YY-MM-DD) チャネル: ORA_DISK_1が割り当てられました チャネルORA_DISK_1: SID=136 デバイス・タイプ=DISK チャネルORA_DISK_1: フル・データファイル・バックアップ・セットを開始しています 〜略〜 ピース・ハンドル=/u01/app/oracle/flash_recovery_area/ORCL/backupset/2011_03_16/o1_mf_nnndf_TAG20110316T144152_6r0mf11q_.bkp タグ=TAG20110316T144152 コメント=NONE 〜略〜
つづいて圧縮済バックアップセットを取ります。
RMAN> backup as compressed backupset database; backupが開始されました(開始時間: YY-MM-DD) チャネルORA_DISK_1の使用 チャネルORA_DISK_1: 圧縮型フル・データファイル・バックアップ・セットを開始しています 〜略〜 ピース・ハンドル=/u01/app/oracle/flash_recovery_area/ORCL/backupset/2011_03_16/o1_mf_nnndf_TAG20110316T144256_6r0mh0sd_.bkp タグ=TAG20110316T144256 コメント=NONE 〜略〜
RMANバックアップは初期設定では、何のオプションも指定せずに実行すると通常のバックアップを取るようになっています。初期設定を確認してみましょう。
RMAN> show device type; db_unique_name ORCLのデータベースにおけるRMAN構成パラメータ: CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO BACKUPSET PARALLELISM 1;
何のオプションも指定せずに実行したときに圧縮済バックアップを取れるようにするには以下のように設定します。
RMAN> CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COMPRESSED BACKUPSET; 新しいRMAN構成パラメータ: CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COMPRESSED BACKUPSET PARALLELISM 1; 新しいRMAN構成パラメータが格納できました
圧縮に使うアルゴリズムを確認してみましょう。
RMAN> show compression algorithm; db_unique_name ORCLのデータベースにおけるRMAN構成パラメータ: CONFIGURE COMPRESSION ALGORITHM 'BZIP2'; # default
初期設定ではBZIP2になっているようです。これをZLIBに変更してみましょう。
RMAN> CONFIGURE COMPRESSION ALGORITHM 'ZLIB'; 新しいRMAN構成パラメータ: CONFIGURE COMPRESSION ALGORITHM 'ZLIB'; 新しいRMAN構成パラメータが格納できました
この圧縮済バックアップセットを取るときは、RMANがデータを圧縮しながら取るので、中間的なストレージ領域を必要としません。一度バックアップを取り、それをzipなどのアプリケーションで圧縮するよりもストレージを浪費することがありません。近年、データベースの大規模化が進んでいます。このような機能は、ストレージを効率よく使う上で助けになるでしょう。
では、取得したバックアップファイルの、OSから見たファイルサイズを確認しましょう。
$ ls -sh 合計 1.7G 9.4M o1_mf_ncsnf_TAG20110316T144152_6r0mfv4t_.bkp ← 制御ファイルとSPFILEのバックアップセット 1.1M o1_mf_ncsnf_TAG20110316T144256_6r0mj4yq_.bkp ← 同上(BZIP) 1.1M o1_mf_ncsnf_TAG20110316T144405_6r0mkztl_.bkp ← 同上(ZLIB) 1.2G o1_mf_nnndf_TAG20110316T144152_6r0mf11q_.bkp ← 通常のバックアップセット 209M o1_mf_nnndf_TAG20110316T144256_6r0mh0sd_.bkp ← BZIPによる圧縮バックアップセット 229M o1_mf_nnndf_TAG20110316T144405_6r0mk5ps_.bkp ← ZLIBによる圧縮バックアップセット
ファイルサイズを見ると、圧縮がよく効いていることが分かります。ただし、圧縮の度合いは、データの特性などにより異なります。
また、圧縮時にはプロセッサ時間を消費しますが、バックアップ容量が減ることによりI/Oが減るため、結果として短時間でバックアップが済むことがあります。ただし、データベースの使用状況によるため、どんなときでも時間が短くなるとはいえません。
Copyright © ITmedia, Inc. All Rights Reserved.