|
||||||||||||||||||||
| 1 2 3 4 次のページ | ||||||||||||||||||||
| データベース管理作業項目 | ||||||||||||||||||||
|
ベンチマークに続いては、DBA(データベース管理者)と呼ばれる方々の日々の仕事となるデータベースの管理・運用について比較してみたいと思います。まずデータベースの管理作業として、大きな項目をあげてみます。 |
||||||||||||||||||||
分類の仕方は考え方によって様々あると思いますが、データベース管理者は上記のようなことを日々処理する必要があります。それではその中のいくつかについて、OracleとPostgreSQLでの違いを確認していきます。 |
||||||||||||||||||||
| バックアップ・リストア | ||||||||||||||||||||
|
多くの場合、データベースには重要なデータが格納されています。そのデータはハードディスクに格納されますが、時折ハードディスク障害などの理由でそのデータを失う事態に見舞われます。しかし最近では、RAID機能などによって単一障害でいきなりデータをすべて失うというようなことは少なくなってきました。 そうはいっても、データベース内のデータを失う原因はハードディスク障害のみならず、ユーザのオペレーション・ミスやアプリケーション側の動作不良(バグ)、DBMS内の障害による不整合なども考慮に入れておかねばなりません。そのような要件を踏まえ、障害時に必要なデータを迅速に復旧できるように管理者は常時備えておくことが必要です。 つまりバックアップ方法とタイミング、世代管理など障害発生時に許容されるダウンタイムを考慮したバックアップ・リストアの方法を確立させなければなりません。特に商用システムで使用されるデータベースにおいては管理者の重要な義務であると言えます。 一方で取得したバックアップを用いて、それを復元することが「リストア」または「リカバリ」です。どちらも「回復」という同じ意味で用いられることが多く、どちらでも間違いないと思いますが、どちらかといえば「リカバリ」は「一部の損傷に対する修復」といった意味で使用されることが多いと思います。またOracleのコマンドの「restore」と「recover」は、役割が違っていますので、本連載ではバックアップを用いて回復するための作業は「リストア」として表記します。 修復後の状態を想定し、バックアップ採取の方法を決定するのがバックアップ設計時のベースとなります。バックアップ手順を設計したら、必ず全てのリストア手順を一通り実行し、望んだ状態へリカバリできることを確認してください。よくある話ですが、「バックアップはしているが、リストアは1度も行ったことがない」のでは備えとしては完全に失格です。復旧の手順を管理者が把握していないことがないように、予行演習は必ず行いましょう。 このような一般的な考え方を押えた上で、OracleとPostgreSQLについてバックアップ関連の機能面を比較して見ましょう。 残念ながらPostgreSQL(V7.4のレベル)で用意されているバックアップ手段はOracleと比較して多くはありません。Oracleの方はトランザクション・ログであるREDOログを用いたロールフォワード、フラッシュバックの機能(UNDO)でのロールバックのそれぞれの機能により、PITR(Point In Time Recovery)を実現しています。PostgreSQLにもWALと呼ばれるトランザクション・ログがありますが、こちらはリストアにはまだ(V8で対応)利用することができません。(トランザクション・ログについては本連載の第3回を参照してください) |
||||||||||||||||||||
|
1 2 3 4 次のページ |
||||||||||||||||||||
|
|
||||||||||||||||||||
|
|
||||||||||||||||||||
|
||||||||||||||||||||
|
|
||||||||||||||||||||
|
||||||||||||||||||||
|
|
||||||||||||||||||||
|
||||||||||||||||||||
|
|
||||||||||||||||||||

