RACが変えるデータベース環境
Oracle ClusterwareとAutomatic Storage Management
Oracle Clusterwareは、10gから提供された機能で10gR1では「Cluster Ready Services」と呼ばれていた、いわゆるクラスタソフトウェアです。実は10gが登場する以前では、サードベンダー製のクラスタソフトが、ほぼすべてのプラットホームで必要でしたが、Oracle Clusterwareの登場とともにサードベンダークラスタを使用せずともRACを構築できるようになりました。
Oracle Clusterwareの役割は、RACを構成する複数のノードを協調して稼働させたり、インスタンスやリスナー、バーチャルIPといったリソースの起動および停止といった管理も行います。
そのほか、ユーザーが作成したアプリケーションやOracle Application Server、Apacheなども管理下に入れることができます。
Oracle Clusterwareは障害発生時のRACシステムの挙動に関しても大きな役割を果たしています。相互にほかのノードの状態を監視しており、障害が発生した場合、そのノードを切り離し、障害ノードで起動していたリソースをフェールオーバーさせます。これにより障害発生時に実施していた処理をほかのノードで引き継ぐことができるのです。
Automatic Storage Management(以下ASM)も10gから提供された機能で、Oracle Databaseに関連するファイルの管理に特化した、ファイルシステムとボリューム管理機能を提供します。
バージョン9iのRACでは、プラットホームごとに使用されるファイルシステムが異なったり、RAWデバイスを使用するといった制限がありました。ASMは共有されたストレージのディスクを「ディスクグループ」と呼ばれる単位で管理します。
データベース管理者は、ディスクグループを指定するだけで、データファイルやREDOログファイル、アーカイブログといったデータベース構成ファイルを配置することができます。
ASMは、SAME(Stripe and Mirror Everything)という考えに基づいて設計されており、配置されたデータは、ディスクグループの中で自動的にミラーやストライピングされ、対障害性を高めつつディスクI/O分散を行います。
データを拡張する際には、管理者がディスクグループに新たにディスクを追加するだけで、既存のデータの再配置が行われ、ディスク間のデータの偏りをなくします。複数の共有ストレージがある環境では、ASMを利用することにより、ストレージの一元管理はもちろん、ストレージをまたがったミラーやI/O分散が可能です。ASMはいわばデータベースストレージのグリッド化を実現した機能といえます。
サービスとは
10gからは「サービス」という概念が導入されています。業務処理ごとにサービスを設定しておけば、後はそのサービスをどのサーバーで動作させるかを柔軟に決めることができます。
例えば会計と受発注の2つの業務があった場合、それぞれをサービスとして、RACシステムで運用します。「会計」サービスの負荷が高い時は、「受発注」サービスが稼働しているサーバーでも「会計」サービスを処理させるよう構成を行うことができます(図2)。
それぞれの処理のピーク時にはサーバーのリソースをやりくりすることができるため、個別のアプリケーションのピーク時に合わせてサーバーのサイジングを行う必要はありません。
また、どのサーバーでどのサービスが稼働しているかをユーザー側で意識する必要はありません。データベースに対して透過的にアクセスできるため、アプリケーション側の変更も必要ありません。
サービスの設定はOracle社の管理ツールである「Enterprise Manager」からGUI操作で簡単に行うことができます。
続いて、RACと関連するOracle Database 11g(以下11g)の新機能について紹介します。紹介するのは、「Automatic Database Diagnostic Monitor」と「Advanced Compression Option」です。