6 インストール後の作業の実行

次の各項では、Oracle Tuxedo 22cのインストール後に実行する作業について説明します。

6.1 Oracle Tuxedoのディレクトリ構造の理解

Oracle Tuxedoソフトウェアのインストール中に、インストーラ・プログラムによって、完全インストールの場合は次のディレクトリ構造が作成されます。完全インストールには、すべてのOracle Tuxedoサーバーおよびクライアント・ソフトウェア・コンポーネントと、リンク・レベルの暗号化(LLE)およびSecure Sockets Layer (SSL)暗号化ソフトウェア・パッケージが含まれます。

次の図は、Oracle Tuxedo 22cのディレクトリ構造を表しています:

図6-1 Oracle Tuxedo 22cリリースのディレクトリ構造


Oracle Tuxedo 22cリリースのディレクトリ構造の図

ここに示されている製品ディレクトリは、Oracle Tuxedo 22cリリース1 (22.1.0.0.0)のデフォルトです。デフォルト名はインストール時に変更できます。Oracle Tuxedoディレクトリ構造の最上位レベルのディレクトリおよびファイルについて、次の表で簡単に説明しています:

表6-1 Oracle Tuxedoディレクトリ構造の最上位レベルのディレクトリおよびファイル

ディレクトリ名 説明
bin Tuxedo、Jolt、およびSNMPエージェントの実行可能プログラムが含まれています。
cobinclude COBOLプログラムで使用される.cblファイルのエントリが含まれています。
include CおよびC++言語ヘッダー・ファイル、およびOMG IDLファイルが含まれています。サブディレクトリunicodeおよびxercescが含まれており、プラットフォームによってはサブディレクトリrpcが含まれることもあります。
jmx TSAM Plusのファイルが含まれます。
lib Oracle Tuxedoクライアントおよびサーバーの作成に必要なコンパイル済オブジェクト・ファイル(Oracle Tuxedoがダイナミック共有ライブラリを使用するプラットフォームではダイナミック共有ライブラリを含む)およびその他のオブジェクト・ファイルが含まれています。
locale システム・メッセージのローカライゼーションをサポートするサブディレクトリが含まれています。Cサブディレクトリに、デフォルトのロケール(アメリカ英語)のメッセージ・カタログが含まれています。
samples

ノート:

サンプルは、Oracle Tuxedo 22リリースのインストール時に選択しないとインストールされません。

Oracle Tuxedoを使用したアプリケーション開発を学習するための、サンプル・コードおよびリソースが含まれています。samplesディレクトリには次のサブディレクトリが含まれています
  • atmi

    Oracle Tuxedoアプリケーション・トランザクション・モニター・インタフェース(ATMI)サーバー・ソフトウェアの多様な機能を示す単純なアプリケーションの集合。

  • corba

    Oracle Tuxedo Common Object Request Broker Architecture (CORBA) C++サーバー・ソフトウェアの多様な機能を示す単純なアプリケーションの集合。

  • jolt

    Oracle Joltサーバー・ソフトウェアの多様な機能を示す単純なアプリケーションの集合。

  • tdc

    Tuxedo分散キャッシュのサンプル

tux.env (ファイル) UNIXシステムのみ: UNIXインストールのOracle Tuxedo環境変数が含まれ、それらの変数設定のモデルとなります。
udataobj Oracle Tuxedoが必要とする他のディレクトリおよびファイルが含まれます。udataobjディレクトリには、次のサブディレクトリおよびファイルが含まれます:
  • security

    デフォルトのLightweight Directory Access Protocol (LDAP)フィルタ・ファイル(bea_ldap_filter.dat)およびLLE関連およびSSL関連の暗号化ファイルが含まれています。

  • Jolt

    インストールを選択したOracle Joltソフトウェアのコンポーネントが含まれています。

  • snmp

    etcディレクトリが含まれており、その中にはSNMPエージェントの構成ファイル、MIBファイルおよびその他の様々なファイルが含まれています。

  • java

    Javaアプリケーションの実行に必要なクラスおよびJavaアーカイブ・ファイルが含まれています。

  • tlisten.pw (ファイル)

    インストール時に入力したtlisten管理パスワードが含まれています。

uninstaller Oracle Tuxedoソフトウェアのアンインストールに必要なコードが含まれています。

6.2 Oracle Service Architecture Leveraging Tuxedoディレクトリ構造の理解

SALTソフトウェアのインストール時に、すべてのSALTファイルがOracle TuxedoのTUXDIRディレクトリに解凍されます。

ノート:

各Oracle製品で、comps.xmlファイル($ORACLEHOME/inventory/ContentsXMLにある)にインストール情報が示されます。

次の表で、SALTディレクトリおよびファイルについて簡単に説明します:

表6-2 SALTディレクトリおよびファイルの構造

ディレクトリ名 説明
bin 次のSALTの実行可能プログラムが含まれています。
  • GWWS
  • tmwsdlgen
  • wsadmin
  • wsloadcf
  • tmwsdlflt (内部的に使用されます)
include 次のSALTプラグイン開発および管理開発のC言語ヘッダー・ファイルが含まれています。
  • auth_pi_ex.h
  • custtype_pi_ex.h
  • libsoapeng.*
  • redmap_pi_ex.h
  • wsadmflds.h
  • wssoapflds.h
lib 次のSALTプラグイン開発および管理開発のC言語ヘッダー・ファイルが含まれています。
  • libwsbase.*(共有ライブラリの接尾辞はプラットフォームによって異なります)
  • libwsconf.*
  • libsoapeng.*
