Oracle Tuxedo on Exalogicユーザーズ・ガイド

     前  次    新規ウィンドウで目次を開く    PDFとして表示 - 新規ウィンドウ  Adobe Readerを入手 - 新規ウィンドウ
コンテンツはここから始まります

Oracle Tuxedo/Oracle Exalogic
ユーザーズ・ガイド

この章には次のトピックが含まれます:

 


概要

この項の内容は次のとおりです。

このガイドについて

このドキュメントでは、ExalogicのためのすべてのOracle Tuxedo最適化を紹介します。このドキュメントを使用すれば、ExalogicでTuxedoを簡単にインストール、構成および実行できるようになります。

Oracle Exalogicについて

Oracle Exalogicは、演算処理、ネットワーキングおよび記憶域ハードウェアを仮想化、オペレーティング・システムおよび管理ソフトウェアと統合するエンジニアド・システムです。広範なビジネス・アプリケーション・ワークロードに対応するために卓越したパフォーマンス、信頼性、可用性、スケーラビリティおよび投資保護を提供します。

Oracle ExalogicのためのOracle Tuxedo最適化について

11.1.1.3.0以降、Oracle TuxedoではOracle Exalogicプラットフォーム向けの多数の最適化を提供しています。表1に、Exalogicがサポートする機能を示します。

表1 ExalogicがサポートするOracle Tuxedo機能
機能名
Oracle Tuxedoバージョン
Direct Cross Node Communication Leveraging RDMA
Oracle Tuxedo 11gR1 (11.1.1.3.0)以上
Direct Cross Domain Communication Leveraging RDMA
Oracle Tuxedo 12cR2 (12.1.3)以上
自動チューニング・ロック・メカニズム
Oracle Tuxedo 11gR1 (11.1.1.3.0)以上
Oracle Tuxedo SDPサポート
Oracle Tuxedo 11gR1 (11.1.1.3.0)以上
共有メモリー・プロセス間通信
Oracle Tuxedo 12cR1 (12.1.1)以上
RACの部分的1フェーズ読取り専用最適化
Oracle Tuxedo 12cR1 (12.1.1)以上
共有アプリケーション・ステージング
Oracle Tuxedo 12cR1 (12.1.1)以上
ドメインをまたがる密結合トランザクション
Oracle Tuxedo 12cR1 (12.1.1)以上
XAトランザクション・アフィニティ
Oracle Tuxedo 12cR2 (12.1.3)以上
共通XID
Oracle Tuxedo 12cR2 (12.1.3)以上
Single Group Multiple Branches (SGMB)
Oracle Tuxedo 12cR2 (12.1.3)以上
データベース・インスタンス間のフェイルオーバー/フェイルバック
Oracle Tuxedo 12cR2 (12.1.3)以上
RACインスタンス間のロード・バランシング
Oracle Tuxedo 12cR2 (12.1.3)以上
同時グローバル・トランザクション表ロック
ローリング・パッチ040が適用されたOracle Tuxedo 12cR2 (12.1.3)以上

注: Oracle Tuxedo 12cR2 (12.1.3)以降、Direct Cross Node Communication Leveraging RDMAおよびDirect Cross Domain Communication Leveraging RDMAを除き、すべての最適化がExalogic Linux 64bitおよびSPARC 64bitの両方をサポートしています。
注: Oracle Linux 32ビット・プラットフォーム上のOracle Tuxedo 12.1.3.0.0 RP020以降、Direct Cross Node Communication Leveraging RDMA、Direct Cross Domain Communication Leveraging RDMA、Oracle Tuxedo SDP SupportおよびShared Applications Stagingを除き、すべての最適化がExalogic Linux 32ビットをサポートしています。
注: これらの機能の詳細は、「ExalogicでのTuxedo最適化」を参照してください。

ExalogicでのTuxedo最適化

Direct Cross Node Communication Leveraging RDMA

これはTuxedo 11.1.1.3.0の新機能であり、MPモード下でTuxedoアプリケーションのパフォーマンスを著しく向上できます。

以前のリリースでは、ローカル・クライアントとリモート・サーバー間のメッセージの転送にはブリッジを介す必要がありました。たとえば、メッセージは最初にIPCキューを介してローカル・ブリッジに送信され、次にローカル・ブリッジはネットワークを介してメッセージをリモート・ブリッジに送信し、リモート・ブリッジはメッセージをサーバーのIPCキューに送信し、最後にサーバーはIPCキューからメッセージを取得します。そのため、同時実行性が高いとブリッジがボトルネックとなってしまいます。InfinibandのRDMA機能を利用することにより、Tuxedo 11.1.1.3.0では、「Direct Cross Node Communication Leveraging RDMA」の新機能が導入され、ローカル・クライアントがリモート・サーバーに直接メッセージを転送する機能を提供しています。

構成方法の詳細は、「Oracle Tuxedoの構成」を参照してください。

