PREPARATION
受験対策

Silverの例題解説「運用管理 - バックアップ方法(トランザクションログ(WAL)とWALアーカイブ)」

今回は、Silverの「運用管理 - バックアップ方法(トランザクションログ(WAL)とWALアーカイブ)」からの出題です。

例題

1.103

WALの説明として間違っているものを1つ選びなさい。

  1. WALはデータベースに対して行われた変更をすべて記録するもので、データファイルの更新が行われた直後に、その変更内容がWALに書き出される。
  2. データベースサーバをimmediateオプションで停止させるなど、正常な終了処理がされなかった場合、再起動時にWALファイルを参照することでデータファイルの復旧が行われる。
  3. WALファイルはPostgreSQL バージョン9.6まではデータベースクラスタのpg_xlogディレクトリの下に作られていたが、PostgreSQL バージョン10以降ではデータベースクラスタのpg_walディレクトリの下に作られる。

  4. ポイントインタイムリカバリ(PITR)では、archive_commandパラメータを適切に設定することで、生成されたWALファイルをデータベースクラスタの外のディレクトリにコピーして保存する必要がある。

  5. PITRでは、wal_levelパラメータを適切に設定し、詳細な情報がWALファイルに書き出されるようにする必要がある。

※この例題は実際のOSS-DB技術者認定試験とは異なります。
例題公開日:2020年4月8日

解答と解説

PostgreSQLをはじめ多くのデータベースでは、データの変更時にデータファイルをいきなり更新するのではなく、まず追記型のログファイルに変更内容を書き出し、その後の適当な時点でデータファイルを更新する、という手順をとっています。この場合、ログファイルへの書き出しが完了した時点で、クライアントには更新完了のステータスが返されます。 このログファイルのことを、一般的にはトランザクションログ、などと呼ぶことが多いですが、PostgreSQLではデータファイルの更新に先立って(ahead)、書き出す(write)という意味で、Write Ahead Log(WAL)と呼んでいます。

データファイルが更新されるより前に何らかの原因でデータベースが異常終了した場合、データベースの再起動時に、WALに書き出された変更のうち、どこまでがデータファイルに反映されているかを調べ、未反映の部分についてデータファイルを更新する処理(リカバリ)が行われます。 WALファイルは、トランザクションのログ、という意味でPostgreSQL 9.6まではpg_xlogというディレクトリの下に出力されていましたが、PostgreSQL 10からはpg_walというディレクトリの下に出力するようになりました。

ポイントインタイムリカバリ(PITR)は、ある時点のバックアップ(ベースバックアップ)に、それ以降に発生したWALの内容をすべて適用することで、データベースの内容を最新(あるいは指定した特定の時点)の状態に復旧(リカバリ)する手段ですが、データベースクラスタ内に保存できるWALのサイズは有限なので、それを別の場所にコピーして保存する必要があります。この処理のことをWALアーカイブと呼びますが、そのためにはarchive_commandというパラメータにファイルをコピーするためのコマンドあるいはスクリプトを設定します。また、wal_levelをreplicaまたはそれ以上の値に設定し、リカバリに必要な情報が出力されるようにする必要があります。デフォルトはreplicaなので変更しなくても大丈夫ですが、minimalに設定されていると、クラッシュリカバリのみが可能で、PITRは実行できなくなります。

間違っているものを選ぶ問題なので、正解はAです。

WALの更新はデータファイルの更新よりも前に行われます。

今回の解説について、理解できないポイントがあればどんどん質問をお寄せ下さい。
採用になった方にはLPI-Japanオリジナルの記念品を贈呈します。

※試験問題に関わるお問い合わせにつきましては、LPI-Japan事務局ではお応えできませんのでご了解ください。

企業の基幹システムや業務システムでの
OSS-DBの採用がますます拡大している中、
昇格・昇給・就職・転職に必ず役立つ認定資格になります

OSS-DBの受験対策について

受験の学習をサポートする情報や対策に役立つ情報をご紹介

サンプル問題/例題解説

例題 のアーカイブを試験ごとにまとめています。OSS-DB技術者認定試験の学習にお役立てください

学習教材・教育機関のご紹介

OSS-DB認定教材や教育機関について詳しくご説明いたします。

無料技術解説セミナー

受験準備をされていらっしゃる方々を対象に、無料技術解説セミナーの日程をお知らせしています。

OSS-DB道場

受験準備をされていらっしゃる方々を対象に、無料技術解説セミナーの日程をお知らせしています。