locale SALTで使用されるシステム・メッセージのローカライゼーションが含まれています。

Cサブディレクトリには、デフォルト・ロケール(U.S. English)の特定のSALTメッセージ・カタログ(GWWSWSBASEWSCFGWSCMD)が含まれています。

samples/salt SALT機能を示す、単純なアプリケーションの集まりです。

ノート:

samples/saltは、インストール時にリクエストした場合のみインストールされます。
udataobj SALTの次の情報ファイルが含まれています。
  • 3rd_party_licenses_salt.txt

    SALTで使用されるサード・パーティ・ソフトウェアのライセンス情報です。

  • wsadmflds

    SALT管理FML32フィールド定義

  • wssoapflds

    アウトバウンドWebサービス・コールに対してSALTで事前定義されたFML32フィールド

inventory Oracle Universal Installerで使用する、インストール済の製品に関する情報を格納します。
udataobj/salt SALTで必要とされる、次のサブディレクトリおよびファイルが含まれています。
  • policyサブディレクトリ

    SALTで事前定義されたWS-* policyファイルが含まれています。

  • WSサブディレクトリ

    SALTで必要とされる様々な外部のXMLスキーマ・ファイルが含まれています。

  • xalanサブディレクトリ

    Apache Xalan Java 2.7クラス・ライブラリ・ファイルおよび対応するライセンス情報が含まれています。

  • xsltファイル

    wsdl*.xslファイルは、SALT WSDLコンバータ(wsdlcvt)により使用されます。

  • SALT XMLスキーマ・ファイル

    *.xsdファイルは、SALT構成ファイル形式のXMLスキーマ・ファイルです。

6.3 Oracle Tuxedoのアーキテクチャの理解

次の図は、Oracle Tuxedoアーキテクチャの基礎であるOracle Tuxedoドメインを示しています。

図6-2 Oracle Tuxedoアーキテクチャの単純化されたビュー


Oracle Tuxedoアーキテクチャの簡略図

TuxedoドメインはTuxedoアプリケーションとも呼ばれ、Tuxedoシステム上に構築されたビジネス・ソフトウェア・プログラムで、1つの構成ファイルUBBCONFIGによって定義および制御されます。Tuxedoドメインは、多数のシステム・プロセス、1つ以上のアプリケーション・クライアント・プロセス、1つ以上のアプリケーション・サーバー・プロセス、およびネットワークで接続された1つ以上のコンピュータ・マシンで構成されます。

インストール後のチェックを実行する前にOracle Tuxedoに関して知っておく必要のある重要な用語および概念について、次の各項で簡潔に説明されています。

この時点でこれらの用語について完全に理解する必要はなく、これらの項をリファレンスとして利用してください。インストール後の手順でこれらの用語が出てきたら、これらの項を参照して用語の意味を確認してください。

6.4 UBBCONFIGファイル

Tuxedoドメインは、構成ファイルによって制御され、このファイルには、インストール時の設定に基づくパラメータが定義されています。テキスト形式の構成ファイルはUBBCONFIGと呼ばれますが、そのファイルの内容が『Oracle Tuxedoファイル形式、データ記述、MIBおよびシステム・プロセス・リファレンス』のUBBCONFIGファイル・リファレンス・ページで説明されている形式に準拠している場合にかぎり、構成ファイルに任意の名前を付けることができます。

TuxedoドメインのUBBCONFIGファイルには、アプリケーションを起動するために必要なすべての情報、たとえばリソース、マシン、グループ、サーバー、使用可能なサービスなどのリストが含まれています。9つのセクションで構成され、そのうちの5つのセクション、RESOURCESMACHINESGROUPSSERVERSおよびSERVICESはすべての構成に必要です。

6.5 MASTERマシン

TuxedoドメインのMASTERマシン、またはMASTERノードは、ドメインのUBBCONFIGファイルが格納され、UBBCONFIGファイルのRESOURCESセクションでMASTERマシンとして指定されます。Tuxedoドメインは、MASTERマシンを使用して起動、停止、および管理します。

異なるリリースのTuxedoシステム・ソフトウェアを実行している複数のマシンで構成されるTuxedoドメインでは、MASTERはドメイン内の最新のリリースのTuxedoシステム・ソフトウェアを実行している必要があります。

6.6 TUXCONFIGファイル

TUXCONFIGファイルは、UBBCONFIGファイルのバイナリ・バージョンです。tmloadcf(1)コマンドの実行によって作成され、これによってUBBCONFIGが解析され、バイナリTUXCONFIGファイルがTUXCONFIG環境変数によって参照される場所にロードします。UBBCONFIGと同様に、TUXCONFIGファイルには任意の名前を使用できます。

TuxedoドメインのMASTERマシンには、TUXCONFIGファイルのマスター・コピーが存在します。TUXCONFIGファイルのコピーは、他のすべてのサーバー・マシン(非MASTERマシンと呼ばれる)に伝播されます。TuxedoシステムはMASTERマシンで起動されます。

6.7 TUXCONFIG環境変数

TUXCONFIG環境変数により、MASTERマシン上でtmloadcf(1)コマンドによってバイナリTUXCONFIGファイルがロードされる場所が定義されます。TUXCONFIGをロードする端末またはシステム・ファイルで終了する絶対パス名を設定する必要があります。

TUXCONFIGパス名の値は、UBBCONFIGファイルのMACHINESセクションで指定されます。これはMACHINESマシンおよびTuxedoドメイン内のすべての他のサーバー・マシンについて指定されます。システムの起動時にバイナリTUXCONFIGファイルが非MASTERマシンに伝播されると、コピーはTUXCONFIGパス名の値に従って非MASTERマシンに保存されます。