Direct Cross Domain Communication Leveraging RDMA

以前のリリースでは、ローカル・ドメインとリモート・ドメイン間のメッセージの転送にはドメイン・ゲートウェイ(GWTDOMAIN)を介す必要がありました。たとえば、メッセージは最初にIPCキューを介してローカルGWTDOMAINに送信され、次にローカルGWTDOMAINはネットワークを介してメッセージをリモートGWTDOMAINに送信し、リモートGWTDOMAINはメッセージをサーバーのIPCキューに送信し、最後にサーバーはIPCキューからメッセージを取得します。そのため、同時実行性が高いとドメイン・ゲートウェイがボトルネックとなってしまいます。このリリースでは、TUXCONFIGファイルでDirect Cross Domain Communication Leveraging RDMAを有効化すると、ローカル・クライアントとリモート・サーバーはドメイン・ゲートウェイをスキップし、メッセージを直接転送します。

構成方法の詳細は、「Oracle Tuxedoの構成」を参照してください。

自動チューニング・ロック・メカニズム

この機能を使用すると、CPUサイクルを最大限に活用できるようにSPINCOUNTの値を動的に調整できます。

Tuxedoの掲示板(BB)は、すべてのアプリケーション構成情報および動的処理情報が実行時に格納されるメモリー・セグメントです。Tuxedoシステムの一部の操作(サービス名のルックアップやトランザクションなど)では、掲示板をロックし、掲示板へのアクセスを1つのプロセスのみに制限する場合があります。プロセスまたはスレッドにより、掲示板が別のプロセスまたはスレッドでロックされていることが検出されると、再試行するか、ロック・スピンをSPINCOUNT回数行ってから(スピンを介したユーザー・レベル・メソッド)、この操作をやめて、待機キューでスリープ状態に入ります(システム・セマフォを介したシステム・レベル・メソッド)。スリープ状態はリソースを消費するため、一定のロック・スピンを行ってからスリープ状態になるように設定しておく方が効率的です。

SPINCOUNTパラメータの値は、アプリケーションおよびシステムによって異なるため、管理者は異なるSPINCOUNT値の下でアプリケーション・スループットを確認して、SPINCOUTが適切な値になるように手動で調整する必要があります。

自動チューニング・ロック・メカニズムにより、ジョブのチューニングを自動的に行います。SPINCOUNT値が適切な値になるように設計されているため、掲示板をロックするほとんどのリクエストが、待機キューでスリープ状態になるのではなく、ロック・スピンを行うことによって完了します。

Oracle Tuxedo 12cリリース2 (12.1.3)では、自動チューニング・ロック・メカニズムのアルゴリズムが改良され、チューニングが以前よりも正確になりました。

詳細は、Oracle Tuxedo Advanced Performance Packの使用を参照してください。

Oracle Tuxedo SDPサポート

InfiniBandベースのネットワーク・ハードウェアを使用することの利点の1つは、ソケット・ダイレクト・プロトコル(SDP)を利用する機能です。このプロトコルを使用して、アプリケーションは通常のソケット・インタフェースを介して互いに通信できますが、順序付け、断片化、タイムアウト、再試行などのTCP/IPに関連したネットワーク処理を回避できます。これはInfiniBandハードウェアがこのような内容を扱うからです。また、SDPは、InfiniBandハードウェアが呼出し側のアドレス領域からバッファを直接転送することが可能な、ゼロ・コピー転送もサポートします。

SDPを利用することにより、Tuxedoアプリケーションはネットワーク処理で消費されるCPU量を減らすとともに、ネットワーク処理のスループット全体を向上させることができます。SDPは、ブリッジ間通信を含むすべてのTuxedoネットワーク接続で、他のTuxedoドメインと通信するためのドメイン・ゲートウェイGWTDOMAINで、ワークステーションやJoltクライアント用に、およびWebLogic Tuxedo Connectorを介したWebLogic Serverとの通信に使用できます。

構成方法の詳細は、「Oracle Tuxedoの構成」を参照してください。

共有メモリー・プロセス間通信

Oracle Tuxedo 12cリリース2 (12.1.3)では、同一のTuxedoノードにおけるプロセス間通信でIPCメッセージ・キューのかわりに共有メモリー・キューを用いることで、ExalogicでのTuxedoアプリケーションのパフォーマンスが大幅に改善されました。共有メモリー・キューを使用すると、送信者と受信者のプロセスは、事前に割り当てられたメッセージを共有メモリー内で交換できます。これにより、メッセージが目標とするターゲットに届くまで何度もメッセージをコピーする必要がなくなり、結果的にスループットが大幅に向上するとともに待機時間も短縮されます。

詳細は、Oracle Tuxedo Advanced Performance Packの使用を参照してください。

RACの部分的1フェーズ読取り専用最適化

