このドキュメントでは、Exalogicプラットフォームの全特別機能を紹介すると共に、その機能を使用してOracle Tuxedoを構成および実行する手順について説明します。
Oracle Tuxedoをインストールする前に、Oracle Exalogicマシンにストレージとネットワークが適切に接続されているか確認します。詳細は、Oracle Exalogicマシン・オーナーズ・ガイドを参照してください。
TUXCONFIG
環境変数によって参照される場所にロードします。 表1は、ExalogicがサポートするOracle Tuxedo機能のリストです。
以前のリリースでは、ローカル・クライアントとリモート・サーバー間のメッセージの転送にはブリッジを介す必要がありました。たとえば、メッセージは最初にIPCキューを介してローカル・ブリッジに送信され、次にローカル・ブリッジはネットワークを介してメッセージをリモート・ブリッジに送信し、リモート・ブリッジはメッセージをサーバーのIPCキューに送信し、最後にサーバーはIPCキューからメッセージを取得します。そのため、同時実行性が高いとブリッジがボトルネックとなってしまいます。このリリースでは、TUXCONFIGファイルでDirect Cross Node Communication Leveraging RDMAを有効化すると、ローカル・クライアントとリモート・サーバーはブリッジをスキップし、メッセージを直接転送します。
以前のOracle Tuxedoリリースでは、tuxedoプロセスは、UNIXセマフォでブロックする前にSPINCOUNTの回数分ユーザー・レベルで掲示板をロックするよう試行していました。通常、プロセスによってユーザー・レベルでロックされるようにSPINCOUNTを適切に指定すれば、パフォーマンスを高めることができます。Oracle Tuxedoアプリケーションでロードが異なると、それぞれ別々のSPINCOUNTが必要になる場合があり、ユーザーは自分でそれを検索する必要があります。このリリースでは、自動チューニング・ロック・メカニズムを有効化すると、実行時のさまざまなロード条件に従いOracle Tuxedoが適切なSPINCOUNTを自動的に検索します。
この機能は、BSDソケットAPIを使用しているOracle Tuxedoコンポーネントを有効化し、Exalogicによって提供されるSDPネットワーク・プロトコルの利点を活用できます(高帯域幅、低レイテンシ、CPU使用率の低下など)。
Oracle Tuxedo 12cでは、同一のTuxedoノードにおけるプロセス間通信でIPCメッセージ・キューのかわりに共有メモリー・キューを用いることで、ExalogicでのTuxedoアプリケーションのパフォーマンスが大幅に改善されました。共有メモリー・キューを使用すると、送信者と受信者のプロセスは、事前に割り当てられたメッセージを共有メモリー内で交換できます。これにより、メッセージが目標とするターゲットに届くまで何度もメッセージをコピーする必要がなくなり、結果的にスループットが大幅に向上するとともに待機時間も短縮されます。
TuxedoドメインおよびWTC (WLS 12.1.1の場合 - WLSのパッチや最新のリリースについてはOracleサポートに連絡してください)全体のグローバル・トランザクションを含む、読取り専用トランザクション用にTuxedoドメイン内全体で分散トランザクション処理を最適化しました。よくある使用状況としては、同一のOracle Databaseインスタンス全体でのグローバル・トランザクションの各ブランチがあります。
Oracle Tuxedo 12cでは、Exalogicシステムでストレージ・アプライアンスの多数のコンピュート・ノード全体で共有アプリケーション・ディレクトリ(APPDIR)を使用できるため、アプリケーション・デプロイメントの管理がより簡単に行えるようになります。
Oracle Tuxedoをインストールする前に、Exalogic環境の現在の状態を理解する必要があります。
Oracle Exalogicマシン・オーナーズ・ガイドに記載されるすべてのタスクは完了済と仮定されます。このガイドでは、データ・センター・サイトの準備、Oracle Exalogicマシンの試験稼動、IPアドレスの割当てを含む初期ネットワーク構成、およびSun ZFS Storage 7320 Applianceの初期設定が説明されています。
Oracle OneCommand
ツールを実行して次のタスクを完了します(Oracle Exalogicマシン・オーナーズ・ガイドのOracle OneCommandを使用したExalogicマシンの初期構成に関する項に記載)。
Oracle Exalogicマシン上のSun ZFS Storage 7320 Applianceの初期構成は、製造時に完了しています。デフォルト共有(Exported File Systems)の詳細は、Oracle Exalogicマシン・オーナーズ・ガイドのデフォルト・ストレージ構成に関する項を参照してください。
初期構成を完了したら、必要に応じてカスタム共有の作成を実行できます。
Oracle Tuxedo製品バイナリは、Sun ZFS Storage 7320アプライアンスの場所にある共有のいずれかにインストールできるため、バイナリを1つコピーすれば任意のExalogicノードでOracle Tuxedoを実行できます。
注意: | 共有ファイル・システムは、すべてのコンピュート・ノードによってアクセス可能である必要があります。各ノードにローカル・ユーザー・アカウントを作成できます。ただし、uidおよびgidは(アクセス権限の問題を避けるため)必ず同一のものにしてください。また、ユーザー用のNISアカウントを作成できます。 |
注意: | 各Oracle Tuxedoごとに異なる実装を使用してOracle Tuxedoプラグイン・インタフェースを開発する場合、Oracle Tuxedoは別々のディレクトリにインストールする必要があります。 |
インストール手順は以前のOracle Tuxedoリリースと同じです。詳細は、『Oracle Tuxedoシステムのインストール』を参照してください。
次は、Exalogicにおけるコンソール・モード・インストールのサンプルです。ここでは、「slce04cn01」というノードでOracle Tuxedoをインストールし、共有ディレクトリ「/home/oracle
」を利用できると仮定しています。
slce04cn01
にログインします。 インストーラをダウンロードしたディレクトリに移動し、次のコマンドを入力してインストール・プログラムを起動します。
prompt>sh./tuxedo111130_64_Linux_01_x86.bin-i console
<ENTER>
を押して続行します。 Oracleホームは、Sun Storage 7000統合ストレージ・システム上の共有ファイル・システムにあり、Oracle Exalogicマシン内のすべてのコンピュート・ノードがアクセスできます。
たとえば、Tuxedoホーム・ディレクトリとして/home/oracle
と入力します。
インストールが完了すると、「tlistenサービスの構成」画面が表示されます。
注意: | 正常に通信を行うためには、Oracle Tuxedoアプリケーション(ドメイン)内のすべてのノードに共通のパスワードが必要になります。このため、1つのアプリケーションに対して複数のコンピュート・ノードでOracle Tuxedoをインストールする場合は、同一のパスワードを使用する必要があります。 「SSLインストールの選択」画面が表示されます。 |
「SSLサポートのためのLDAP設定を入力」画面が表示されます。
<ENTER>
を押してインストーラを終了します。
この項では、ExalogicにおけるOracle Tuxedoの基本機能の構成について説明します。詳細は、『Oracle Tuxedo 12c リリース1 (12.1.1)リリース・ノート』および『Oracle Tuxedoアプリケーションの設定』を参照してください。
Direct Cross Node Communication Leveraging RDMAを使用する場合は、UBBCONFIGファイルの構成が必要になります。
Direct Cross Node Communication Leveraging RDMAがサポートされるのは、MPモードのときのみです。この機能を有効にするには、OPTIONS
でEXALOGIC
とRDMA
の両方を指定する必要があります。指定しないと、メッセージはブリッジに転送されます。
RESOURCE
セクションのDirect Cross Node Communication Leveraging RDMAには1つの属性があります。
*MACHINES
セクションのDirect Cross Node Communication Leveraging RDMAには5つの属性があります。
RDMADAEMONIP
Msgq_daemon
がバインドされるIPアドレス。構成する必要があり、IPoIBアドレスである必要があります(イーサネット・ベースのIPアドレスではありません)。1つの論理マシンには1つのMsgq_daemon
を構成する必要があります。
RDMADAEMONPORT
Msgq_daemon
がリスニングするポート番号。構成する必要があります。
RDMAQSIZE
EMSQキューのサイズ。UBBCONFIGファイルで定義しない場合、デフォルト値は65536バイトです。
RDMAQENTRIES
EMSQキュー・エントリ数。このキューで許可されるメッセージの最大数です。UBBCONFIGファイルで定義しない場合、デフォルト値は64です。
EXALOGIC_MSGQ_CACHE_SIZE
Oracle Tuxedo EMSQキャッシュのエントリ番号。ここで、EXALOGIC_MSGQ_CACHE_SIZE
の機能は、環境変数EXALOGIC_MSGQ_CACHE_SIZE
の機能と同じです。ただし、環境変数は優先度が高くなります。値は32から2048までにする必要があります。EXALOGIC_MSGQ_CACHE_SIZE
は、RDMAが有効な場合にのみ*MACHINE
で指定できます。
*RESOURCES
セクションでRDMAオプションを有効化後。*MACHINES
セクションの「TYPE」属性は設定できません。MPモードのマシンは、RDMA機能をサポートするためデフォルトで(同一の種類の) Exalogicマシンである必要があります。
TM_MIB
を介しても構成を取得/変更できます。詳細は、『ファイル形式、データ記述、MIBおよびシステム・プロセス・リファレンス』を参照してください。
リスト1は、Direct Cross Node Communication Leveraging RDMAが有効な状態のUBBCONFIGサンプル・ファイルです。
*RESOURCES
IPCKEY 87654
MASTER site1,site2
MAXACCESSERS 40
MAXSERVERS 40
MAXSERVICES 40
MODEL MP
OPTIONS LAN,EXALOGIC,RDMA
LDBAL Y
*MACHINES
slce04cn01 LMID=site1
APPDIR="/home/oracle/tuxedo12.1.1.0/samples/atmi/simpapp"
TUXCONFIG="/home/oracle/tuxedo12.1.1.0/samples/atmi/simpapp/tuxconfig"
TUXDIR="/home/oracle/tuxedo12.1.1.0"
UID=601
GID=601
RDMADAEMONIP=”192.168.10.1”
RDMADAEMONPORT=9800
RDMAQSIZE=65536
RDMAQENTRIES=64
slce04cn02 LMID=site2
APPDIR="/home/oracle/tuxedo12.1.1.0/samples/atmi/simpapp/slave"
TUXCONFIG="/home/oracle/tuxedo12.1.1.0/samples/atmi/simpapp/slave/tuxconfig"
TUXDIR="/home/oracle/tuxedo12.1.1.0"
UID=601
GID=601
RDMADAEMONIP=”192.168.10.2”
RDMADAEMONPORT=9800
RDMAQSIZE=65536
RDMAQENTRIES=64
*GROUPS
GROUP1
LMID=site1 GRPNO=1 OPENINFO=NONE
GROUP2
LMID=site2 GRPNO=2 OPENINFO=NONE
*NETWORK
site1 NADDR="//slce04cn01:5432"
NLSADDR="//slce04cn01:5442"
site1 NADDR="//slce04cn02:5432"
NLSADDR="//slce04cn02:5442"
*SERVERS
DEFAULT:
CLOPT="-A"
simpserv SRVGRP=GROUP2 SRVID=3
*SERVICES
TOUPPER
自動チューニング・ロック・メカニズムを有効にするには、UBBCONFIGファイルの*RESOURCE
セクションでEXALOGIC
とSPINTUNING
オプションを指定する必要があります。この機能を有効にすると、*MACHINE
のSPINCOUNT
は設定できません。
*MACHINES
セクションには2つのオプション属性が追加されました。
詳細は、『ファイル形式、データ記述、MIBおよびシステム・プロセス・リファレンス』のUBBCONFIG(5)およびUBBCONFIG(5)の追加情報の例2 自動チューニング・ロック・メカニズムの構成に関する項を参照してください。
TM_MIB
を介して構成することもできます。詳細は、 『ファイル形式、データ記述、MIBおよびシステム・プロセス・リファレンス』のTM_MIB(5)に関する項を参照してください。
リスト2は、自動チューニング・ロック・メカニズムが有効な状態のUBBCONFIGサンプル・ファイルです。
*RESOURCES
IPCKEY 123456
DOMAINID simpapp
MASTER ALLEN
MAXACCESSERS 10
MAXSERVERS 5
MAXSERVICES 10
MODEL SHM
LDBAL N
OPTIONS EXALOGIC,SPINTUNING
*MACHINES
ALLENHOST LMID="ALLEN"
APPDIR="/home/allen/Workspace/Tuxedo10/simpdir"
TUXCONFIG="/home/allen/Workspace/Tuxedo10/simpdir/tuxconfig"
TUXDIR="/home/allen/Software/OraHome/tuxedo11gR1"
SPINTUNING_FACTOR=1000
SPINTUNING_MINIDLECPU=20
*GROUPS
GROUP1
LMID=ALLEN GRPNO=1 OPENINFO=NONE
*SERVERS
DEFAULT:
CLOPT="-A"
simpserv SRVGRP=GROUP1 SRVID=1
*SERVICES
TOUPPER
Oracle Tuxedo SDPサポートを有効にするには、* RESOURCE
セクションにあるOPTIONS
のEXALOGIC
を指定し、UBBCONFIGファイルまたはDMCONFIGファイルで関連する構成を設定します。
TM_MIB
を介しても構成を取得/変更できます。詳細は、『ファイル形式、データ記述、MIBおよびシステム・プロセス・リファレンス』を参照してください。
要件によれば、MPはIBクラスタ内で機能する必要があります。つまり、マスター・マシンとスレーブ・マシンが両方ともIBクラスタ内にあるため、SDPとIPoIBはIBクラスタ内で使用され、bootstrapフェーズでは、tmboot
、tlisten
、bsbridge
およびbridge
が相互通信を行うためにソケットAPIを使用していることのみを考慮します。
ネットワーク・アドレスの接頭辞「sdp:」とネットワーク・アドレスはIPoIBアドレスである必要があります。リスト3はUBBCONFIGファイルのSDPの例です。
*NETWORK
SITE1
NADDR="sdp://IB_IP: 9003"
NLSADDR="sdp://IB_IP: 3050”
SITE2
NADDR="sdp://IB_IP: 9003"
NLSADDR="sdp://IB_IP: 3050"
To start tlisten:
tlisten – d /dev/tcp – l sdp://IB_IP: 3050
IPoIBアドレスをネットワーク・アドレスとして使用します。
リスト4はUBBCONFIGファイルのIPoIB構成例です。
*NETWORK
SITE1
NADDR="//IB_IP: 9003"
NLSADDR="//IB_IP: 3050
SITE2
NADDR="//IB_IP: 9003"
NLSADDR="//IB_IP: 3050"
To start tlisten:
tlisten – d /dev/tcp – l //IB_IP: 3050
GWTDOMAINを実行しているノードに複数のIPアドレスを持つ複数のネットワーク・インタフェース(マルチホーム型)がある場合、DMCONFIGファイルでGWTDOMAINを個背うしする場合、ホスト名のかわりに明示的なIPアドレスを使用することをお薦めします。通常、すべてのExalogicノードには、IBインタフェースとイーサネット・インタフェースという少なくとも2種類のネットワーク・インタフェースがあります。GWTDOMAINを構成する方法を説明するに当たり分かりやすくするため、IBインタフェースはIPアドレス「IB_IP」に対してバインドされ、イーサネット・インタフェースはIPアドレス「ETH_IP」を持つと仮定します。
機能として、GWTDOMAINはサーバーとクライアントの両方の役割を果たします。サーバーの役割としては、DMCONFIGファイルで構成済のIPアドレスとポート番号をリスニングし、他のGWTDOMAINからの接続リクエストを受け入れます。クライアントの役割としては、DMCONFIGファイルで構成されたポリシーによって他のGWTDOMAINへの接続リクエストを開始します。
ネットワーク・アドレスの接頭辞「sdp:」とネットワーク・アドレスは、リスト5で示すようにIPoIBアドレスである必要があります。
*DM_LOCAL
SCLCU03 GWGRP=DOMGRP
TYPE=TDOMAIN
*DM_TDOMAIN
SCLCU03 NWADDR="sdp://IB_IP: 27610"
ネットワーク・アドレスの接頭辞「sdp:」とネットワーク・アドレスは、リスト6で示すようにIPoIBアドレスである必要があります。
*DM_LOCAL
SCLCU03 GWGRP=DOMGRP
TYPE=TDOMAIN
*DM_REMOTE
SCLCU05 TYPE=TDOMAIN
DOMAINID="EXALOGIC_SCLCU05"
*DM_TDOMAIN
SCLCU05 NWADDR="sdp://IB_IP: 27610"
ネットワーク・アドレスとしてIPoIBアドレスを使用します。次はIPoIBのDMCONFIGファイルの構成例です。
*DM_LOCAL
SCLCU03 GWGRP=DOMGRP
TYPE=TDOMAIN
*DM_TDOMAIN
SCLCU03 NWADDR="//IB_IP: 27610"
ネットワーク・アドレスとしてIPoIBアドレスを使用します。次はIPoIBのDMCONFIGファイルの構成例です。
*DM_LOCAL
SCLCU03 GWGRP=DOMGRP
TYPE=TDOMAIN
*DM_REMOTE
SCLCU05 TYPE=TDOMAIN
DOMAINID="EXALOGIC_SCLCU05"
*DM_TDOMAIN
SCLCU05 NWADDR="//IB_IP: 27610"
ネットワーク・アドレスの接頭辞「sdp:」とネットワーク・アドレスは、リスト9で示すようにIPoIBアドレスである必要があります。
*SERVERS
DEFAULT: CLOPT="-A"
WSL SRVGRP=WSGRP SRVID=1001
CLOPT="-A -- -nsdp://IB_IP: 11101 -m1 -M10 -x1"
リスト10で示すようにネットワーク・アドレスとしてIPoIBアドレスを使用します。
*SERVERS
DEFAULT: CLOPT="-A"
WSL SRVGRP=WSGRP SRVID=1001
CLOPT="-A -- -n //IB_IP: 11101 -m1 -M10 -x1"
ネットワーク・アドレスの接頭辞「sdp:」とネットワーク・アドレスは、リスト11で示すようにIPoIBアドレスである必要があります。
*SERVERS
DEFAULT: CLOPT="-A"
JSL SRVGRP=WSGRP SRVID=1001
CLOPT="-A -- -nsdp: //IB_IP: 11101 -m1 -M10 -x1"
ネットワーク・アドレスとしてIPoIBアドレスを使用します。次はIPoIBを有効にした状態のUBBCONFIGファイルの構成例です。
*SERVERS
DEFAULT: CLOPT="-A"
JSL SRVGRP=WSGRP SRVID=1001
CLOPT="-A -- -n //IB_IP: 11101 -m1 -M10 -x1"
WTCとOracle Tuxedo間のSDP接続を有効化するには、次の手順を実行します。
注意: | WTCアクセス・ポイントでSSLが有効化されると、SDPを構成した後、SSL構成が無視されます。 |
注意: | SDPを介してOracle Tuxedoに接続できるのは、Weblogic Server 12c (12.1.1)以上のみです。詳細は、「SDPトランスポートのIPv4の有効化」、「WTCローカルTuxedo Domain構成のNWAddr属性」、および「WTCリモートTuxedo Domain構成のNWAddr属性」を参照してください。 |
この機能を有効にするには、EXALOGIC
およびSHMQ
の各オプションをUBBCONFIG
ファイルの*RESOURCE
セクションで指定する必要があります。
*RESOURCE
セクションでは、さらに次の別のオプション属性が用意されています。
SHMQMAXMEM
numeric_value
この属性を使用して、メッセージ・バッファに使用される最大共有メモリー・サイズを指定できます。SHMQMAXMEM
を使用するには、オプションSHMQ
を指定する必要があります。
numeric_value
の範囲は1から96000以下です。SHMQMAXMEM
が構成されていないか、またはその値が小さすぎるにもかかわらずSHMQ
が指定されている場合、推奨最小値が使用されます。
推奨最小値を取得するには、tmloadcf – c
を実行します。詳細については、tmloadcf(1)
を参照してください。
このXA用の読取り専用最適化機能については、UBBCONFIG
の*RESOURCES
セクションに新しいオプションが用意されています。
OPTIONS {[…|RDONLY1PC],*}
EXALOGIC
がすでに指定されている場合のみです。また、NO_XA
が指定されている場合は、RDONLY1PC
を同時に指定することはできません。
*RESOURCES
OPTIONS LAN,EXALOGIC,RDONLY1PC
TM_MIB
を介しても構成を取得/変更できます。詳細は、『ファイル形式、データ記述、MIBおよびシステム・プロセス・リファレンス』を参照してください。
Oracle Tuxedoシステムは、X/Open XAインタフェースを使用して様々なリソース・マネージャと通信します。XA規格は、あらゆる主要データベース・ベンダー製品で幅広くサポートされています。
Oracle Databaseの起動には、SDP (Sockets Direct Protocol)を使用できます。Oracle Tuxedoアプリケーションには特別な要件はありません。
『Oracle Database Net Services管理者ガイド』のデータベース・サーバーへのInfinibandネットワーク通信用SDPプロトコル・サポートの構成に関する項に記載されているように、データベースがInfiniBandをサポートするように構成してください。
注意: | 次のSDPパラメータは、大容量データ・ブロックをデータベースに送信する際、パフォーマンスに影響を与えます。 |
たとえば、サーバー・ノード上で「/etc/modprobe.conf
」の2つのパラメータを次のように設定できます。
ib_sdp sdp_zcopy_thresh=0 recv_poll=0
のオプション
Oracle Tuxedoを起動する前に、Direct Cross Node Communication Leveraging RDMAが有効な状態ですべてのExalogicノードに共有ディレクトリがあるか確認します。また、アクセス権限が適切に設定されているか確認します。
デフォルト名は/u01/common/patches/tuxtmpfile
です。また、EXALOGIC_SHARED_PATH
環境変数を使用すると、独自のディレクトリを設定できます。これは、Oracle Tuxedoファイル転送に使用されます。EMSQがフルか、メッセージ・サイズがキュー・サイズを超過する場合、Oracle Tuxedoはこのメッセージを/u01/common/patches/tuxtmpfile
ディレクトリ直下の一時ファイルに保存し、リモート・プロセス・キューに通知を直接送信します。リモート・プロセスは通知を受信するかぎり、ファイルを取得できます。
EXALOGICオプションとMPモードが両方とも設定され有効化されている場合のみ、Oracle TuxedoアプリケーションをMP環境(共有アプリケーション・ステージングという名前)のExalogicで共有ディレクトリにデプロイできます。Oracle Tuxedoアプリケーションを起動する前に、UBBCONFIGファイルで次のパラメータが正しく設定されているか確認します。
上記のほか、明確なロギング・システムを持つには各ノードで固有のTMIFRSVR
リポジトリ・ファイル、標準出力/エラー・ファイル、AUDITLOGファイルおよびALOGPFXを使用することをお薦めします。共有アプリケーション・ステージング機能を最適に使用するには、すべてのアプリケーションに固有の名前を設定する必要があります。
リスト14は、UBBCONFIGファイルの共有APPDIRの例です。
…
*MACHINES
slce04cn01 LMID=site1
APPDIR="/home/oracle/tuxapp"
TUXCONFIG="/home/oracle/tuxapp/tuxconfig_cn01"
TUXDIR="/home/oracle/tuxedo11gR1"
TLOGDEVICE=”/home/oracle/tuxapp/TLOG1”
ULOGPFX="/ home/oracle/tuxapp /ULOG_cn01"
RDMADAEMONIP="192.168.10.1"
RDMADAEMONPORT=9800
RDMAQSIZE=1048576
RDMAQENTRIES=1024
slce04cn02 LMID=site2
APPDIR=" home/oracle/tuxapp"
TUXCONFIG=" home/oracle/tuxapp/tuxconfig_cn02"
TUXDIR="/home/oracle/tuxedo11gR1"
TLOGDEVICE=”/home/oracle/tuxapp/TLOG2”
ULOGPFX="/home/oracle/tuxapp /ULOG_cn02"
RDMADAEMONIP="192.168.10.2"
RDMADAEMONPORT=9800
RDMAQSIZE=1048576
RDMAQENTRIES=1024
…
EXALOGICオプションまたMPモードのいずれも設定されていないにかかわらずSECUTIRYがUBBCONFIGファイルに設定されている場合、共有APPDIRは使用できません。その場合、別のAPPDIRを使用して各ノード用にコピーを用意する必要があります。
/etc/securitylimits.conf
のmemlock
を正しく設定します。次の式を使用して最小値を取得します。
[Msgq_daemon
共有メモリー・サイズ]*2 + MAXACCESSERS *14 000 kb
Msgq_daemon
共有メモリー・サイズ: Msgq_daemon
によって割り当てられた共有メモリーのサイズ。詳細は、「tux_msgq_monitorの起動/停止」を参照してください。
MAXACCESSERS
: UBBCONFIGファイル内の属性。
Msgq_daemon
共有メモリー・サイズ: 200*1024*1024バイト
/etc/security/limits.conf
でmemlock
を次のように設定します。
Oracle Tuxedoスレッドにはそれぞれ、EMSQランタイム・キャッシュがあります。デフォルトのエントリ数は32です。この値は、Oracle Tuxedoアプリケーションが起動する前にEXALOGIC_MSGQ_CACHE_SIZE
環境変数を使用すると、32から2048までの値に変更できます。数字を大きくすると、Oracle Tuxedoのパフォーマンスが向上しますが、Msgq_daemon
の共有メモリー消費量も増えます。
1つのプロセスが複数のキューに対してメッセージを送信する場合、この環境変数を使用するとパフォーマンスを向上できます。次の例を参照してください。
Direct Cross Node Communication Leveraging RDMAが有効な状態の場合、Exalogic以外のプラットフォームでOracle Tuxedoを実行する方法は異なります。Oracle Tuxedoアプリケーションを起動する前に、tux_msgq_monitor
を起動しておく必要があります。この項には次のトピックが含まれます:
tux_msgq_monitor
の起動 tux_msgq_monitor
は、Msgq_daemon
デフォルト・モニターとして機能します。Msgq_daemon
の起動とその実行状況の確認を行います。Msgg_daemon
が異常終了すると、tux_msgq_monitor
を使用して再起動します。
Oracle Tuxedoアプリケーションを起動する前に、tux_msgq_monitor
を起動する必要があります。1つのモニターがサービスを提供できるのは、1つの論理マシン上の1つのOracle Tuxedoアプリケーションのみです。
tux_msgq_monitorを起動する前に、TUXCONFIG
、LD_LIBRARY_PATH
およびTUXDIR
の各環境変数が適切に設定されているか確認します。次のようにtux_msgq_monitor
を実行します。
tux_msgq_monitor -i <IPoIBアドレス> -d <ポート番号> -M <共有メモリー・サイズ> -K <Msgq_daemonによって使用される共有メモリー・キー>.
表2はtux_msgq_monitor
オプションのリストです。
tux_msgq_monitor
の実行時、tux_msgq_monitor
およびMsgq_daemon
という2つのアクティブ・プロセスがあります。
起動/停止処理を簡略化するシェル・スクリプトがいくつかあります。これらのツールを使用すると、1つのコマンドを実行するだけでtux_msgq_monitor
とOracle Tuxedoアプリケーションの路湯方を起動/停止できます。これらのコマンドを実行する前に、TUXCONFIG
、LD_LIBRARY_PATH
およびAPPDIR
の各環境変数が適切に設定されているか確認します。
たとえば、マスター・ノードでは次を実行するとOracle Tuxedoを起動/停止できます。
スレーブ・ノードには、次の2つのシェル・スクリプトがあります。
tlisten_start.sh – l nlsaddr – i daemon_ip – d daemon_port – M shm_size – K shm_key
このスクリプトは、tux_msgq_monitor
およびtlisten
を起動します。
tlisten_stop.sh:
このスクリプトは、tlisten
およびtux_msgq_monitor
を終了します。
注意: | MPモードで起動する場合、次の順序でコマンドを実行する必要があります。 1. tmlisten_start.sh を全スレーブ・ノードで実行。2. tmboot.sh をマスター・ノードで実行。シャットダウンする場合、次の順序でコマンドを実行する必要があります。 1. tmshut.sh をマスター・ノードで実行。2. tmlisten_stop.sh を全スレーブ・ノードで実行。 |
Msgq_daemon
が起動すると、共有メモリーを割り当てます。リスト15
に示すように、tmloadcf -c ubbを使用するとメモリー・サイズを取得できます。
*MACHINES
ex03 LMID=site1
…
RDMADAEMONIP="192.168.10.1"
RDMADAEMONPORT=9800
RDMAQSIZE=100000
RDMAQENTRIES=100
MAXACCESSERS=100
…
ex03_1 LMID=site2
…
RDMADAEMONIP="192.168.10.2"
RDMADAEMONPORT=9800
RDMAQENTRIES=1000
MAXACCESSERS=200
…
ex04 LMID=site3
…
RDMADAEMONIP="192.168.10.3"
RDMADAEMONPORT=9800
RDMAQSIZE=100000
RDMAQENTRIES=100
MAXACCESSERS=200
MAXSERVERS=100
…
ex04_1 LMID=site4
…
RDMADAEMONIP="192.168.10.4"
RDMADAEMONPORT=9800
RDMAQSIZE=1000000
RDMAQENTRIES=1000
MAXACCESSERS=100
…
コマンドtmloadcf -c ubb
を実行し、リスト16で示すように出力を取得します。
Ipc sizing (minimum /T values only) ...
Fixed Minimums Per Node
SHMMIN: 1
SHMALL: 1
SEMMAP: SEMMNI
Variable Minimums Per Node
SEMUME, A SHMMAX
SEMMNU, * *
Node SEMMNS SEMMSL SEMMSL SEMMNI MSGMNI MSGMAP SHMSEG RCDMSZ
----- ----- ----- ---- ------- ----- ------ ------ ------
ex03 126 15 120 A + 2 26 52 1178K 220M
ex04 221 28 220 A + 1 26 52 1340K 340M
ex04_1 121 15 120 A + 1 26 52 1178K 1300M
ex03_1 221 28 220 A + 1 25 50 1340K 2500M
UBBで構成済の次の項目のいずれかの値を大きくすると、RCDMSZも連動して増えます。
RCDMSZ
を取得後、次のランタイム要素に従い実際のサイズを調整できます。
パフォーマンス上の理由から、キューが破棄された後に共有メモリー・リソースはその直後に解放されません。プロセスの起動/停止頻度を多くするほど、キューの作成/破棄の頻度を多くするほど、古いキューがリソースに占める割合が多くなります。次の式を使用して、できるだけ多く共有メモリーを割り当てる必要があります。
EXALOGIC_MSGQ_CACHE_SIZE
環境変数が設定されている場合、最大で3* EXALOGIC_MSGQ_CACHE_SIZE* MAXSERVERS* RDMAQSIZE
バイト以上の共有メモリーを割り当てる必要があります。
たとえば、MAXSERVERSが100、RDMAQSIZE
は100000、マシンex04
上の起動/停止プロセスが頻繁な場合、共有メモリー・サイズを340Mではなく、最大の1300M (340M+960M)として構成する必要があります。
UBBCONFIGファイル内のマシン数は、RCDMSZ
の計算時に考慮されます。MIBを使用して新しいマシンが追加する場合、サイズも連動して増やす必要があります。
一部の使用環境では、EXALOGIC_MSGQ_CACHE_SIZE
を使用してキュー・キャッシュ・エントリ数を増やすと、Msgq_daemon
が共有メモリーをさらに割り当てる必要があります。たとえば、Oracle Tuxedoプロセスの起動/停止
またはtpinit/tpterm
の頻度が高い場合、Msgq_daemon
の初期共有メモリー・サイズを調整することを検討する必要があります。調整しないと、メッセージ転送が失敗する場合があります。
Oracle Tuxedoスレッドのそれぞれのデフォルト値は32、tmloadcf -c
は常に値として32を想定しています。デフォルト値を変更する場合は、次のメソッドを使用してMsgq_daemon
の共有メモリー・サイズを調整します。
注意: | マシン・レベルでEXALOGIC_MSGQ_CACHE_SIZE を設定する場合のみ、このメソッドを使用してサイズを調整できます。 |
OVMで実行されるOracle Tuxedoには特別な要件がありません。
SALT 11gR1 11.1.1.2.0およびTMA 11gR1 11.1.1.2.0をExalogicにインストールする前に、次に示すようにpreinstallを最初に実行する必要があります。
preinstall <Oracle Home>
<Oracle Home>: The directory you specified when Oracle Tuxedo installation.
インストール後、postinstallを実行します。次に例を示します。
postinstall <Oracle Home >
<Oracle Home>: The directory you specified when Oracle Tuxedo installation.
Exalogic機能を使用しない場合、特別な要件はありません。詳細は、『Oracle Tuxedo相互運用性ガイド』を参照してください。
注意: | Exalogic機能のいずれかが有効な場合、Oracle Tuxedo 12c (12.1.1)がサポートするのはTuxedo 11gR1 (11.1.1.3.0)からのホット・アップグレードのみです。 |