![]() ![]() ![]() ![]() |
以下の節では、Oracle Tuxedo ファイルおよびデータベースの管理について説明し、Oracle Tuxedo アプリケーションに対するディスク領域の割り当て方法のガイドラインを示します。
以降の説明の大半は、ハードディスクのパーティションを作成し直す部分を除いて Windows および UNIX の両システムに適用できます。Windows システムでは入出力 (I/O) がデフォルトでバッファされますが、Oracle Tuxedo は特定のシステム レベルのフラグを設定してそのデフォルトを変更します。そのため、Oracle Tuxedo プロセスに対するすべての I/O はバッファされないので、Windows システムでは特にディスク領域を設定する必要がありません。
Oracle Tuxedo システムには、ディスク管理インタフェース (DMI) と呼ばれる、1 つまたは複数のディスク デバイス内で論理ファイルを管理する機能があります。DMI では、バイナリ コンフィグレーション テーブルやトランザクション ログの格納などの処理が行われます。DMI を使用して、Oracle Tuxedo ファイルシステム内のエントリの作成、初期化、または削除を行うことができます。DMI にアクセスするには、『Tuxedo コマンド リファレンス』で説明されている tmadmin(1)
管理コマンドを使用します。
DMI によって管理される論理ファイルを物理的に保存するには、次の 2 つの方法があります。
Oracle Tuxedo ファイルは指定された領域内にあるデバイス特殊ファイル上に存在し、DMI ディスク管理ソフトウェアで直接管理されます。DMI は Oracle Tuxedo ファイルシステムという概念に基づいています。これは、OS のファイルシステムとは異なるものです。
OS ファイルシステム外の領域は、通常 raw ディスク領域と呼ばれます。raw ディスク上のデバイス特殊ファイルから直接読み取りや書き込みを行うシステム コールが実行されると入出力が高速になるだけでなく、物理的な write()
もすぐに生成されます。OS ファイルシステムを使用すると、Oracle Tuxedo では write()
の実行時を正確に予測したり制御したりすることはできません。しかし、raw ディスク領域を使用すると、Oracle Tuxedo で書き込み操作を正確に制御できます。このような制御は、Oracle Tuxedo トランザクション ログのエントリでは特に重要です。また、複数のユーザがシステムにアクセスしている場合は、データベースの整合性を維持するために、書き込み操作を制御できることが重要です。
UNIX システムで Oracle Tuxedo アプリケーションに raw ディスク領域を使用する場合、システムのハードディスク デバイスが既に /
(ルート) や /usr
などのファイルシステムに割り当てられていることがあります。その場合は、ハードディスクのパーティションを作成し直して、OS ファイルシステム以外の用途に使用できるパーティションを確保する必要があります。パーティションを再度作成する方法については、使用しているプラットフォームのシステム管理者ガイドを参照してください。
Oracle Tuxedo ファイルシステムには、ボリューム一覧 (VTOC: Volume Table of Contents) があります。これは、汎用デバイス リスト (UDL: Universal Device List) で指定されたデバイス上のファイルの一覧です。UDL には Oracle Tuxedo システム テーブルの物理ストレージ スペースの位置についての情報が記載されています。
Oracle Tuxedo アプリケーションでは、すべてのシステム ファイルを同じ raw ディスク スライスや OS ファイルシステム上に格納することができます。コンフィグレーション テーブルを通常の OS ファイルシステムに配置することもできますが、トランザクション ログ TLOG は raw ディスク デバイス上に配置することをお勧めします。TLOG が 100 ブロック (512 バイト/ブロックと仮定して 51,200 バイト) を超えることはほとんどありません。また、ディスク パーティションは 100 ブロックよりはるかに大きいので、同じデバイス上にコンフィグレーション ファイルと TLOG の両方を格納できます。
次は、単一マシン上の bankapp
(サンプル アプリケーション) コンフィグレーションの VTOC と UDL の例です。
Output based on setting FSCONFIG=$TUXCONFIG, and invoking tmadmin:
No bulletin board exists.Entering boot mode.
> livtoc
Volume Table of Contents on /usr2/bank/tuxconfig:
0: VTOC: Device 0 Offset 0 Pages 7
1: UDL: Device 0 Offset 7 Pages 28
2: _RESOURCE_SECT: Device 0 Offset 35 Pages 6
3: _MACHINES_SECT: Device 0 Offset 41 Pages 40
4: _GROUPS_SECT: Device 0 Offset 141 Pages 100
5: _SERVERS_SECT: Device 0 Offset 241 Pages 150
6: _SERVICES_SECT: Device 0 Offset 391 Pages 60
7: _ROUTING_SECT: Device 0 Offset 451 Pages 100
8: _NETWORK_SECT: Device 0 Offset 551 Pages 20
9: _MIBPERMS_SECT: Device 0 Offset 571 Pages 2
10: _NETGROUPS_SECT: Device 0 Offset 573 Pages 2
11: _INTERFACES_SECT: Device 0 Offset 575 Pages 10
# If the TLOG is stored on the same device, there will be an
# entry something like:
12: TLOG: Device 0 Offset 585 Pages 100
Oracle Tuxedo アプリケーション管理者は、アプリケーションに参加する各ノードに必要な raw ディスク スライスを確保しておく必要があります。次の表は、Oracle Tuxedo ファイルシステムの各構成要素のサイズを示したものです。
コンフィグレーション ファイル UBBCONFIG
内のエントリが bankapp
サンプル アプリケーション内のエントリより多い場合、TUXCONFIG
ファイルにはこれよりも大きな領域が必要になります。システム管理者は、動的な再設定とアプリケーションの拡張を考慮して、十分な領域を確保してください。tmadmin
のサブコマンド crdl
では、デフォルトのブロック サイズが 1,000 ブロックと想定されています (512 バイト/ブロックと仮定して 512,000 バイト)。これは最初のインストールには十分なサイズです。
Oracle Tuxedo アプリケーションで前方格納 (store-and-forward) キュー管理に /Q を使用している場合、TUXCONFIG
ファイルと TLOG が格納されている UDL にキュー スペースの領域も含めることができます。その場合、Oracle Tuxedo VTOC でキュー スペースの領域を管理できます。
Oracle Tuxedo システムに必要なディスク領域を計算する場合は、アプリケーションにサービスを提供するサーバに必要な領域も考慮する必要があります。必要な領域はアプリケーションによって指定されます。別に指定がない限り、通常は Oracle Tuxedo システム自体に必要な領域とは関係がありません。
![]() ![]() ![]() |