この機能では、XAのリソース・マネージャの読取り専用最適化を利用します。2フェーズ・コミット・シナリオでは、準備リクエストが予約グループを除く参加グループに同期されます。これらのグループのすべてのトランザクション・ブランチが読取り専用の場合、Tuxedoは予約グループで1フェーズ・コミットを直接実行します。これは、(予約グループへの)1つの準備リクエストが省略され、TLOGの記述が無視されることを意味します。

TuxedoドメインおよびWTCを介したWLS間のグローバル・トランザクションを含む、ドメイン内またはドメイン間のいずれのトランザクションもサポートされます(WLS 12.1.1の場合、WLSのパッチ、または以降のリリースについて、Oracleサポートにお問い合せください)。

詳細は、Oracle Tuxedo Advanced Performance Packの使用を参照してください。

共有アプリケーション・ステージング

Oracle Tuxedo 12cでは、Exalogicシステムでストレージ・アプライアンスの多数のコンピュート・ノード全体で共有アプリケーション・ディレクトリ(APPDIR)を使用できるため、アプリケーション・デプロイメントの管理がより簡単に行えるようになります。

構成方法の詳細は、「Oracle Tuxedoの構成」を参照してください。

ドメインをまたがる密結合トランザクション

Oracle Tuxedo 11.1.1.3.0以前は、異なるドメインでは異なるグローバル・トランザクション識別子(GTRID)が使用されるため、トランザクションのブランチが同じデータベース上で実行される場合でも、ドメインをまたがるトランザクションは疎結合されます。Oracle Tuxedo 12.1.1以降、共通GTRIDがデフォルトで導入され、ドメインをまたがるグローバル・トランザクション内のブランチで共通GTRIDが使用されます。ブランチは同一データベースで実行されている場合には密結合されます(データベースが許可している場合)。

詳細は、Oracle Tuxedo Advanced Performance Packの使用を参照してください。

XAトランザクション・アフィニティ

XAトランザクション・アフィニティは、可能な場合に、1つのグローバル・トランザクション内のすべてのOracleデータベース・リクエストを同一のOracle RACインスタンスにルーティングする機能を提供します。そのリクエストがOracle Tuxedoアプリケーション・サーバーからのものか、Oracle WebLogic Serverからのものかは関係ありません。この機能により、データベース要求を新しいOracle RACインスタンスにリダイレクトするコストを削減できるため、アプリケーション・パフォーマンス全体が向上します。

詳細は、Oracle Tuxedo Advanced Performance Packの使用を参照してください。

共通XID

以前のリリースでは、グローバル・トランザクションの場合、参加しているグループごとに独自のトランザクション・ブランチを持ち、一意のトランザクション・ブランチ識別子(XID)が各ブランチを識別していました。グローバル・トランザクションに複数のグループが含まれる場合、Tuxedoでは各ブランチで2フェーズ・コミットを採用し、最初に参加しているグループをコーディネータとみなします。

このリリースの共通XID (トランザクション・ブランチ識別子)機能を使用して、Tuxedoは同一グローバル・トランザクション内の他のすべてのグループとコーディネータ・グループのXIDを共有します。以前のリリースでは、複数グループが参加している場合は、各グループが自身のXIDを持つために2フェーズ・コミットを必要としましたが、これとは対照的です。

共通XIDは、コーディネータ・ブランチを直接使用するため、同一のサービスを介して同一のOracle RACインスタンスに接続するグループに対するXAコミット操作が不要です。

グローバル・トランザクションのすべてのグループがコーディネータ・ブランチを直接使用する場合、(2フェーズ・コミット・プロトコルではなく)1フェーズ・コミット・プロトコルが使用されるため、TLOGの書込みは行われません。

詳細は、Oracle Tuxedo Advanced Performance Packの使用を参照してください。

Single Group Multiple Branches (SGMB)

以前のリリースでは、同一の参加グループのサーバーはグローバル・トランザクション内の同一トランザクション・ブランチを使用しています。これらのサーバーが同一RACの異なるインスタンスに接続する場合は、トランザクション・ブランチは失敗し、XAエラーXAER_AFFINITYが報告されます。これは、1つのブランチでは複数のインスタンスを通過できないことを示しています。このような理由から、Tuxedoグループで使用できるのは、シングルトンRACサービスのみです。DTPサービス(DTPオプションであるsrvctl内の-xが指定されている場合)または1つのインスタンスのみで提供されるサービスを、シングルトンRACサービスに指定できます。

このリリースでは、この機能により、サーバー・グループ内の複数サーバーが同一のグローバル・トランザクションに参加している場合の、シングルトンRACサービスの使用が不要になります。同一サーバー・グループおよび同一グローバル・トランザクションのサーバーが異なるRACインスタンスに接続している場合は、別のトランザクション・ブランチが使用されます。これにより、このようなアプリケーションは、使用可能なRACインスタンス間でロード・バランシングを実行できるようになります。

詳細は、Oracle Tuxedo Advanced Performance Packの使用を参照してください。

