9 ファイルおよびデータベースの管理とディスク領域の割当て

次の項では、Oracle Tuxedoファイルおよびデータベースの管理について説明し、Oracle Tuxedoアプリケーションに対するディスク領域の割当て方法のガイドラインを示します。

9.1 概要

次の説明はUNIXシステムに適用されます。

9.2 Oracle Tuxedoシステムのファイル管理

Oracle Tuxedoシステムには、ディスク管理インタフェース(DMI)と呼ばれる、1つまたは複数のディスク・デバイス内で論理ファイルを管理する機能があります。DMIでは、バイナリ構成表やトランザクション・ログの格納などの処理が行われます。それを使用して、Oracle Tuxedoファイル・システム内のエントリの作成、初期化、または削除を行うことができます。DMIにアクセスするには、『Oracle Tuxedoコマンド・リファレンス』で説明されているtmadmin(1) 管理コマンドを使用します。DMIによって管理される論理ファイルを物理的に保存するには、次の2つの方法があります。
  • オペレーティング・システム(OS)のファイル・システムへの保存
  • Oracle Tuxedoシステムに割り当てられた、すべてのOSファイル・システムから制御できないディスク領域への保存
Oracle Tuxedoファイルは指定された領域内にあるデバイス特殊ファイル上に存在し、DMIディスク管理ソフトウェアで直接管理されます。DMIはOracle Tuxedoファイル・システムという概念に基づいています。これは、OSのファイル・システムとは異なるものです。

OSファイル・システム外の領域は、通常rawディスク領域と呼ばれます。rawディスク上のデバイス特殊ファイルから直接読み取りや書込みを行うシステム・コールが実行されると入出力が高速になるだけでなく、物理的なwrite()もすぐに生成されます。

OSファイル・システムを使用すると、Oracle Tuxedoではwrite()の実行時を正確に予測したり制御したりすることはできません。しかし、rawディスク領域を使用すると、Oracle Tuxedoで書込み操作を正確に制御できます。このような制御は、Oracle Tuxedoトランザクション・ログのエントリでは特に重要です。また、複数のユーザーがシステムにアクセスしている場合は、データベースの整合性を維持するために、書込み操作を制御できることが重要です。

9.3 rawディスク領域の確保

UNIXシステムでOracle Tuxedoアプリケーションにrawディスク領域を使用する場合、システムのハードディスク・デバイスがすでに/ (root)や/usrなどのファイル・システムに割り当てられていることがあります。その場合は、ハードディスクのパーティションを作成し直して、OSファイル・システム以外の用途に使用できるパーティションを確保する必要があります。パーティションを再度作成する方法については、使用しているプラットフォームのシステム管理者ガイドを参照してください。

9.4 Oracle Tuxedoファイル・システムの構成

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の両方を格納できます。

リストC-1は、単一マシン上のbankapp(サンプル・アプリケーション)構成のVTOCとUDLの例です。

リストC-1 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ファイル・システムの各構成要素のサイズを示したものです。

表9-1 Oracle Tuxedoシステム表のサイズ

要素 ページ(ブロック)数(512バイト/ページ)
VTOC 7
TUXCONFIG 550
TLOG 100 (デフォルト)
UDL 28
TOTAL 685

構成ファイルUBBCONFIG内のエントリがbankappサンプル・アプリケーション内のエントリより多い場合、TUXCONFIGファイルにはこれよりも大きな領域が必要になります。システム管理者は、動的な再構成とアプリケーションの拡張を考慮して、十分な領域を確保してください。tmadminのサブコマンドcrdlでは、デフォルトのブロック・サイズが1000ブロックと想定されています(512バイト/ブロックと仮定して512000バイト)。これは最初のインストールには十分なサイズです。

9.5 キュー・スペースの領域

Oracle Tuxedoアプリケーションで前方格納(store-and-forward)キュー管理に/Qを使用している場合、TUXCONFIGファイルとTLOGが格納されているUDLにキュー・スペースの領域も含めることができます。その場合、Oracle Tuxedo VTOCでキュー・スペースの領域を管理できます。

9.6 アプリケーション・サーバーの領域

Oracle Tuxedoシステムに必要なディスク領域を計算する場合は、アプリケーションにサービスを提供するサーバーに必要な領域も考慮する必要があります。必要な領域はアプリケーションによって指定されます。別に指定がない限り、通常はOracle Tuxedoシステム自体に必要な領域とは関係がありません。