分散型アプリケーションは,クラスタ内で使用するように修正されているアプリケーションです。クラスタに対応している,つまり,クラスタ内で動作することを意識しているアプリケーションです。アプリケーションをクラスタ内で実行しただけでは,アプリケーションはクラスタ対応にはなりません。分散型アプリケーションの構成要素は,しばしば,TruCluster Server 製品にバンドルされているアプリケーション・プログラミング・インタフェース (API) ライブラリを使い,メンバ・システム間で情報を交換し,協調して共用データにアクセスします。
次のサブシステム API は,TruCluster の以前の製品で提供されていた API と完全に互換性があります。
クラスタ別名 (clua_*.3
)
分散ロック・マネージャ (DLM)
(dlm_*.3
)
Memory Channel (imc_*.3
)
クラスタ別名,DLM,および Memory Channel の各 API の使用方法についての詳細は,それぞれ第 8 章,第 9 章,および第 10 章を参照してください。
この章では,次の項目について説明します。
分散型アプリケーションの TruCluster Server への移行の準備 (6.1 節)
TruCluster Server での Oracle Parallel Server の作成 (6.2 節)
Oracle Parallel Server の TruCluster Server への移行 (6.3 節)
6.1 分散型アプリケーションの TruCluster Server への移行の準備
分散型アプリケーションを TruCluster Server に移行する準備をする際には,次の点に注意します。
デバイス名が,データ・ファイルの名前に埋め込まれている場合があります。データ・ファイルの名前を変更するか,シンボリック・リンクを作成するか,またはデータベースを作成し直します。シンボリック・リンクを作成する方法が,管理が最も簡単になる方法です。raw デバイスへのシンボリック・リンクを作成して,許可を更新します。
注意
OPS のデータ・ファイル名は変更できますが,Informix XPS のデータ・ファイル名は変更できません。これについてはシンボリック・リンクを使用してください。詳細は,『Informix Installation Guide』を参照してください。
コントロール・ファイルには編集を加えず,オリジナルを保存しておいてください。
単一メンバの TruCluster Server クラスタを作成した後に,Oracle のバイナリ・コードを再度リンクします。これは,接続マネージャ・ライブラリに TruCluster Server 用の新しいエントリ・ポイントがあるためです。
6.2 TruCluster Server 上での Oracle Parallel Server の実行
この節では,Oracle 8i リリース 3 (8.1.7) の OPS (Oracle Parallel Server) オプションを立ち上げて TruCluster Server バージョン 5.1 以降のクラスタで動作させる方法について説明します。Oracle8i 8.1.7 は TruCluster Server バージョン 5.1B 以降で実現されたダイレクト入出力機能を利用しているので,TruCluster Server バージョン 5.1B 以降のクラスタ・ファイル・システム上に OPS を構成することができます。Oracle の以前のバージョンでは,クラスタ内にある raw ディスクのパーティションまたはボリュームを使う必要がありました。クラスタにおけるダイレクト入出力についての説明は,TruCluster Server 『クラスタ管理ガイド』 を参照してください。
注意
Tru64 UNIX および TruCluster Server バージョン 5.1B 上で Oracle9i Real Application Cluster (RAC) を実行するには,次のサイトで提供されている『Installation Guide』を参照してください。 http://otn.oracle.com/products/oracle9i/pdf/Oracle_9i_on_Tru64_UNIX.pdf
このドキュメントでは Oracle9i RAC について説明するとともに,クラスタ環境で Tru64 UNIX,TruCluster Server,および Oracle をインストールして構成する方法について説明しています。
OPS を TruCluster Server 上で実行するためには,次の手順に従います。
Oracle8i リリース 3 (8.1.7) のドキュメントに記載されている指示に従って,Oracle8i リリース 3 (8.1.7) をインストールして構成します。Oracle8i は 1 つのクラスタ・メンバにインストールするだけで十分です。
Oracle には特別な要件があります。この要件には,特定のカーネル属性に特定の値を設定していること,特定の UNIX グループ (dba
,
oinstall
) を作成していること,特別な環境変数を初期化していることなどがあります。
Oracle8i リリース 3 (8.1.7) のドキュメントに記載されている指示に従って,Oracle Parallel Server オプションを構成します。
クライアント要求の負荷を分散するためにクラスタ別名を使用するよう,Net8 リスナを構成します。また,OPS の MTS (Multi-Threaded Server) 機能を使用することでも,クライアント要求の負荷を分散することができます。Oracle8i のドキュメントを参照してください。
クラスタ別名を使う場合は,次の行を
/etc/clua_services
ファイルに追加して,Oracle8i リスナの使用するポートの特性を設定します。
listener 1521/tcp in_multi
ポート 1521 に
in_multi
属性を設定すると,クラスタ別名サブシステムはそのクラスタ別名宛の接続要求を,その別名のすべてのメンバに分散させるようになります。
各クラスタ・メンバで次のコマンドを実行し,クラスタ別名のサービス定義を再ロードします。
# cluamgr -f
OPS をクラスタにセットアップし,ローカルからもリモートからもアクセスできることを確認したら,各メンバがブート時にそれぞれのデータベース・インスタンスを起動し,シャットダウン時にそのデータベース・インスタンスを停止することを確認する必要があります。このために,スクリプトを
/sbin/init.d
に置く方法をお勧めします。
CAA (Cluster Application Availability) の処理スクリプトを作成して,データベース・インスタンスを自動的に起動し停止させることも可能です。ただし,その場合は OPS を 1 つのクラスタ・メンバに制限する必要があります。OPS の起動と停止についての詳細は,Oracle8i リリース 3 (8.1.7) のドキュメントを参照してください。
6.3 Oracle Parallel Server の TruCluster Server への移行
OPS を TruCluster Server に移行する際には次の点に注意してください。
TruCluster Software Products バージョン 1.6 以前から移行する場合は,デバイス名に注意してください。DRD で管理されたストレージのスペシャル・デバイス名はなくなります。データベースから
/dev/drd
または
/dev/rdrd
を参照している場合は,6.2 節のステップ 3 での説明に従って,新しいデバイス名へのシンボリック・リンクを作成してください。
OPS ではデータ・ファイルの名前を変更することができます。データ・ファイルへのシンボリック・リンクを作成しないで名前を変更したい場合は,次の手順に従います。
オリジナルのコントロール・ファイルを保存します。これらのコントロール・ファイルは,編集しないでください。
nomount
オプションを使ってデータベースを起動します。
次のコマンドで,データ・ファイルの名前を一般的なファイル名に変更します。
SVRMGR> alter database rename file ...
データ・ファイルの名前を変更したら,次のコマンドでデータベースを確認します。これによって,データベースの整合性が検証され,シンボリック・リンクが不適切であれば検出されます。
SVRMGR> analyze table validate structure cascade