注: 1つのグループに16を超えるインスタンスが含まれる場合、トランザクションは依然として失敗します。

データベース・インスタンス間のフェイルオーバー/フェイルバック

高速アプリケーション通知(FAN)は、データベース・クライアントがデータベースの状態の変化を知ることができる、Oracle Databaseによって提供される機能です。これらの通知によって、アプリケーションはRACノードの計画停止やデータベースの負荷の不均衡などのイベントに対してプロアクティブに対応できます。Tuxedoは、新しいシステム・サーバーTMFANによってFAN通知のサポートを提供します。このシステム・サーバーでOracle RACインスタンスをモニターし、データベース・インスタンスの起動または停止の場合にTuxedoアプリケーション・サーバーに通知して新規データベース接続を確立できます。

詳細は、Oracle Tuxedo Advanced Performance Packの使用を参照してください。

RACインスタンス間のロード・バランシング

FAN通知に基づいてTuxedo TMFANサーバーは、各RACインスタンスの負荷情報を含むロード・バランシング・アドバイザリを受信できます。指摘された負荷の変化がTMFANコマンド行スイッチで指定されたしきい値を超えた場合、Tuxedoリクエストはデータベースの負荷の低いTuxedoアプリケーション・サーバーに転送されます。

詳細は、Oracle Tuxedo Advanced Performance Packの使用を参照してください。

同時グローバル・トランザクション表ロック

Oracle Tuxedoでは、グローバル・トランザクション表(GTT)と呼ばれるOracle Tuxedo掲示板にアクティブなグローバル・トランザクションとそのパーティシパントの表を保持することでグローバル・トランザクションを管理します。この表は複数の同時プロセスによってアクセスされるため、セマフォを使用して保護する必要があります。通常のOracle Tuxedoの場合、掲示板のロックを使用してこの表へのアクセスはシリアライズされます。ただし、トランザクションの負荷が高い場合、このロックの競合が激しくなり、人為的なパフォーマンス・ボトルネックとなる場合があります。

XPPは、GTTへのアクセスのシリアライズを掲示板のロックから他の複数のロック(GTTへのアクセス用に1つとGTTの各エントリ用に1つ)に移行します。これによって、GTTにアクセスする場合の同時実効性が大幅に向上し、このボトルネックを解消できます。

詳細は、Oracle Tuxedo Advanced Performance Packの使用を参照してください。

 


Oracle Tuxedoの構成

この項では、ExalogicにおけるOracle Tuxedoの基本機能の構成について説明します。詳細は、Oracle Tuxedo 12cリリース2 (12.1.3)リリース・ノートおよび『Oracle Tuxedoアプリケーションの設定』を参照してください。

Direct Cross Node Communication Leveraging RDMA

「Direct Cross Node Communication Leveraging RDMA」の構成には、次のものが含まれます。

UBBCONFIGファイル

Direct Cross Node Communication Leveraging RDMAがサポートされるのは、MPモードのときのみです。この機能を有効にするには、OPTIONSのEECSを指定する必要があります。これを指定しない場合は、ブリッジを介してメッセージが送信されます。

*RESOURCEセクションのDirect Cross Node Communication Leveraging RDMAには1つの属性があります。

EXALOGIC_SHARED_PATH

Oracle Tuxedoファイル転送のディレクトリ名。ここで、EXALOGIC_SHARED_PATHの機能は、環境変数EXALOGIC_SHARED_PATHの機能と同じです。ただし、Tuxedo実行時には、この環境変数の優先度が高くなります。EXALOGIC_SHARED_PATHは、すべてのTuxedoノードが読取り/書込み権限を持つ共有ディレクトリであることが必要です。これは、RDMAが有効になっている場合のみ*RESOURCEセクションに指定できます。 *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が有効な場合にのみ*MACHINESで指定できます。デフォルト値は、UBBCONFIGで定義されていない場合は32です。 一部のシナリオでは、この値を増やすとTuxedoパフォーマンスを改善できます。詳細は、「EXALOGIC_MSGQ_CACHE_SIZEの設定」を参照してください。

*RESOURCESセクションでRDMAオプションを有効化後。デフォルトでは、RDMA機能をサポートするために、MPモードのすべてのマシンがExalogicマシン(同一タイプ)である必要があるため、*MACHINESセクションのTYPE属性を設定できません。

TM_MIBを介しても構成を取得/変更できます。詳細は、『ファイル形式、データ記述、MIBおよびシステム・プロセス・リファレンス』を参照してください。

リスト1は、Direct Cross Node Communication Leveraging RDMAが有効な状態のUBBCONFIGサンプル・ファイルです。

リスト1 Direct Cross Node Communication Leveraging RDMAが有効な状態のUBBCONFIGサンプル・ファイル
*RESOURCES
IPCKEY		87654
MASTER		site1,site2
MAXACCESSERS		40
MAXSERVERS		40
MAXSERVICES		40
MODEL		MP
OPTIONS		LAN,EECS
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