6.8 TUXDIR環境変数

TUXDIR環境変数により、MASTERマシン上でのOracle Tuxedoソフトウェアの製品インストール・ディレクトリが定義されます。製品インストール・ディレクトリの名前で終了する絶対パス名を設定する必要があります。

TUXDIRパス名の値は、UBBCONFIGファイルのMACHINESセクションで指定されます。MASTERマシンおよびTuxedoドメイン内のすべての他のサーバー・マシンについて指定されます。

6.9 環境の設定

Oracle Tuxedoを使用してOracle Tuxedoアプリケーションを作成および実行する前に、いくつかの環境変数を設定する必要があります(表6-3表6-4表6-5および表6-6)。

表6-3 Oracle Tuxedoコア環境変数

環境変数 説明
TUXDIR このマシンでOracle Tuxedoソフトウェアをインストールした製品ディレクトリの絶対パス名。TUXDIRは、サーバーとクライアントのみのマシンの両方で設定する必要があります。
APPDIR このサーバー・マシンでアプリケーションおよび管理サーバーが起動するアプリケーション・ディレクトリの絶対パス名。APPDIRは、1つまたは複数のディレクトリに設定することができます。
TUXCONFIG バイナリ形式のTUXCONFIGファイルが置かれているサーバー・マシン上のファイルまたはデバイスの絶対パス名。TUXCONFIGを作成するには、UBBCONFIG構成ファイルに対してtmloadcf(1)コマンドを実行します。

表6-4 Oracle Tuxedoクライアント専用環境変数

環境変数 説明
WSENVFILE Tuxedo ATMIワークステーション(/WS)・クライアント: このワークステーションに対して設定するすべての環境変数を収めたファイルの名前。この変数のデフォルト値はありません。
TOBJADDR TuxedoリモートCORBAクライアント: Tuxedoサーバー・マシンのリスナーのアドレスです。サーバーのUBBCONFIGファイルで指定したホストおよびポートと、大文字と小文字の違いも含めて正確に一致する必要があります。

表6-5 COBOL環境変数

環境変数 説明
COBCPY コンパイラで使用されるCOBOL COPYの各ファイルが置かれたディレクトリ。
COBOPT コンパイルのコマンド行で使用する引数。

次の表に、Java環境変数を示します。

表6-6 Java環境変数

環境変数 説明
JAVA_HOME このマシンでJava Development Kit (JDK) 1.8.xをインストールしたディレクトリの絶対パス名。Javaアプリケーションのビルドと実行に必要です。*
JDKDIR JAVA_HOME値に設定します。
CLASSPATH このマシン上のクラスおよびJavaアーカイブ・ファイルの絶対パス名。Javaアプリケーションの実行に必要です。

ノート:

Oracle Tuxedo 22c配布キットにはJDKは含まれていません

6.10 UNIXシステムでの環境変数の設定

UNIXサーバー・マシンで、環境を設定するには、次の表の環境変数を設定してエクスポートします:

表6-7 環境変数

環境変数
TUXDIR=pathname_of_Oracle_Tuxedo_product_directory
APPDIR=pathname_of_Oracle_Tuxedo_application_directory
TUXCONFIG=pathname_of_TUXCONFIG_file
PATH=$APPDIR:$TUXDIR/bin:/bin:$PATH
LD_LIBRARY_PATH=$APPDIR:$TUXDIR/lib:/lib:/usr/lib:$LD_LIBRARY_PATH
export TUXDIR APPDIR TUXCONFIG WEBJAVADIR PATH LD_LIBRARY_PATH

TUXDIRAPPDIR、およびTUXCONFIGの例は次のとおりです。


TUXDIR=/home/Oracle/tuxedo22cR1 
APPDIR=/home/me/simpapp 
TUXCONFIG=$APPDIR/tuxconfig

TUXDIRAPPDIRおよびTUXCONFIG環境変数は、 UBBCONFIGファイルのMACHINESセクションのTUXDIRAPPDIRおよびTUXCONFIGパラメータの値と一致する必要があります。UNIXシステム上でこれらの環境変数やその他の環境変数を設定するモデルとして、Oracle Tuxedo製品ディレクトリにあるtux.envというBourneシェル・スクリプトを使用します。

6.11 tlistenプロセスの開始

アプリケーション管理者は、アプリケーションを起動する前に、ネットワーク接続されたOracle Tuxedoアプリケーションの各マシンのtlistenプロセスを開始する必要があります。tlistenプロセスを使用すると、管理者とMASTERマシンで実行中のOracle Tuxedoソフトウェアは、非MASTERマシンで実行中のOracle Tuxedoプロセスを開始、停止、および管理することができます。たとえば、tmboot(1)を使用すると、非MASTERマシン上のOracle Tuxedoシステム・サーバーを開始できます。一般に、tlistenは、サーバー・マシン上で実行中のOracle Tuxedoアプリケーションごとに1つ必要です。

Oracle Tuxedoのインストール時にポート3050でtlistenプロセスを開始するインストーラ・プログラムに加え、次の表に示されているようにtlistenプロセスを開始できます。

表6-8 tlistenプロセス

マシン 管理者 方法
UNIXサーバー UNIXシステム管理者 コマンドライン・シェルからtlistenプロセスを手動で開始します。
UNIXサーバー Oracle Tuxedoアプリケーション管理者 cronジョブとして開始します
Oracle Tuxedoアプリケーション管理者 コマンド行シェルからtlistenプロセスを手動で開始します。

