しかし、rawデバイスには「管理しにくい」という大きなデメリットがある。ファイルシステムを持たないため、OSからは「ディスク上のひとつのボリューム」としか認識されない。よってrawデバイスに対してシェルから操作できることと言えば、ボリューム単位でのバックアップ/リストアくらいだ。データの一覧表示や移動、コピーといった簡単な操作も、すべてOracle上の管理コマンドで実施する必要が生じる。
データの管理に通常のシェルが使えないことの弊害は大きい。緊急時のリカバリ作業のみならず、日常の運用業務でさえ、Oracle管理のスキルを持つコストの高い管理者が必要となる。また、他のアプリケーションに対しては有用な運用管理用のシェル・スクリプトやツール群も、rawデバイスに対してはほとんど役に立たない。よって、システムを構成する数あるミドルウェアやアプリケーション、ツール群の中でも、Oracleだけを特別扱いする必要が生じる。またOracle内部でも、ログ・ファイルや設定ファイル、Oracleのバイナリ・ファイルなどはファイルシステムで管理する。よってそれらのバックアップやリストアは、rawデバイスとは個別に実施しなければならない。
そのうえrawデバイスには、ファイルシステムのようなパーミッションの概念がない。したがって管理者のちょっとしたオペレーション・ミスによって、rawデバイス全体を上書きしたり削除したりする可能性もある。ディレクトリの概念もないので、rawデバイスの数が多い構成では管理が煩雑となる。
さらにrawデバイスの利用時には、データベースがオンラインの状態で領域を動的に拡張することができない。そのため、個々のテーブルについてレコード件数の増加にともないどの程度の領域が消費されるか、あらかじめ厳密に見積っておく必要が生じる。もしrawデバイスの領域を使い切ったら、サービスを止めての拡張作業が必要になる。これに対し、例えばHP-UXのオプション機能「OnlineJFS」では、アプリケーションの稼働中にもファイルシステム領域の動的拡張が可能だ。サービスを止めずとも、必要に応じてディスクを追加するだけで、さらに多くのデータを格納可能になる。したがって複数のテーブルをひとつのファイルシステム上に集約して一括管理でき、上述のような厳密な見積もりや面倒なメンテナンス作業は不要だ。
このように、Oracleの構築では常識とされてきたrawデバイスも、振り返ってみればさまざまな弊害を生み出していることがわかる。そうしたなか、「rawデバイスのパフォーマンス」と「ファイルシステムの管理性」の双方を“いいとこ取り”したソリューションが現れた。それが、「HP Serviceguard Storage Management Suite for HP-UX(SG SMS)」に含まれるツール「Oracle Disk Manager(ODM)」である。
|