メモリー・ロックのシェル制限の設定

Msgq_Daemonで使用される共有メモリーは、スワップ領域にページングされないように物理メモリーにロックされるため、/etc/securitylimits.confのmemlockに適切な値を設定する必要があります。

次の式を使用してmemlockの最小値を取得してください。

[Msgq_daemon共有メモリー・サイズ] * 2 + MAXACCESSERS * 14000KB

Msgq_daemon共有メモリー・サイズ: Msgq_daemonによって割り当てられた共有メモリーのサイズ。詳細は、「Msgq_daemonの共有メモリー・サイズの計算」を参照してください。

MAXACCESSERS: UBBCONFIGファイル内の属性。

例:

Msgq_daemon共有メモリー・サイズ: 200*1024KB

MAXACCESSERS: 100

200*1024*2 + 100 * 14000 = 1809600

/etc/securitylimits.confで次のように指定します。

* hard memlock 1809600

* soft memlock 1809600

ファイル転送のデフォルト・ディレクトリ名の設定

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ディレクトリ直下の一時ファイルに保存し、リモート・プロセス・キューに通知を直接送信します。リモート・プロセスは通知を受信するかぎり、ファイルを取得できます。

Direct Cross Domain Communication Leveraging RDMA

Direct Cross Domain Communication Leveraging RDMAを使用する場合は、UBBCONFIGファイルの構成が必要になります。

注: Direct Cross Domain Communication Leveraging RDMAの場合、最初にDirect Cross Note Communication Leveraging RDMAを有効にする必要があります。

UBBCONFIGファイル

この機能を有効にするには、UBBCONFIGRESOURCESセクションで、BYPASSDOM_IDBYPASSDOM_SEQ_NUMおよびBYPASSDOM_SHARED_DIRパラメータを指定するとともに、OPTIONSパラメータのEECSフラグも指定する必要があります。

1つのドメイン・グループ内のドメインの最大数を指定する、オプション属性MAXDOMAINSがあります。デフォルトは32です。

TM_MIBを介しても構成を取得または変更できます。詳細は、『ファイル形式、データ記述、MIBおよびシステム・プロセス・リファレンス』を参照してください。

リスト2は、Direct Cross Domain Communication Leveraging RDMAを有効化するUBBCONFIGサンプル・ファイルです。

リスト2 Direct Cross Domain Communication Leveraging RDMAを有効化するUBBCONFIGサンプル・ファイル
*RESOURCES
IPCKEY		87654
MASTER		site1 
MAXACCESSERS		40
MAXSERVERS		40
MAXSERVICES		40 
MODEL		SHM
OPTIONS		EECS
LDBAL		Y
BYPASSDOM_ID bddomgrp1 
BYPASSDOM_SEQ_NUM 0
BYPASSDOM_SHARED_DIR "/nfs/bypassdom/bddomgrp1/shareddir" 
MAXDOMAINS 16
 
*MACHINES
slce04cn01		LMID=site1
    APPDIR="/home/oracle/tuxedo12.1.3.0/samples/atmi/simpapp"
    TUXCONFIG="/home/oracle/tuxedo12.1.3.0/samples/atmi/simpapp/tuxconfig" 
    TUXDIR="/home/oracle/tuxedo12.1.3.0"
    UID=601
    GID=601 
    RDMADAEMONIP="192.168.10.1" 
    RDMADAEMONPORT=9800 
    RDMAQSIZE=65536 
    RDMAQENTRIES=64
*GROUPS 
GROUP1		LMID=site1 GRPNO=1 OPENINFO=NONE
*SERVERS 
DEFAULT:
CLOPT="-A"
simpserv		SRVGRP=GROUP1 SRVID=3
*SERVICES 
 TOUPPER

自動チューニング・ロック・メカニズム

構成の詳細は、Oracle Tuxedo Advanced Performance Packの使用自動チューニング・ロック・メカニズムに関する項を参照してください。

Oracle Tuxedo SDPサポート

Oracle Tuxedo SDPサポートを有効にするには、*RESOURCESセクションにあるOPTIONSEECSを指定し、UBBCONFIGファイルまたはDMCONFIGファイルで関連する構成を設定します。

TM_MIBを介しても構成を取得または変更できます。詳細は、『ファイル形式、データ記述、MIBおよびシステム・プロセス・リファレンス』を参照してください。

この項では、次の構成について説明します。

MP

要件によれば、MPはIBクラスタ内で機能する必要があります。つまり、マスター・マシンとスレーブ・マシンが両方ともIBクラスタ内にあるため、SDPとIPoIBはIBクラスタ内で使用され、bootstrapフェーズでは、tmboot、tlisten、bsbridgeおよびbridgeが相互通信を行うためにソケットAPIを使用していることのみを考慮します。

GWTDOMAIN