6.12 tlistenの呼出し

いずれの場合も、tlistenの起動には同じ基本構文が使用されます。

%TUXDIR%\bin\tlisten -l nlsaddr [-u appuid] (Windows) 
$TUXDIR/bin/tlisten [-d devname] -l nlsaddr [-u appuid] (UNIX)

-lオプションは必須です。-lに渡す引数は、UBBCONFIGファイルにあるNETWORKセクションのNLSADDRパラメータの値と一致していなければなりません。NLSADDRの値の調べ方については、『OracleTuxedoファイル形式、データ記述、MIBおよびシステム・プロセス・リファレンス』のリファレンス・ページUBCONFIG(5)を参照してください。

devnameの値はネットワーク・プロバイダのデバイス名(Starlanなど)です。tlistenプロセスがソケットを使用して実行されている場合、-dオプションは不要です。

appuidの値は、Oracle Tuxedoアプリケーション管理者のユーザー識別子(UID)またはログイン名です。これは、UBBCONFIGファイルのRESOURCESセクションにあるUIDパラメータの値と一致している必要があります。

ノート:

UNIXシステム上でUIDを取得するには、idコマンドを実行します。

UNIXマシンでは、コマンドがユーザーrootによって実行されるインストール・スクリプトの一部である場合は、-u appuidオプションを使用します。これは、このマシンのOracle Tuxedoソフトウェア・インストールの所有者の有効なUIDでtlistenプロセスを実行するために行われます。

tlistenがOracle Tuxedoアプリケーション管理者によってcronジョブとして、または手動で開始される場合、ジョブはすでに適切なアカウントによって所有されているため、-uオプションは必要ありません。

tlisten(1)コマンドの詳細は、『Oracle Tuxedoコマンド・リファレンス』のリファレンス・ページを参照してください。

6.13 tlistenパスワード

Oracle Tuxedoでは、インストール時に指定した管理用パスワードを使用して、認可されていない管理リクエストや操作( tmboot(1)など)から、Oracle Tuxedoがインストールされているマシンを保護します。tlisten(1)ゲートウェイ・プロセスを介して管理通信情報がこのマシンに到着するたびに、Oracle Tuxedoはtlistenパスワードでそれらのアクセスを認証します。

tlistenパスワードをクリアテキスト形式にすることはできません。次のコマンドを実行して、tlistenパスワードを生成できます:
  • Unix/Linux: tlistpwd $TUXDIR
  • Windows: tlistpwd %TUXDIR%

Oracle Tuxedoアプリケーションにある2台のマシンが正常に通信するには、共通のパスワードが必要です。そのため、単一アプリケーション内にある複数のマシンにOracle Tuxedoをインストールする場合は、必ず同じパスワードを使用します。ただし、Oracle Tuxedoのインストール時に1つのマシンに異なるパスワードを使用した場合は、tlistpwd(1) $TUXDIRユーティリティを使用して、そのマシンが相互に通信する各マシンのtlisten.pwファイルにそのマシンのパスワードを追加する必要があります。

これらの理由から、tlisten.pwファイルには複数の管理用パスワードを追加できます。1つのパスワード・ファイルには、20のパスワードを1行に1つずつ格納できます。

ノート:

tlisten.pwファイルは、システムによって暗号化されています。パスワードを追加または変更するには、tlistpwd(1)ユーティリティを使用する必要があります。

6.14 UBBCONFIGファイルの編集

Oracle Tuxedoアプリケーションは、構成ファイルによって制御されます。このファイルには、インストール時の設定に基づくパラメータが定義されています。Oracle Tuxedoのドキュメントではこの構成ファイルをUBBCONFIGと呼んでいますが、ファイルの内容が『ファイル形式、データ記述、MIBおよびシステム・プロセス・リファレンス』「UBBCONFIG(5)」に示されているフォーマットに従っている限り、このファイルに任意の名前を付けることができます。通常の構成ファイル名は文字列ubbで始め、その後に簡略的な文字列を追加します(たとえば、simpleを追加してubbsimpleというファイル名にします)。

Oracle Tuxedoのインストールで配布されるATMIベースの基本的なsimpappアプリケーションのUBBCONFIGファイル、ubbsimpleを例として考えてみます。Windowsシステムではこのアプリケーションはディレクトリ %TUXDIR%\samples\atmi\simpappにあり、UNIXシステムではディレクトリ$TUXDIR/samples/atmi/simpappにあります。

次の例のubbsimpleファイルは、UNIXシステムに配布されたubbsimpleファイルから変更されており、WindowsとUNIX両方のシステムのパス名のサンプル値が含まれています。

#ident “@(#)apps:simpapp/ubbsimple $Revision: 1.3 $ 
#Skeleton UBBCONFIG file for the Tuxedo Simple Application. 
#Replace the <bracketed> items with the appropriate values. 
*RESOURCES IPCKEY <Replace with a valid IPC Key> 
#Example: 
#IPCKEY 123456 
DOMAINID simpapp 
MASTER simple 
MAXACCESSERS 10 
MAXSERVERS 5 
MAXSERVICES 10 
MODEL SHM 
LDBAL N 
*MACHINES 
DEFAULT: 
APPDIR=“<Replace with the current directory pathname>” 
TUXCONFIG=“<Replace with your TUXCONFIG Pathname>” 
TUXDIR=“<Directory where Tuxedo is installed>”  
#UNIX 
  #Example: 
  # APPDIR=“/home/me/simpapp” 
  # TUXCONFIG=“/home/me/simpapp/tuxconfig” 
  # TUXDIR=“/home/oracle/tuxedo12cR1” 