GWTDOMAINを実行しているノードに複数のIPアドレスを持つ複数のネットワーク・インタフェース(マルチホーム型)がある場合、DMCONFIGファイルでGWTDOMAINを構成する場合、ホスト名のかわりに明示的なIPアドレスを使用することをお薦めします。通常、すべてのExalogicノードには、IBインタフェースとイーサネット・インタフェースという少なくとも2種類のネットワーク・インタフェースがあります。GWTDOMAINを構成する方法を説明するに当たりわかりやすくするため、IBインタフェースはIPアドレスIB_IPに対してバインドされ、イーサネット・インタフェースはIPアドレスETH_IPを持つと仮定します。

機能として、GWTDOMAINはサーバーとクライアントの両方の役割を果たします。サーバーの役割としては、DMCONFIGファイルで構成済のIPアドレスとポート番号をリスニングし、他のGWTDOMAINからの接続リクエストを受け入れます。クライアントの役割としては、DMCONFIGファイルで構成されたポリシーによって他のGWTDOMAINへの接続リクエストを開始します。

WSL

/WSクライアント

JSL

Configure JSL listen on SDP

ネットワーク・アドレスの接頭辞「sdp:」とネットワーク・アドレスは、リスト11で示すようにIPoIBアドレスである必要があります。

リスト11 SDPをリスニングしているJSLのUBBCONFIGファイルの構成例
*SERVERS
DEFAULT:        CLOPT="-A"
JSL             SRVGRP=WSGRP SRVID=1001
                CLOPT="-A -- -nsdp: //IB_IP: 11101 -m1 -M10 -x1"

WTC

WTCとOracle Tuxedo間のSDP接続を有効化するには、次の手順を実行します。

  1. 次のようにWTCサービスのローカル/リモート・アクセス・ポイントのNWAddrを指定します。
  2. sdp://IB_IP:port

    これは、DMCONFIGファイル内のGWTDOMAINのNWADDR構成と同じです。

  3. 補足Javaオプション「Djava.net.preferIPv4Stack=true」をjavaコマンドに追加し、WLSサーバーを起動します。
注: WTCアクセス・ポイントでSSLが有効化されると、SDPを構成した後、SSL構成が無視されます。
注: SDPを介してOracle Tuxedoに接続できるのは、Weblogic Server 12c (12.1.1)以上のみです。詳細は、「SDPトランスポートのIPv4の有効化」「WTCローカルTuxedo Domain構成のNWAddr属性」、および「WTCリモートTuxedo Domain構成のNWAddr属性」を参照してください。

共有メモリー・プロセス間通信

構成の詳細は、Oracle Tuxedo Advanced Performance Packの使用共有メモリー・プロセス間通信に関する項を参照してください。

RACの部分的1フェーズ読取り専用最適化

構成の詳細は、Oracle Tuxedo Advanced Performance Packの使用RACの部分的1フェーズ読取り専用最適化に関する項を参照してください。

データベース

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のオプション

APPDIRの選択

EECSオプションとMPモードが両方とも設定され有効化されている場合のみ、Oracle TuxedoアプリケーションをMP環境(共有アプリケーション・ステージングという名前)のExalogicで共有ディレクトリにデプロイできます。Oracle Tuxedoアプリケーションを起動する前に、UBBCONFIGファイルで次のパラメータが正しく設定されているか確認します。

TUXCONFIG

TUXCONFIGはノードごとに違うものにする必要があります。

TLOGDEVICE

TLOGDEVICEは各ノードごとに別々にする必要があります。

ULOGPFX

ULOGを個別にする場合は、ULOGPFXに別々のパスを設定します。

共有APPDIRのアクセス権限

異なるExalogicノードからのユーザーは、OSの同一のuidおよびgidを持つ必要があります。

前述のほか、明確なロギング・システムを持つには各ノードで固有のTMIFRSVR repository_file、標準出力/エラー・ファイル、AUDITLOGファイルおよびALOGPFXを使用することをお薦めします。共有アプリケーション・ステージング機能を最適に使用するには、すべてのアプリケーションに固有の名前を設定する必要があります。

リスト13は、UBBCONFIGファイルの共有APPDIRの例です。

リスト13 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

UBBCONFIGファイルにSECURITYが設定されている場合、EECSが有効化されているMPドメインのみが、共通のAPPDIRを共有できます。

ドメインをまたがる密結合トランザクション

構成の詳細は、Oracle Tuxedo Advanced Performance Packの使用ドメインをまたがる密結合トランザクションに関する項を参照してください。

XAトランザクション・アフィニティ

構成の詳細は、Oracle Tuxedo Advanced Performance Packの使用XAトランザクション・アフィニティに関する項を参照してください。

共通XID

構成の詳細は、Oracle Tuxedo Advanced Performance Packの使用共通XIDに関する項を参照してください。

Single Group Multiple Branches (SGMB)

構成の詳細は、Oracle Tuxedo Advanced Performance Packの使用単一グループの複数ブランチ(SGMB)に関する項を参照してください。

データベース・インスタンス間のフェイルオーバー/フェイルバック

構成の詳細は、Oracle Tuxedo Advanced Performance Packの使用データベース・インスタンス間のフェイルオーバー/フェイルバックに関する項を参照してください。

RACインスタンス間のロード・バランシング

構成の詳細は、Oracle Tuxedo Advanced Performance Packの使用RACインスタンス間のロード・バランシングに関する項を参照してください。

同時グローバル・トランザクション表ロック

構成の詳細は、Oracle Tuxedo Advanced Performance Packの使用同時グローバル・トランザクション表ロックに関する項を参照してください。

 


パフォーマンスを最適化するためのベスト・プラクティス

この項には、以下のトピックが含まれています。

Direct Cross Node Communication Leveraging RDMA

推奨されるシナリオ

この機能は、クライアントがリモート・サーバーに直接アクセスする機能を提供し、BRIDGEにおけるボトルネックを解消します。TuxedoがMPモードで同時リモート・アクセス数が多いときに、この機能がUBBCONFIGで有効になっている場合、スループットが著しく改善します。

注: 次のシナリオは、この機能にはお薦めしません。
注: クライアントはBRIDGEを介してリモート・サーバーに接続し、比較的短い期間、そのサーバー上で動作します。たとえば、tpinit()の次にいくつかのtpcall()、次にtpterm()という順番です。RDMA接続の作成/オープン/クローズのオーバーヘッドは、Unix IPCキューにおけるオーバーヘッドよりずっと高いです。したがって、このシナリオでは、明白なパフォーマンスの改善はありません。

EXALOGIC_MSGQ_CACHE_SIZEの設定

Oracle Tuxedoスレッドにはそれぞれ、EMSQランタイム・キャッシュがあります。デフォルトのエントリ数は32です。この値は、Oracle Tuxedoアプリケーションが起動するか、それをUBBCONFIGで設定する前に、環境変数EXALOGIC_MSGQ_CACHE_SIZEを使用して32から2048の間で変更できます。一部のシナリオでは、数値を大きくすると、Oracle Tuxedoのパフォーマンスを向上できます。次に例を示します。

Msgq_daemonの共有メモリー・サイズの計算

tmloadcfの使用

推奨値を取得するには、リスト14で示すようにtmloadcf -c ubbを実行してください。

リスト14 UBBCONFIGファイルの*MACHINESセクション
*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を実行し、リスト15で示すように出力を取得します。

リスト15 tmloadcf -c ubb出力例
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も連動して増えます。

共有メモリー・サイズの調整:

tmloadcfRCDMSZを取得後、次のランタイム要素に従って実際のサイズを調整できます。

注: 構成方法の詳細は、「Oracle Tuxedoの構成」の「Direct Cross Node Communication Leveraging RDMA」を参照してください。

自動チューニング・ロック・メカニズム

ベスト・プラクティスについては、Oracle Tuxedo Advanced Performance Packの使用自動チューニング・ロック・メカニズムに関する項を参照してください。

共有メモリー・プロセス間通信

ベスト・プラクティスについては、Oracle Tuxedo Advanced Performance Packの使用共有メモリー・プロセス間通信に関する項を参照してください。

RACの部分的1フェーズ読取り専用最適化

ベスト・プラクティスについては、Oracle Tuxedo Advanced Performance Packの使用RACの部分的1フェーズ読取り専用最適化に関する項を参照してください。

XAトランザクション・アフィニティ

ベスト・プラクティスについては、Oracle Tuxedo Advanced Performance Packの使用XAトランザクション・アフィニティに関する項を参照してください。

共通XID

ベスト・プラクティスについては、Oracle Tuxedo Advanced Performance Packの使用共通XIDに関する項を参照してください。

データベース・インスタンス間のフェイルオーバー/フェイルバック

ベスト・プラクティスについては、Oracle Tuxedo Advanced Performance Packの使用データベース・インスタンス間のフェイルオーバー/フェイルバックに関する項を参照してください。

RACインスタンス間のロード・バランシング

ベスト・プラクティスについては、Oracle Tuxedo Advanced Performance Packの使用RACインスタンス間のロード・バランシングに関する項を参照してください。

Single Group Multiple Branches (SGMB)

ベスト・プラクティスについては、Oracle Tuxedo Advanced Performance Packの使用単一グループの複数ブランチ(SGMB)に関する項を参照してください。

Direct Cross Domain Communication Leveraging RDMA

推奨されるシナリオ

この機能は、クライアントがドメインを介してリモート・サービスに直接アクセスする機能を提供し、GWTDOMAINにおけるボトルネックを解消します。Tuxedoが異なるドメイン上で同時リモート・アクセス数が多い状態である場合、この機能により、スループットのパフォーマンスが著しく向上します。