<Machine-name> LMID=simple 
#Example:
  #beatux LMID=simple 
*GROUPS 
GROUP1 LMID=simple GRPNO=1 OPENINFO=NONE 
*SERVERS 
DEFAULT: 
CLOPT=“-A” 
simpserv SRVGRP=GROUP1 SRVID=1 
*SERVICES 
TOUPPER

実際の構成ファイルでは、ご使用のアプリケーションに固有の値で、大カッコ内の文字列を置き換えてください。次の表は、すべての構成ファイルで定義する必要があるパラメータの例です。

表6-9 パラメータの例

パラメータ 指定内容
IPCKEY アプリケーションによって使用される構造体が存在する共有メモリー・セグメントを識別する数値キー。値は32,768より大きく、262,143未満である必要があります。
machine_name マシンのノード名。Windows 2003 Serverシステムでノード名を取得するには、システム管理者に問い合せてください。UNIXシステムでノード名を取得するには、uname-nコマンドを実行します。
APPDIR = string このマシンでアプリケーションおよび管理サーバーが起動される1つ以上のディレクトリのリスト。Windowsの場合、stringの値は1つのディレクトリの絶対パス名で、オプションで、マシン上に定義されている他のディレクトリのパス名をセミコロンで区切ったリストが続きます。UNIXの場合、stringの値は1つのディレクトリの絶対パス名で、オプションで、マシン上に定義されている他のディレクトリのパス名をコロンで区切ったリストが続きます。
TUXCONFIG = string バイナリ形式のTUXCONFIGファイルを作成するマシン上のファイルまたはデバイスの絶対パス名。 TUXCONFIGを作成するには、UBBCONFIGファイルに対してtmloadcf(1)コマンドを実行します。
TUXDIR = string Oracle Tuxedoソフトウェアがインストールされているマシンの製品ディレクトリの絶対パス名。

APPDIRTUXCONFIG、およびTUXDIRは、Oracle Tuxedoアプリケーション内のすべてのマシンに設定する必要があります。UBBCONFIGファイルの編集時にほかのパラメータを確認する必要がある場合は、『ファイル形式、データ記述、MIBおよびシステム・プロセス・リファレンス』「UBBCONFIG(5)」を参照してください。

UBBCONFIGファイルの編集は、tmloadcf(1)を実行してIPC要件を確認する前に行う必要があります。次の節を参照してください。最初にUBBCONFIGファイルを編集せずにtmloadcfを実行すると、構文エラーになります。

6.15 UBBCONFIGでのTYPEパラメータの使用

構成ファイルにあるMACHINESセクションのTYPEパラメータは、異なるマシン間にメッセージが渡された際の外部データ表現(XDR)エンコード/デコード・ルーチンの呼出しを指定します。同じ種類のマシンの場合でも、各マシンのコンパイラが異なるときは、「異なる」マシンとして扱います。そのような場合は、各マシンに一意のTYPE文字列を指定して、すべてのメッセージが強制的にエンコード/デコード・ルーチンを通過するようにします。

6.16 IPC要件のチェック

Oracle Tuxedoシステムでは、プロセス間通信(IPC)リソースを頻繁に使用します。大半のシステムでは、各種IPCリソースのサイズと数量を制御するパラメータのデフォルト値が、小さなOracle Tuxedoアプリケーションの実行に最低限必要な値よりも低く設定されています。そのため、パラメータによってはリセットが必要なものがあります。UBBCONFIGファイルの編集後、アプリケーションに対してIPCリソースが適切に設定されているどうかを判断する必要があります。

この処理を実行するには、編集後のUBBCONFIGファイルを入力として指定して、次のtmloadcf(1)コマンドを入力します。

tmloadcf -c UBBCONFIG

-cオプションを使用すると、tmloadcfプログラムではアプリケーションに必要最小限のIPCリソースのリストが出力されますが、TUXCONFIGファイルの作成も更新も行われません。次に示すのは、ubbsimpleの値に基づいた出力レポートです。

Output Produced by tmloadcf -c
Ipc sizing (minimum /T values only)... 
Fixed Minimums Per Processor 
SHMMIN: 1 
SHMALL: 1 
SEMMAP: SEMMNI 
Variable Minimums Per Processor 
SEMUME, A SHMMAX SEMMNU, * * 
Node SEMMNS SEMMSL SEMMSL SEMMNI MSGMNI MSGMAP SHMSEG 
------ ------ ------ ------ ------ ------ ------ ------ 
sftuxe 17 5 12 A + 1 13 26 75K 
where 1 <= A <= 8. 
The number of expected application clients per processor should be added to each MSGMNI value.

出力レポートでは、IPCリソースが従来のUNIX名で識別されます。従来の名前とUNIXプラットフォーム固有の名前を突き合せるには、Oracle Tuxedo 22cリリースのプラットフォーム・データ・シートで該当プラットフォームのデータ・シートを参照してください。

このサンプル出力レポートは、simpappの実行にはシステムでSEMUMESEMMNU、およびSEMMNSを少なくとも17に設定する必要があることを示しています。SEMMSLは5以上、SEMMNISEMMAPはAの値が3であれば4以上に設定する必要があります。MSGMNIは13以上、MSGMAPは26以上でなければなりません。SHMMAXSHMSEGの積は75 KB以上になることが必要です。