注: 次のシナリオは、この機能にはお薦めしません。
注: クライアントはリモート・ドメイン内のリモート・サービスにアクセスし、比較的短い期間、そのサービス上で機能します。たとえば、tpinit()の次にいくつかのtpcall()、次にtpterm()という順番です。RDMA接続の作成/オープン/クローズのオーバーヘッドは、Unix IPCキューにおけるオーバーヘッドよりもずっと高くなります。したがって、この機能は、このシナリオでは明白なパフォーマンス向上をもたらしません。

Oracle Tuxedo SDPサポート

SDPはすべてのTuxedoネットワーク通信上で使用できますが、Direct Cross Node Communication Leveraging RDMAまたはDirect Cross Domain Communication Leveraging RDMAに適用可能なシナリオにはお薦めされません。

 


Oracle Tuxedoの実行

Direct Cross Node Communication Leveraging RDMAが有効な状態の場合、Exalogic以外のプラットフォームでOracle Tuxedoを実行する方法は異なります。Oracle Tuxedoアプリケーションを起動する前に、tux_msgq_monitorを起動しておく必要があります。この項には次のトピックが含まれます:

tux_msgq_monitorの起動/停止

アシスタント・ツール

Oracle Tuxedo起動/停止用シェル・スクリプト

起動/停止処理を簡略化するシェル・スクリプトがいくつかあります。これらのツールを使用すると、1つのコマンドを実行するだけでtux_msgq_monitorとOracle Tuxedoアプリケーションの路湯方を起動/停止できます。これらのコマンドを実行する前に、TUXCONFIG、LD_LIBRARY_PATHおよびAPPDIRの各環境変数が適切に設定されているか確認します。

たとえば、マスター・ノードでは次を実行するとOracle Tuxedoを起動/停止できます。

マスター・ノードには、次の2つのシェル・スクリプトがあります。

tmboot.sh -i daemon_ip -d daemon_port -M shm_size -K shm_key [-l nlsaddr]

このスクリプトは、tux_msgq_monitorを起動し、tmbootを実行してOracle Tuxedoアプリケーションを起動します。また、オプション「-l」が指定されている場合は、tlistenを起動します。

tmshut.sh

Oracle Tuxedoアプリケーションとtux_msgq_monitorを両方とも停止します。

スレーブ・ノードには、次の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モードでの起動の場合、次の順序でコマンドを実行する必要があります。
注: シャットダウンの場合は、次の順序でコマンドを実行する必要があります。

 


OVMでのOracle Tuxedoの実行

OVMで実行されるOracle Tuxedoには特別な要件がありません。

アップグレード

Exalogic最適化を使用しない場合、特別な要件はありません。詳細は、『Oracle Tuxedo相互運用性ガイド』「Oracle Tuxedoシステムの12cリリース1 (12.1.1)へのアップグレード」を参照してください。

注: Exalogic最適化がOPTIONSで指定されている場合は、以前のリリースからのホット・アップグレードを実行できません。

 


付録

用語

SDP: Sockets Direct Protocol

Oracle Tuxedoのインストール

この項の内容は次のとおりです。

Exalogicの構成

Oracle Tuxedoをインストールする前に、Exalogic環境の現在の状態を理解する必要があります。

Oracle Exalogicマシン・オーナーズ・ガイドに記載されるすべてのタスクは完了済と仮定されます。このガイドでは、データ・センター・サイトの準備、Oracle Exalogicマシンの試験稼動、IPアドレスの割当てを含む初期ネットワーク構成、およびSun ZFS Storage 7320 Applianceの初期設定が説明されています。

プラットフォーム要件

Oracle Tuxedo最適化は、Exalogic LinuxおよびSPARCサーバーの両方で実行できます。詳細は、「Oracle Tuxedo 12cリリース2 (12.1.3)プラットフォーム・データ・シート」を参照してください。

Oracle Tuxedoホームの選択

Oracle Tuxedo製品バイナリは、Sun ZFS Storage 7320アプライアンスの場所にある共有のいずれかにインストールできるため、バイナリを1つコピーすれば任意のExalogicノードでOracle Tuxedoを実行できます。

注: 共有ファイル・システムは、すべてのコンピュート・ノードによってアクセス可能である必要があります。各ノードにローカル・ユーザー・アカウントを作成できます。ただし、UIDおよびGIDは(アクセス権限の問題を避けるため)必ず同一のものにしてください。また、ユーザー用のNISアカウントを作成できます。

各Oracle Tuxedoごとに異なる実装を使用してOracle Tuxedoプラグイン・インタフェースを開発する場合、Oracle Tuxedoは別々のディレクトリにインストールする必要があります。

インストールの開始

Oracle Tuxedo 12cリリース2 (12.1.3)インストーラは、Oracle Universal Installer (OUI)に基づいています。詳細は、『Oracle Tuxedoシステムのインストール』を参照してください。


  先頭に戻る       前  次