IPC値はアプリケーションによって異なるので、ここで示す数値は小さな構成での例にすぎません。IPCリソースを使用する別のクライアントまたはサーバー・アプリケーションがOracle Tuxedoアプリケーションと同じシステムで実行している場合は、両方のアプリケーションの要件を満たす必要があります。アプリケーションに参加するすべてのマシンが十分なIPCリソースを使用できなければなりません。

IPCリソースが不十分な場合は、該当するIPCパラメータの値を大きくします。

UNIXシステムの現在のIPC値を変更する手順については、Oracle Tuxedo 22cリリースのプラットフォーム・データ・シートで該当プラットフォームのデータ・シートを参照してください。

6.17 汎用デバイス・リストとトランザクション・ログの作成

グローバル・トランザクションに参加するアプリケーション内の各マシンで、汎用デバイス・リスト(UDL)を作成し、グローバル・トランザクション・ログ(TLOG)のUDLエントリを定義します。TLOGは、トランザクションが終了するまで、トランザクションに関する情報が保持されているログです。

6.18 TLOGの定義

UDLを作成し、TLOGのUDLエントリを定義する前に、グローバル・トランザクションに参加するアプリケーション内の各マシンで、UBBCONFIGファイルのMACHINESセクションの以下のパラメータを設定する必要があります。次の表にパラメータを示します:

表6-10 パラメータ

パラメータ 説明
TLOGDEVICE = string このマシン用の分散トランザクション処理(DTP) TLOGを格納するOracle Tuxedoファイル・システム。このパラメータを指定しないと、マシンにはTLOGがないものと見なされます。
TLOGOFFSET = offset デバイスの先頭からOracle Tuxedoファイル・システムの開始点(このマシンのDTPトランザクション・ログを格納)までのページ単位の数値のオフセット。デフォルトは0です。
TLOGNAME = string このマシンのDTPトランザクション・ログの名前を指定します。値を指定しない場合は、デフォルトのTLOGが指定されます。
TLOGSIZE = size このマシンのDTPトランザクション・ログのサイズ(ページ単位)。指定しない場合、デフォルト値は100ページです。

TLOGが100ブロック(ページ)を超えることはほとんどありません。また、ディスク・パーティションはTLOGよりはるかに大きいので、同じデバイス上にTUXCONFIGファイルとTLOGの両方を格納します。その場合、デバイスのパス名をTUXCONFIGFSCONFIG環境変数に設定します。

6.19 UDLとTLOGのUDLエントリの作成

TLOGDEVICEのUDLエントリは、TLOGが必要な各マシンで手動で作成する必要があります。これらのエントリを作成するのはTUXCONFIGをロードする前でも後でもかまいませんが、アプリケーションを起動する前でなければなりません。

デバイス・リストの作成コマンドcrdlにアクセスするには、アプリケーションがアクティブでない状態でtmadmin -cを起動します。-cオプションにより、tmadminが構成モードで起動されます。

グローバル・トランザクションに参加するアプリケーション内の各マシンで、UDLとTLOGのUDLエントリを作成するには、次のステップに従います:

  1. アプリケーション管理者としてMASTERマシンにログインします。
  2. 次のコマンドを入力します。
    
    tmadmin -c 
    crdl -z config -b blocks

    ここで、-z configには、UDLの格納先デバイス(TLOGの常駐先デバイス)のフルパス名を指定します。-b blocksには、デバイスに割り当てるブロック数を指定します。configの値は、UBBCONFIGファイルにあるMACHINESセクションのTLOGDEVICEパラメータの値と一致していなければなりません。ブロック数は、TLOGSIZEの値より大きくなければなりません。-zを指定しないと、configの値はデフォルトによってFSCONFIG環境変数の値に設定されます。

  3. グローバル・トランザクションに参加する残りの非MASTERマシンにアプリケーション管理者としてログインして、ステップ2を繰り返します。

TLOGDEVICEが2つのマシン間でミラーリングされる場合は、片方のマシンに対してステップ3を実行する必要はありません。TLOGを障害から回復できるようにするには、TLOGをミラーリング可能なデバイス上に配置する必要があります。

6.20 simpappを実行してインストールを確認する

Oracle Tuxedoソフトウェアが正しくインストールされているかどうかを確認する方法の1つは、インストール時に提供される1つまたは複数のサンプル・アプリケーションを実行することです。サンプル・アプリケーションでは、ATMIおよびCORBAクライアントと、ATMIおよびCORBA C++サーバーの機能が具体的に示されます。

以下の節では、インストールしたOracle Tuxedo ATMIおよびCORBA C++関連の部分を確認する手順について説明します。

simpappアプリケーションは非分散アプリケーションです。つまり、1台のマシン上で動作します。Oracle Tuxedoソフトウェアをインストールした数分後に起動して動作できるように設計されています。

simpappアプリケーションは、文字列を小文字から大文字に変換するTOUPPERという1つのサービスを提供します。クライアントは、大文字に変換する小文字の文字列だけを引数にして呼び出されます。サーバーは変換後の文字列をクライアントに返し、クライアントはその文字列を出力します。

次の例を参照してください。
simpcl “hello world”
この呼出しによって次のように出力されます。
 Returned string is: HELLO WORLD

simpappには、ATMIバージョンとCORBAバージョンがあります。ATMIバージョンは、ATMIサーバー、ATMIクライアント、およびUBBCONFIGファイルで構成されています。CORBAバージョンは、CORBA C++サーバーとCORBA C++クライアントで構成されています。

6.21 simpappを実行してOracle Tuxedo CORBA C++ソフトウェアのインストールを確認する

Oracle Tuxedo CORBA C++ソフトウェアが正しくインストールされているかどうかを確認するには、CORBAバージョンのsimpappアプリケーションを実行します。このアプリケーションは、UNIXシステムではディレクトリ $TUXDIR/samples/corba/simpappにあります。次の2つの項で示されている手順は、simpappディレクトリのREADMEファイルと、『Oracle Tuxedo Oracle Tuxedo ATMIアプリケーション開発のためのチュートリアル』の単純なCアプリケーションsimpappのチュートリアルでも説明されています。

6.21.1 UNIXシステム上でsimpappを実行してOracle Tuxedo CORBA C++ソフトウェアのインストールを確認する

UNIXシステム上でCORBAバージョンのsimpappを構成して実行するには、次のステップに従います。

  1. Oracle Tuxedoアプリケーション管理者としてターゲット・マシンにログインし、コマンド行シェルを開きます。
  2. サンプル・アプリケーション用の作業ディレクトリを作成し、そのディレクトリに移動します。
    
    prompt> cd /home/me 
    prompt> mkdir corba 
    prompt> cd corba
  3. Oracle Tuxedoソフトウェアをインストールした製品ディレクトリがTUXDIR環境変数で設定されていることを確認します。たとえば、ソフトウェアを/home/oracle/tuxedo12cR1ディレクトリにインストールした場合は、TUXCONFIGを次のように設定してエクスポートします:
    
    prompt> TUXDIR=/home/oracle/tuxedo12cR1 
    prompt> export TUXDIR
  4. simpappファイルを作業ディレクトリにコピーし、すべてのファイルに対する許可をフル・アクセスに変更します。たとえば:
    
    prompt> cp $TUXDIR/samples/corba/simpapp/* . 
    prompt> chmod 777 *
  5. makeがパスに含まれていることを確認します。
  6. simpappを自動的に実行するには、. ./runme.kshと入力します。 simpappアプリケーションが起動し、次のメッセージが表示されます:
    
    Testing simpapp 
    cleaned up 
    prepared 
    built 
    loaded ubb 
    booted 
    ran 
    shutdown 
    saved results 
    PASSED
  7. simpappを手動で実行してプロセスの開始と停止を確認するには、次のステップに従います。
    1. prompt>ksh
    2. prompt>../results/setenv.ksh
    3. prompt>tmboot -y

      アプリケーションが複数のプロセスを開始します。

    4. prompt>simple_client

      プロンプトString?が表示されます。

    5. prompt>enter_a_word_in_lowercase_letters

      アプリケーションがその文字列を大文字に変換してから小文字に変換し、結果を表示します。

    6. prompt>tmshutdown -y
    7. アプリケーションがプロセスを停止します。
  8. ディレクトリを元の状態に復元するには、次のステップに従います。
    1. prompt>../results/setenv.ksh
    2. prompt>make -f makefile.mk clean

6.22 XAリソース・マネージャを使用するOracle Tuxedoアプリケーションのbuildtmsの実行

分散トランザクションおよびXA準拠のリソース・マネージャを使用するOracle Tuxedoアプリケーションの場合、buildtmsコマンドを使用して、トランザクション・マネージャ・サーバー・ロード・モジュールを構築する必要があります。この要件はUNIXシステムにのみ存在します。作成されたモジュールは、UNIXシステムの$TUXDIR/binディレクトリに格納する必要があります。

CORBA C++ Universityサンプル・アプリケーションを実行すると、各サンプルのmakefileによって、tms_ora.exeというTMSロード・モジュールが作成されます。したがって、buildtmsを別個の操作として実行する必要があるのは、これらのサンプル・アプリケーションを実行しない場合だけです。

Oracle Tuxedoアプリケーションに対するbuildtms コマンドについては、『Oracle Tuxedoコマンド・リファレンス』の「buildtms(1)」を参照してください。

6.22.1 simpappを実行してOracle Tuxedo ATMIソフトウェアのインストールを確認する

Oracle Tuxedo ATMIソフトウェアが正しくインストールされているかどうかを確認するには、ATMIバージョンのsimpappアプリケーションを実行します。このアプリケーションは、UNIXシステムではディレクトリ$TUXDIR/samples/atmi/simpappにあります。

ノート:

サンプルは、Oracle Tuxedo 22cリリース1 (22.1.0.0.0)インストール時に選択しないとインストールされません。

次の2つの項で示されている手順は、simpappディレクトリのREADMEファイルと、単純なCアプリケーションsimpappのチュートリアルでも説明されています。Oracle Tuxedo Oracle Tuxedo ATMIアプリケーション開発のためのチュートリアル

6.22.1.1 UNIXシステム上でsimpappを実行してOracle Tuxedo ATMIソフトウェアのインストールを確認する

UNIXシステム上でATMIバージョンのsimpappを構成して実行するには、次のステップに従います。

  1. Oracle Tuxedoアプリケーション管理者としてターゲット・マシンにログインし、コマンド行シェルを開きます。
  2. サンプル・アプリケーション用の作業ディレクトリを作成し、そのディレクトリに移動します。
    
    cd /home/me
    mkdir atmi
    cd atmi
  3. Oracle Tuxedoシステムが使用する環境変数を設定してエクスポートします。「UNIXシステムでの環境変数の設定」を参照してください。APPDIRTUXCONFIGを次のように設定します。
    
    APPDIR=/home/me/atmi
    TUXCONFIG=$APPDIR/tuxconfig
    export APPDIR TUXCONFIG

    ノート:

    WEBJAVADIR環境変数を設定する必要はありません。
  4. simpapp用のファイルを作業ディレクトリにコピーします。構成ファイルとubbsimpleのいずれかを編集する必要があります。クライアントおよびサーバー用のファイル(simpclsimpserv)が実行可能であることと、構成ファイル(ubbsimple)が書込み可能であることを確認します。たとえば:
    
    cp $TUXDIR/samples/atmi/simpapp/* .
    chmod 755 simpserv simpcl
    chmod 644 ubbsimple
  5. 次のコマンドを入力して、simpappクライアントおよびサーバー・プログラムをコンパイルします:
    
    buildclient -o simpcl -f simpcl.c
    buildserver -o simpserv -f simpserv.c -s TOUPPER
  6. サンプルの構成ファイルubbsimpleで、山かっこで囲まれた文字列をOracle Tuxedoシステムのインストールに合せた値に置き換えます。ubbsimple内のコメントには、ファイルのカスタマイズ方法が記載されています。ubbsimpleファイルの以下のパラメータを設定します。
    • IPCKEYを有効なIPCキーに設定します。この値は、32,768より大きく、262,143未満でなければなりません。
    • APPDIR/home/me/atmiに設定します。
    • TUXCONFIG$APPDIR/tuxconfigに対応するリテラル・パス名(この例では、/home/me/atmi/tuxconfig)に設定します。
    • TUXDIRを、このマシンのOracle Tuxedoソフトウェアの製品ディレクトリの絶対パス名(/home/oracle/tuxedo12cR1など)に設定します。
    • MACHINE-NAMEをシステムの名前に設定します。
      UNIXマシン上でシステム名を調べるには、次のコマンドを入力します。
      uname -n

      ノート:

      ubbsimpleファイル内のAPPDIRTUXCONFIG、およびTUXDIRパラメータの設定は、APPDIRTUXCONFIG、およびTUXDIR環境変数の設定に一致していなければなりません。
  7. invokingtmloadcf(1)を使用して、編集した構成ファイルのバイナリ・バージョンを作成します。tuxconfigという名前のファイルが生成されます。このファイルは、TUXCONFIG環境変数によって参照され、実行時にアプリケーション構成の説明をOracle Tuxedoシステムに提供します。
    
    tmloadcf -y ubbsimple
  8. 次のコマンドを入力してsimpappを起動します。
    tmboot -y

    起動が成功すると、次のような画面が表示されます。ステップ10に進みます。次に示すのは、tmboot -yによって生成される出力です:

    
    Booting all admin and server processes in /home/me/atmi/tuxconfig
    INFO: Oracle Tuxedo , Version 22.1.0.0.0
    Booting admin processes ...
    exec BBL -A:
    process id=24180 ... Started.
    Booting server processes ...
    exec simpserv -A :
    process id=24181 ... Started.
    2 processes started.
  9. 起動が失敗した場合は、アプリケーション・ディレクトリ($APPDIR、/home/me/atmi)にあるULOG.mmddyyというログを調べます。文字列mmddyyは、ファイル名の末尾となる日付(現在の月、日、および年を表す数字)のプレースホルダです。ログの最後に、:
    can’t create enough semaphores for BB

    などのメッセージがある場合は、オペレーティング・システムで構成されているプロセス間通信(IPC)リソースがsimpappの実行に適していないと考えられます。

    これが正しいかどうかを確認するには、Oracle Tuxedoシステム・コマンドのtmloadcf(1)を呼び出し、構成ファイルの名前を指定します。次の例を参照してください。
    tmloadcf -c $APPDIR/ubbsimple

    オペレーティング・システムで構成されている現在のIPCパラメータ値が、tmloadcfの出力結果で示された最低限の値(VariableまたはFixed)よりも小さい場合は、そのパラメータの値を大きくする必要があります。プラットフォームの現在のIPC値の確認方法と変更方法については、Oracle Tuxedo 22cリリースのプラットフォーム・データ・シートで該当プラットフォームのデータ・シートを参照してください。

  10. 起動が成功した場合は、クライアントを呼び出すことができます。たとえば、次のコマンドを入力します。
    simpcl “hello world”
    次が表示されます。
    Returned string is: HELLO WORLD
  11. 操作が終了したら、次のコマンドでsimpappを停止します。
    tmshutdown -y

6.23 Oracle Tuxedoのアンインストール

Oracle Tuxedo 22cリリース1 (22.1.0.0.0)をアンインストールしても、インストールと関連付けられているOracleホーム・ディレクトリは削除されませんが、インストーラ・プログラムによってインストールされたすべてのOracle Tuxedoコンポーネントは削除されます。また、アンインストールによって、インストールと関連付けられている製品ディレクトリも削除されます。

OUIを起動すると、「ようこそ」画面が表示されます。「製品の削除」をクリックします。「インベントリ」パネルの「内容」タブから削除対象製品を選択してから、「削除」をクリックします。

同じ方法でOracleホームも削除できます。Oracleホームを削除した後、その名前と場所を再利用して、他の製品をインストールできます。そして、アンインストールを確認します。選択された製品がアンインストールされると、「インベントリ」パネルが表示されます。

6.24 Oracle Tuxedoの再インストール

Oracle TuxedoがインストールされているシステムでOracle Tuxedoインストール・プログラムを起動すると、インストール・プログラムは既存のOracle Tuxedoホーム・ディレクトリを検出し、TuxedoがインストールされているORACLE_HOMEが選択されていることを示す警告が表示されます。インストールを続行する場合、選択されたORACLE_HOMEに存在しないコンポーネントはインストールされます。既存のTuxedoコンポーネントはデフォルトでは再インストールされません。