13 Oracle CoherenceでのOracle Tuxedo分散キャッシュ(TDC)の使用
この項の内容は次のとおりです。
すぐに開始する場合は、次のサンプルを参照してください。
この機能に関連するOracle Tuxedo ATMI APIの詳細は、「Oracle Tuxedo分散キャッシュ(TDC)関連のATMI API」を参照してください。
- 概要
- Oracle Coherenceの構成
- Oracle Tuxedo Javaサーバーの構成
- クライアントおよびサーバーを対象としたデータ・キャッシュの使用
- Oracle Tuxedoサービスを対象とした結果キャッシュの使用
- 実行コンテキストID (ECID)のOracle Coherenceへの伝播
- Oracle Tuxedo分散キャッシュ(TDC)関連のATMI API
- Oracle Tuxedo分散キャッシュ(TDC)のプロパティ・ファイルのプロパティ
- Oracle Tuxedo分散キャッシュ(TDC)関連のUBBCONFIGパラメータ
- UBBCONFIG SERVICESセクション
- Oracle Tuxedo分散キャッシュ(TDC)関連のMIB属性
13.1 概要
この機能では、Oracle Coherenceと、Oracle Coherenceのクライアントとして機能するOracle Tuxedo Javaサーバーを利用して、Oracle Coherenceに備えられたキャッシュに関するあらゆる利点を活用できるようにします。
この機能は、次のキャッシング方針をサポートしています。
Oracle CoherenceとTMJAVASVR
が使用されるため、実際にTDCを使用する前に、これらの両方を構成する必要があります。
これらを構成した後、Oracle Tuxedo分散キャッシュを使用できます。
13.1.1 クライアントおよびサーバーを対象としたデータ・キャッシュ
データ・キャッシュを有効にすると、キャッシュにデータを格納し、他のサーバー上のクライアントでキャッシュからデータを取得できます。これにより、クライアントとサーバー間でデータを共有する新しい方法が得られます。特に、他のサーバーとのデータの共有が可能になります。
この機能の特長は次のとおりです。
- 高いパフォーマンス
- キュー、ファイルまたはデータベースを介したデータの格納および取得では、通常、大量のソースが占有され、時間が浪費されるのに対し、キャッシュを介したデータの格納と取得は、より高速かつ軽量です。
- 様々なバッファ・タイプのサポート
- この機能は、多くのOracle Tuxedoバッファ・タイプをサポートしているため、Oracle Tuxedoがサポートするデータ型にデータを一致させる手間が必要ありません。サポートされるTuxedoバッファ・タイプは、
CARRAY
、FML
、FML32
、MBSTRING
、STRING
、VIEW
、VIEW32
、XML
、RECORD
、X_C_TYPE
およびX_COMMON
です。 - 簡単なアプローチ
- この機能は透過的であるため、いっさいコードを変更することなく使用でき、取り組みやすいアプローチとなっています。Oracle Tuxedoでは、Oracle Coherence機能がJavaサーバー・コンテナにカプセル化されているため、ユーザーは、単にJavaサーバーを使用することで、この機能に関連するすべての機能を実装できます。
親トピック: 概要
13.1.2 Oracle Tuxedoサービスを対象とした結果キャッシュ
結果キャッシュを有効にすると、Oracle Tuxedoはまずバックエンド・サービスではなくキャッシュ・エントリの結果にアクセスします。アクセスできない場合や、キャッシュまたはキャッシュ・エントリが期限切れになっている場合、Oracle Tuxedoはバックエンド・サービスにアクセスします。その結果がOracle Tuxedoキャッシュに格納されるため、次回もそれにアクセスできます。
この機能の特長は次のとおりです。
- 高いパフォーマンス
- Oracle Tuxedoで結果をキャッシュに格納するのに適した候補としてよく挙げられるのが、変更されない結果を返す同期サービスです。これにより、バックエンド・サービスにアクセスするネットワーク・オーバーヘッドを減らして、パフォーマンスを高めることができます。
- 高可用性およびスケーラビリティ
- Oracle Coherenceとの統合により、Oracle Tuxedoではその専用のスケーラブルなプロトコルとクラスタ作成機能を利用できるようになります。クラスタは、シームレスに拡大して、メモリーや処理能力を増やすことができます。また、クラスタ・メンバーで障害が発生した場合には透過的にフェイルオーバーするため、シングル・ポイント障害を回避することもできます。その結果、この機能によって可用性とスケーラビリティが高まります。
- 様々なバッファ・タイプのサポート
- この機能は、多くのOracle Tuxedoバッファ・タイプをサポートしているため、Oracle Tuxedoがサポートするデータ型にデータを一致させる手間が必要ありません。サポートされるTuxedoバッファ・タイプは、
CARRAY
、FML
、FML32
、MBSTRING
、STRING
、VIEW
、VIEW32
、XML
、RECORD
、X_C_TYPE
およびX_COMMON
です。 - 簡単なアプローチ
- この機能は透過的であるため、いっさいコードを変更することなく使用でき、取り組みやすいアプローチとなっています。Oracle Tuxedoでは、Oracle Coherence機能がJavaサーバー・コンテナにカプセル化されているため、ユーザーは、単にJavaサーバーを使用することで、この機能に関連するすべての機能を実装できます。
次の図は、Oracle Coherenceに基づいてTDCを使用するためのOracle Tuxedo MPドメインでの一般的なデプロイメントを示しています。
図13-1 Oracle Tuxedoサービスを対象とした結果キャッシュ

この図からわかるように、Oracle Tuxedo JavaサーバーはOracle Coherenceのクライアント(メンバー)と見なされます。Oracle Tuxedo Javaサーバーを直接使用して、異なるマシンに配置されたクラスタ・メンバーが相互に通信する方法に配慮することなく、複数のマシンからの結果をキャッシュできます。
親トピック: 概要
13.2 Oracle Coherenceの構成
Oracle Coherenceで構成する場合と同じく、次のファイルを構成します。詳しい手順は、『Oracle Fusion Middleware Oracle Coherenceでのアプリケーションの開発』を参照してください。
- tangosol-coherence-override.xml
- coherence-cache-config.xml
前述の構成ファイルは任意のパスにデプロイできますが、このパスはJavaクラス・パス内にあり、かつcoherence.jar
よりも前に存在している必要があります。たとえば、構成ファイルを${APPDIR}/config
に配置し、次のようにOracle Coherenceサーバーを起動できます。
Oracle Coherenceクラスタのデプロイメントのリスト
java -server -showversion $JAVA_OPTS -Dtangosol.coherence.mode=prod -cp
$APPDIR/config: ${COHERENCE_HOME}/lib/coherence.jar
com.tangosol.net.DefaultCacheServer
13.2.1 tangosol-coherence-override.xml
次のリストは一例であり、プロパティを太字で示しています。この例では、coherence_tux
はマルチキャスト・ポート番号が51697
で、ユニキャスト・ポート番号が51687
であるOracle Coherenceクラスタの名前です。
tangosol-coherence-override.xmlのリスト
<xml version='1.0'?>
<coherence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-operational-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-operational-co
nfig coherence-operational-config.xsd">
<cluster-config>
<member-identity>
<cluster-name
system-property="tangosol.coherence.cluster">coherence_tux</cluster-name>
</member-identity>
<unicast-listener>
<address
system-property="tangosol.coherence.localhost">localhost</address>
<port system-property="tangosol.coherence.localport">51687</port>
</unicast-listener>
<multicast-listener>
<port system-property="tangosol.coherence.clusterport">51697</port>
</multicast-listener>
</cluster-config>
</coherence>
親トピック: Oracle Coherenceの構成
13.2.2 coherence-cache-config.xml
次のリストは一例であり、プロパティを太字で示しています。この例では、Oracle Coherenceキャッシュをtux_distributed
という名前で作成します。
coherence-cache-config.xmlのリスト
<?xml version="1.0"?>
<cache-config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-cache-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-cache-config
coherence-cache-config.xsd">
<caching-scheme-mapping>
<cache-mapping>
<cache-name>tux_distributed</cache-name>
<scheme-name>distributed</scheme-name>
</cache-mapping>
</caching-scheme-mapping>
<caching-schemes>
<distributed-scheme>
<scheme-name>distributed</scheme-name>
<service-name>DistributedCache</service-name>
<lease-granularity>member</lease-granularity>
<backing-map-scheme>
<local-scheme/>
</backing-map-scheme>
<autostart>true</autostart>
</distributed-scheme>
</caching-schemes>
</cache-config>
親トピック: Oracle Coherenceの構成
13.3 Oracle Tuxedo Javaサーバーの構成
13.3.1 Oracle Tuxedo Javaサーバーの構成ファイルの構成
Oracle Tuxedo分散キャッシュ(TDC)に導入された、システム提供の新しいOracle Tuxedo Javaサーバーでは、Oracle Coherenceへのキャッシュ・リクエストを変換して応答を返送します。Oracle Coherenceのクライアントとして機能します。
このJavaサーバーによって使用されるJavaパッケージはcom.oracle.tuxedo.tdcj.jar
で、これは${TUXDIR}/udataobj/tuxj/tdc
にあります。
次のリストは、TDCが有効化されたOracle Tuxedo Javaサーバーの構成ファイルの例です。詳細は、バージョン2.0のJavaサーバー構成スキーマ・ファイルを参照してください。
- 一般に、太字のコード行は変更しないでください。クラス
com.oracle.tuxedo.tdc.TCache4Coherence
はTDCによって使用されるメイン・クラスで、これは${TUXDIR}/udataobj/tuxj/tdc/com.oracle.tuxedo.tdcj.jar
にあります。 - 斜体のコード行は、環境の違いに応じて変更する必要があります。ファイルが機能するようにするには、
<APPDIR>
を実際のパスに置き換える必要があることに注意してください。
Oracle Tuxedo Javaサーバーの構成ファイルの構成のリスト
<?xml version="1.0" encoding="UTF-8"?>
<TJSconfig version="2.0">
<java-config>
<jvm-options>-XX:MaxPermSize=192m</jvm-options>
<jvm-options>-server</jvm-options>
<jvm-options>-Dtangosol.coherence.distributed.localstorage=false</jvm-options>
<jvm-options>-Dtangosol.coherence.mode=prod</jvm-options>
</java-config>
<tux-config>
<server-clopt>-f <APPDIR>/config/tdcsvr_coh.conf</server-clopt>
</tux-config>
<classpath-config>
</classpath-config>
<tux-resources>
</tux-resources>
<jdbc-resources>
</jdbc-resources>
<tux-server-config>
<classpath>${TUXDIR}/udataobj/tuxj/tdc/com.oracle.tuxedo.tdcj.jar</classpath>
<classpath>${TUXDIR}/udataobj/tuxj/tdc/dms.jar</classpath>
<classpath>${TUXDIR}/udataobj/tuxj/tdc/ojdl.jar</classpath>
<classpath>${APPDIR}/config</classpath>
<classpath>${COHERENCE_HOME}/lib/coherence.jar</classpath>
<server-class name="com.oracle.tuxedo.tdc.TCache4Coherence">
</server-class>
</tux-server-config>
</TJSconfig>
親トピック: Oracle Tuxedo Javaサーバーの構成
13.3.2 Oracle Tuxedo Distributed Caching (TDC)プロパティ・ファイルの構成
TDC用のキャッシュに関するすべてのプロパティを指定する新規プロパティ・ファイルを追加する必要があります。Oracle Tuxedo Javaサーバーでは、これらのキャッシュの名前を使用してサービスを通知します。単一のプロパティ・ファイルに数多くのOracle Tuxedoキャッシュを定義できます。
次のリストに、プロパティ・ファイルのテンプレートを示します。このテンプレートは、$TUXDIR/udataobj/tuxj/tdc/tdcsvr_coh.conf.template
にあります。このテンプレートでは、tc1
とtc2
という2つのOracle Tuxedoキャッシュ名が構成されています。tc1
ではOracle Coherenceキャッシュtux_distributed
が使用され、tc2
ではOracle Coherenceキャッシュtux2_distributed
が使用されています。
このプロパティの詳細は、「Oracle Tuxedo分散キャッシュ(TDC)のプロパティ・ファイルのプロパティ」を参照してください。
TDCプロパティ・ファイル・テンプレートのリスト
#* global option encoding setting
#options.encoding=no
#* configurations for Tuxedo cache "tc"
#* option encoding setting
#cache.options.encoding.tc=no
#* physical cache used in Oracle Coherence
coh.cache.name.tc=tux_distributed
#* configurations for Tuxedo cache "tc2"
#
#* option encoding setting
#cache.options.encoding.tc2=no
#* physical cache used in Oracle Coherence
#coh.cache.name.tc2=tux2_distributed
親トピック: Oracle Tuxedo Javaサーバーの構成
13.4 クライアントおよびサーバーを対象としたデータ・キャッシュの使用
13.4.1 クライアントおよびサーバーを対象としてデータ・キャッシュを使用するステップ
13.4.1.2 Oracle Coherenceクラスタの起動
実行中のOracle Coherenceクラスタがない場合は、自身のクラスタを起動し、構成ファイルのパスをJavaクラス・パスにcoherence.jar
よりも前に構成します。例は、次のリストを参照してください。
13.4.1.4 UBBCONFIGの構成
TMJAVASVR
をUBBCONFIG
に構成します。TMJAVASVR
では、マルチスレッド構成を使用してパフォーマンスを高めています。また、マルチインスタンス構成を使用して可用性を高めています。
TMJAVASVR用のUBBCONFIGのリスト
*RESOURCE
...
MODEL SHM
...
*MACHINES
"m1" LMID=L1
...
*GROUPS
JGRP1 LMID=L1 GRPNO=10
...
TMJAVASVR SRVGRP=JGRP1 SRVID=10
MINDISPATCHTHREADS=4 MAXDISPATCHTHREADS=4 MIN=2 MAX=2
CLOPT="-- -c /home/scott/tuxedo/dom1/config/tdcsvr_coh.xml"
...
13.4.1.5 キーに関連付けられているOracle TuxedoバッファのOracle Tuxedoキャッシュへの配置
Oracle Tuxedoネイティブ・クライアントまたはワークステーション・クライアントで、TDC API tpgetcache
およびtpcacheput
を使用し、キーに関連付けられているOracle TuxedoバッファをOracle Tuxedoキャッシュに配置します。tpgetcache
およびtpcacheput
の詳細は、「Oracle Tuxedo分散キャッシュ(TDC)関連のATMI API」を参照してください。
キーに関連付けられているOracle TuxedoバッファのOracle Tuxedoキャッシュへの配置のリスト
...
TCACHE* mycache = NULL;
char mykey[128];
char* databuf = NULL;
tpinit(NULL);
databuf = tpalloc("STRING", NULL, 256);
mycache = tpgetcache("tc");
strcpy(mykey, "myname");
strcpy(databuf, "scott");
tpcacheput(mycache, mykey, databuf, 0, 0L);
tpfree(databuf);
...
13.4.1.6 キーに基づいたOracle TuxedoキャッシュからのOracle Tuxedoバッファの取得
Oracle Tuxedoネイティブ・クライアントまたはワークステーション・クライアントで、TDC API tpgetcache
およびtpcacheget
を使用し、キーに関連付けられているOracle TuxedoバッファをOracle Tuxedoキャッシュに取得します。tpgetcache
およびtpcacheget
の詳細は、「Oracle Tuxedo分散キャッシュ(TDC)関連のATMI API」を参照してください。
キーに基づいたOracle TuxedoキャッシュからのOracle Tuxedoバッファの取得のリスト
...
TCACHE* mycache = NULL;
char mykey[128];
char* databuf = NULL;
tpinit(NULL);
databuf = tpalloc("STRING", NULL, 256);
mycache = tpgetcache("tc");
strcpy(mykey, "myname");
tpcacheget(mycache, mykey, &databuf, NULL, 0L);
tpfree(databuf);
...
13.4.2 サンプル: クライアントおよびサーバーを対象としたデータ・キャッシュの使用
${APPDIR}
が/home/scott/tuxedo/dom1
であるとします。
13.4.2.1 サンプル: Oracle Coherenceの構成
-
${APPDIR}/config
にtangosol-coherence-override.xml
を準備します。次のリストを参照してください。マルチキャスト・ポート番号が
51697
で、ユニキャスト・ポート番号が51687
であるOracle Coherenceクラスタcoherence_tux
を構成します。 -
${APPDIR}/config
にcoherence-cache-config.xml
を準備します。次のリストを参照してください。Oracle Coherenceキャッシュ
tux_distributed
を構成します。
tangosol-coherence-override.xmlの準備のリスト
<?xml version='1.0'?>
<coherence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-operational-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-operational-co
nfig coherence-operational-config.xsd">
<cluster-config>
<member-identity>
<cluster-name
system-property="tangosol.coherence.cluster">coherence_tux</cluster-name>
</member-identity>
<unicast-listener>
<address
system-property="tangosol.coherence.localhost">localhost</address>
<port system-property="tangosol.coherence.localport">51687</port>
</unicast-listener>
<multicast-listener>
<port system-property="tangosol.coherence.clusterport">51697</port>
</multicast-listener>
</cluster-config>
</coherence>
coherence-cache-config.xmlの準備のリスト
<?xml version="1.0"?>
<cache-config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-cache-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-cache-config
coherence-cache-config.xsd">
<caching-scheme-mapping>
<cache-mapping>
<cache-name>tux_distributed</cache-name>
<scheme-name>distributed</scheme-name>
</cache-mapping>
</caching-scheme-mapping>
<caching-schemes>
<distributed-scheme>
<scheme-name>distributed</scheme-name>
<service-name>DistributedCache</service-name>
<lease-granularity>member</lease-granularity>
<backing-map-scheme>
<local-scheme/>
</backing-map-scheme>
<autostart>true</autostart>
</distributed-scheme>
</caching-schemes>
</cache-config>
13.4.2.2 サンプル: Oracle Coherenceクラスタの起動
実行中のOracle Coherenceクラスタがない場合は、独自のクラスタを起動できます。
java -server -showversion $JAVA_OPTS -Dtangosol.coherence.mode=prod -cp
${APPDIR}/config: ${COHERENCE_HOME}/lib/coherence.jar
com.tangosol.net.DefaultCacheServer
13.4.2.3 サンプル: Oracle Tuxedo Javaサーバーの構成
13.4.2.3.1 Oracle Tuxedo Javaサーバー用のtdcsvr_coh.xmlの構成
Oracle Tuxedo Javaサーバー用のtdcsvr_coh.xml
を${APPDIR}/config
に準備します。
次のリストを参照してください。<server-clopt>-f /home/scott/tuxedo/dom1/config/tdcsvr_coh.conf</server-clopt>
プロパティにTDCプロパティ・ファイルを指定しています。
Oracle Tuxedo Javaサーバーの構成ファイルの構成のリスト
<?xml version="1.0" encoding="UTF-8"?>
<TJSconfig version="2.0">
<java-config>
<jvm-options>-XX:MaxPermSize=192m</jvm-options>
<jvm-options>-server</jvm-options>
<jvm-options>-Dtangosol.coherence.distributed.localstorage=false</jvm-options>
<jvm-options>-Dtangosol.coherence.mode=prod</jvm-options>
</java-config>
<tux-config>
<server-clopt>-f
/home/scott/tuxedo/dom1/config/tdcsvr_coh.conf</server-clopt>
</tux-config>
<classpath-config>
</classpath-config>
<tux-resources>
</tux-resources>
<jdbc-resources>
</jdbc-resources>
<tux-server-config>
<classpath>${TUXDIR}/udataobj/tuxj/tdc/com.oracle.tuxedo.tdcj.jar</classpath>
<classpath>${TUXDIR}/udataobj/tuxj/tdc/dms.jar</classpath>
<classpath>${TUXDIR}/udataobj/tuxj/tdc/ojdl.jar</classpath>
<classpath>${COHERENCE_HOME}/lib/coherence.jar</classpath>
<classpath>${APPDIR}/config</classpath>
<server-class name="com.oracle.tuxedo.tdc.TCache4Coherence">
</server-class>
</tux-server-config>
</TJSconfig>
13.4.2.3.2 TDCプロパティ・ファイル用のtdcsvr_coh.confの準備
TDCプロパティ・ファイル用のtdcsvr_coh.conf
を
に準備します。
${APPDIR}/config
次のリストを参照してください。Oracle Tuxedoキャッシュtc
を構成していますが、実際にはOracle Coherenceキャッシュtux_distributed
を使用しています。
Oracle Tuxedo分散キャッシュ(TDC)のプロパティ・ファイルの構成のリスト
#* global option encoding setting
#options.encoding=no
#* configurations for Tuxedo cache "tc"
#* option encoding setting
#cache.options.encoding.tc=no
#* physical cache used in Oracle Coherence
coh.cache.name.tc=tux_distributed
13.4.2.4 サンプル: UBBCONFIGでのTMJAVASVRの構成
UBBCONFIG
にTMJAVASVR
を構成します。
次のリストを参照してください。マルチスレッド構成を有効にし、TMJAVASVR
構成ファイルtdcsvr_coh.xml
を設定しています。
UBBCONFIGでのTMJAVASVRの構成のリスト
*RESOURCES
...
MODEL SHM
...
*MACHINES
"m1" LMID=L1
...
*GROUPS
JGRP1 LMID=L1 GRPNO=10
...
TMJAVASVR SRVGRP=JGRP1 SRVID=10
MINDISPATCHTHREADS=4 MAXDISPATCHTHREADS=4 MIN=2 MAX=2
CLOPT="-- -c /home/scott/tuxedo/dom1/config/tdcsvr_coh.xml"
...
13.4.2.5 サンプル: キーに関連付けられているOracle TuxedoバッファのOracle Tuxedoキャッシュへの配置
mykey
キーに関連付けられたOracle Tuxedo STRING
バッファをOracle Tuxedoキャッシュtc
に格納します。
Oracle Tuxedoバッファの配置のリスト
...
TCACHE* mycache = NULL;
char mykey[128];
char* databuf = NULL;
tpinit(NULL);
databuf = tpalloc("STRING", NULL, 256);
mycache = tpgetcache("tc");
strcpy(mykey, "myname");
strcpy(databuf, "scott");
tpcacheput(mycache, mykey, databuf, 0, 0L);
tpfree(databuf);
...
13.4.2.6 サンプル: キーに基づいたOracle TuxedoキャッシュからのOracle Tuxedoバッファの取得
キーmykey
に従ってOracle Tuxedoキャッシュtc
からOracle Tuxedo型付きバッファを取得します。
Oracle Tuxedoバッファの取得のリスト
...
TCACHE* mycache = NULL;
char mykey[128];
char* databuf = NULL;
tpinit(NULL);
databuf = tpalloc("STRING", NULL, 256);
mycache = tpgetcache("tc");
strcpy(mykey, "myname");
tpcacheget(mycache, mykey, &databuf, NULL, 0L);
tpfree(databuf);
...
13.5 Oracle Tuxedoサービスを対象とした結果キャッシュの使用
13.5.1 Oracle Tuxedoサービスを対象として結果キャッシュを使用するステップ
また、MIBを使用してTDCに動的に変更を加えることもできます。
13.5.1.2 Oracle Coherenceクラスタの起動
実行中のOracle Coherenceクラスタがない場合は、自身のクラスタを起動し、構成ファイルのパスをJavaクラス・パスにcoherence.jar
よりも前に構成します。例は、次のリストを参照してください。
13.5.1.4 UBBCONFIGの構成
TDCをUBBCONFIG
に構成します。
13.5.1.4.1 SERVICESセクション
このサービスのキャッシュに使用するキャッシュ基準の名前としてCACHING=string_value
を指定します。詳細は、「Oracle Tuxedo分散キャッシュ(TDC)関連のUBBCONFIGパラメータ」を参照してください。
親トピック: UBBCONFIGの構成
13.5.1.4.2 CACHINGセクション
UBBCONFIG
でこのCACHING
セクションを指定します。詳細は、「Oracle Tuxedo分散キャッシュ(TDC)関連のUBBCONFIGパラメータ」を参照してください。
次のリストに例を示します
-
Svccache1
は、Oracle Tuxedoキャッシュtc1
を使用します。その他の構成はデフォルトです。(つまり、KEY=$service+$request
およびKEY_BUFTYPE=STRING
です)。 -
Svccache2
は、Oracle Tuxedoキャッシュtc1
を使用します。リクエストを使用してレスポンス・データのキャッシング時にキーを認識します。その他の構成はデフォルトです。(つまり、KEY_BUFTYPE=STRING
です)。 -
Svccache3
は、Oracle Tuxedoキャッシュtc1
を使用します。固定文字列key1
をキーとして使用します。その他の構成はデフォルトです。 -
Svccache4
は、Oracle Tuxedoキャッシュtc1
を使用します。サービスへのリクエスト・メッセージのバッファ・タイプは、サブタイプがmystruct1
のVIEW32
です。サブタイプmystruct1
のフィールドname
の値をキーとして使用します。 -
Svccache5
は、Oracle Tuxedoキャッシュtc1
を使用します。FML32
およびVIEW32: mystruct1
のバッファ・タイプには、同じfield1
およびfield2
があります(名前とデータ型は同じである必要がありますが、値は違ってもかまいません)。リクエスト・メッセージでは、field1
およびfield2
の値をキーとして使用します。
UBBCONFIG CACHINGセクションの構成のリスト
...
*CACHING
Svccache1
CACHENAME="tc1"
Svccache2
CACHENAME="tc1"
KEY="$request"
Svccache3
CACHENAME="tc1"
KEY="key1"
Svccache4
CACHENAME="tc1"
KEY="$request"
KEY_BUFTYPE="IEW32:mystruct1"
KEY_FIELD="name"
Svccache5
CACHENAME="tc1"
KEY="mykey_$request"
KEY_BUFTYPE="FML32;VIEW32:mystruct1"
KEY_FIELD="field1+field2"
...
親トピック: UBBCONFIGの構成
13.5.1.5 MIBを使用したTDCに対する動的な変更
MIBを使用して、TDCに対する変更を動的に行うことができます。
詳細は、「Oracle Tuxedo分散キャッシュ(TDC)関連のMIB属性」を参照してください。
13.5.2 サンプル: Oracle Tuxedoサービスを対象とした結果キャッシュの使用
13.5.2.1 サンプル: VIEWTABLEの構成
VIEWTABLE
を構成します。次のリストを参照してください。ここで、バッファ・タイプはVIEW
であり、サブタイプはmystruct1
です。
VIEWTABLEの構成のリスト
...
VIEW mystruct1
# type cname fbname count flag size null
string name - 1 - 31 -
string address - 1 - 255 -
char age - 1 - - -
END
...
13.5.2.2 サンプル: UBBCONFIGの構成
UBBCONFIG
を構成します。次のリストを参照してください
-
TMJAVASVR
が構成されています - マルチスレッド構成を有効にし、構成ファイル
tdcsvr_coh.xml
を設定しています。 - キャッシュが有効化されています
- Oracle Tuxedoサービス
mysvc1
では、パフォーマンスを高めるためにキャッシュ・エントリsvccache1
を使用します。svccache1では、Oracle Tuxedoキャッシュtc1
を使用して、サービス結果をキャッシュします。レスポンスの対応するキーは、リクエスト・データの値です。
UBBCONFIGの構成のリスト
...
*GROUPS
JGRP1 LMID=L1 GRPNO=10
...
TMJAVASVR SRVGRP=JGRP1 SRVID=10
MINDISPATCHTHREADS=4 MAXDISPATCHTHREADS=4 MIN=2 MAX=2
CLOPT="-- -c /home/scott/tuxedo/dom1/config/tdcsvr_coh.xml"
...
*SERVICES
mysvc1
...
CACHING="svccache1"
...
*CACHING
svccache1
CACHENAME="tc1"
KEY=$request
...
13.5.2.3 サンプル: サーバー側での設定
サーバー側で構成します。次のリストを参照してください。ここで、mysvc1
のリクエストはSTRING
として設定され、mysvc1
のレスポンスはVIEW32
mystruct1
です。
サーバー側での構成のリスト
...
struct mystruct1* rsp;
int tpsvrinit(int argc, char *argv[])
{
rsp = tpalloc("VIEW32", "mystruct1", sizeof(struct mystruct1));
}
...
void mysvc1(TPSVCINFO *rqst)
{
int ret = 0;
/*rqst->data is the name, getrsp will get data from the database and
store into rsp*/
ret = getrsp(rqst->data, rsp);
if(ret < 0){
tpreturn(TPFAIL, 0, NULL, 0L, 0);
}
tpreturn(TPSUCCESS, 0, rsp, 0L, 0);
}
...
13.5.2.4 サンプル: クライアント側での設定
データ・ファイルが次のようになっていると想定としています。
データ・ファイルの例のリスト
...
Scott
Mike
Andy
Scott
Ben
Brian
Scott
Clark
...
次のリストのように、クライアント側で設定します。
最初にScott
がリクエストとして取得されると、mysvc1
が呼び出されてレスポンスが返されます。レスポンスは、Oracle Tuxedoキャッシュtc1
にキーScott
とともに格納されます。キャッシュtc1
内のデータが期限切れになっていないかぎり、以後Scott
からサービスmysvc1
にリクエストを送ると、サービス自体が呼び出されるのではなく、キャッシュtc1
からレスポンスが取得されます。
クライアント側での設定のリスト
...
struct mystruct1* rsp;
char* req;
int main(int argc, char *argv[])
{
int ret;
long olen = 0;
rsp = tpalloc("VIEW32", "mystruct1", sizeof(struct mystruct1));
req = tpalloc("STRING", NULL, 32);
/*get name from the data file*/
while(getname(req) == 0){
tpcall("mysvc1",req, 0, &rsp, &olen,0);
}
}
...
13.6 実行コンテキストID (ECID)のOracle Coherenceへの伝播
Oracle Coherenceのログでは、実行コンテキストID (ECID)を使用できます。このグローバルに一意のIDをOracleコンポーネント間のリクエストにアタッチできます。ECIDを使用すると、複数のリクエストが並行して処理される場合に同じリクエストに関する複数のログ・メッセージを追跡できます。Oracle Coherence操作を呼び出す前にすでにアクティブ化されたECIDを持っている場合にのみ、Oracle CoherenceログにECIDが含まれます。ECIDは、別のコンポーネントから渡される場合や、クライアント・コードで取得される場合があります。
Oracle Tuxedo TDCは、Oracle Coherenceのクライアントとして機能するため、ECIDをOracle Coherenceに伝播できます。
13.6.1 ECIDの有効化
- Oracle TuxedoでのECIDの有効化
Oracle Tuxedoには、
UBBCONFIG
内のOPTIONS
に追加してECIDを制御できる2つのフラグがあります。-
ECID_CREATE
ECID (実行コンテキスト識別子)作成機能が有効になります。このケースでは、境界ノード(ネイティブ、WSおよびJoltのクライアントとドメイン・ゲートウェイを含む)がECIDを生成できます。
-
ECID_USERLOG
識別子
ECID_USERLOG
が設定され、ECIDがNULL文字列の場合、ECIDはユーザー・ログに追加されます。
-
- Oracle CoherenceでのECIDの有効化
手順の詳細は、 Oracle Coherenceのドキュメント を参照してください。
13.6.2 TDCに対するECIDの有効化
${APPDIR}/config
にtangosol-coherence-override.xml
を準備します。具体的には次のようになります。
-
<destination>
要素を使用して、ログ・メッセージをファイルに出力する場合のパスおよびファイル名を構成します。指定されたパスは、存在している必要があります。 ecid
を< message-format >
要素に追加して、ECIDを有効にします。-
<severity-level>
要素を使用して、ログ・レベルを変更できます。
リスト
<?xml version='1.0'?>
<coherence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-operational-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-operational-co
nfig coherence-operational-config.xsd">
<cluster-config>
<member-identity>
<cluster-name
system-property="tangosol.coherence.cluster">coherence_tux</cluster-name>
</member-identity>
<unicast-listener>
<address
system-property="tangosol.coherence.localhost">localhost</address>
<port system-property="tangosol.coherence.localport">51687</port>
</unicast-listener>
<multicast-listener>
<port system-property="tangosol.coherence.clusterport">51697</port>
</multicast-listener>
</cluster-config>
<logging-config>
<destination
system-property="tangosol.coherence.log">/tmp/coherence.log</destination>
<severity-level
system-property="tangosol.coherence.log.level">9</severity-level>
<message-format>{date}/{uptime} {product} ecid={ecid} {version}
<{level}>(thread={thread},member={member}):{text}</message-format>
</logging-config>
</coherence>
13.7 Oracle Tuxedo分散キャッシュ(TDC)関連のATMI API
表13‑1 Oracle Tuxedo分散キャッシュ(TDC)関連のATMI API
名前 | 説明 |
---|---|
tpgetcache(3c) | 構成に従ってOracle Tuxedoキャッシュ・ハンドルを取得します。 |
tpcacheput(3c) | Oracle Tuxedo型付きバッファをキーに関連付けてキャッシュに格納します。 |
tpcacheget(3c) | キーに関連付けられているOracle Tuxedo型付きバッファをキャッシュから取得します。 |
tpcacheremove(3c) | パラメータkeyに関連付けられているキャッシュ・エントリをキャッシュから削除します。 |
tpcachemremove(3c) | パラメータkeyarrayに関連付けられているキャッシュ・エントリをキャッシュから削除します。 |
tpcacheremoveall(3c) | キャッシュからすべてのキャッシュ・エントリを削除します。 |
13.7.1 tpgetcache(3c)
13.7.1.3 説明
tpgetcache(3c)
は、取得するOracle Tuxedoキャッシュの名前を示すOracle Tuxedoキャッシュ名に従ってOracle Tuxedoキャッシュ・ハンドルを取得します。名前の長さは78文字以内にする必要があります。tpgetcache(3c)
はスレッド・レベルのAPIです。返されるハンドルTCACHE
は、同じスレッド内でのみ使用できます。
親トピック: tpgetcache(3c)
13.7.1.4 戻り値
tpgetcache(3c)
は、正常に終了すると、ハンドル型付きのTCACHE
を返しますが、これは内部構造です。
失敗すると、tpgetcache()
はNULL
を返し、tperrno
を設定してエラー条件を示します。呼出しが失敗してtperrno
に特定の値が設定された場合は、続けて、中間のATMI呼出しを省略してtperrordetail(3c)
を呼び出すと、エラーに関する詳細な情報が提供されます。詳細は、「tperrordetail(3c)」
リファレンス・ページを参照してください。
親トピック: tpgetcache(3c)
13.7.1.5 エラー
-
[TPEINVAL]
- 無効な引数(たとえば、confにNULL)が指定されました。
-
[TPENOENT]
- リクエストされたキャッシュは存在しません。
-
[TPETIME]
- このエラー・コードは、タイムアウトが発生したことを示します
-
[TPESYSTEM]
- Oracle Tuxedoシステムのエラーが発生しました。エラーの正確な内容はULOGに追加されます。
-
[TPEOS]
- オペレーティング・システムのエラーが発生しました。
-
[TPESVCFAIL]
- Oracle Tuxedoキャッシュ・サーバーはエラーを満たします。
tpurcode
には正確なエラー値が含まれます。tpurcode
の想定される値を次に示します。
親トピック: tpgetcache(3c)
13.7.2 tpcacheput(3c)
13.7.2.2 形式
#include "atmi.h"
int tpcacheput(TCACHE* tc, char* key, char* data, long len, long flags);
親トピック: tpcacheput(3c)
13.7.2.3 説明
tpcacheput(3c)
は、Oracle Tuxedo型付きバッファをキーに関連付けてキャッシュに格納します。tc
は、tpgetcache(3c)
によって返されます。data
は、tpalloc(3c)
によって割り当てられたTuxedo型付きバッファを指します。len
はデータの長さです。データの型に長さを指定する必要がない場合(FMLフィールド化バッファなど)、len
は無視されます(0でもかまいません)。flags
は予約されており、0L
である必要があります。
親トピック: tpcacheput(3c)
13.7.2.4 戻り値
正常に終了すると、tpcacheput(3c)
は0を返します。
異常終了すると、tpcacheput(3c)
は-1を返し、tperrno
を設定してエラー条件を示します。呼出しが異常終了してtperrno
に特定の値が設定されたときは、中間のATMI呼出しを省略して引き続きtperrordetail(3c)
を呼び出すと、エラーに関する詳細な情報が提供されます。詳細は、「tperrordetail(3c)」
リファレンス・ページを参照してください。
親トピック: tpcacheput(3c)
13.7.2.5 エラー
親トピック: tpcacheput(3c)
13.7.3 tpcacheget(3c)
13.7.3.2 形式
#include "atmi.h"
int tpcacheget(TCACHE* tc, char* key, char** odata, long* olen, long flags);
親トピック: tpcacheget(3c)
13.7.3.3 説明
tpcacheget(3c)
は、キーに関連付けられているOracle Tuxedo型付きバッファをキャッシュから取得します。tc
はtpgetcache(3c)
によって返されます。odata
は、キーのデータが読み込まれるバッファへのポインタのアドレスです。これは、tpalloc(3c)
によって最初に割り当てられたバッファを指す必要があります。olen
はデータの長さを指します。flags
は予約されており、
である必要があります。
0L
親トピック: tpcacheget(3c)
13.7.3.4 戻り値
正常に終了すると、tpcacheget(3c)
は0を返します。
異常終了すると、tpcacheget(3c)
は-1を返し、tperrno
を設定してエラー条件を示します。呼出しが異常終了してtperrno
に特定の値が設定されたときは、中間のATMI呼出しを省略して引き続きtperrordetail(3c)
を呼び出すと、エラーに関する詳細な情報が提供されます。詳細は、「tperrordetail(3c)」
リファレンス・ページを参照してください。
親トピック: tpcacheget(3c)
13.7.3.5 エラー
-
[TPEINVAL]
- 無効な引数が指定されました。
-
[TPENOENT]
- リクエストされたキャッシュは存在しません。
-
[TPETIME]
- このエラー・コードは、タイムアウトが発生したことを示します。
-
[TPESYSTEM]
- Oracle Tuxedoシステムのエラーが発生しました。エラーの正確な内容はULOGに追加されます。
-
[TPEOS]
- オペレーティング・システムのエラーが発生しました。
-
[TPESVCFAIL]
- Oracle Tuxedoキャッシュ・サーバーはエラーを満たします。
tpurcode
には正確なエラー値が含まれます。tpurcode
の想定される値を次に示します。 -
TDC_ERR_CACHE_NOTEXIST
- このエラー・コードは、リクエストされたOracle Tuxedoキャッシュが存在しないことを示します。
-
TDC_ERR_CACHE_UNAVAIL
- このエラー・コードは、リクエストされたOracle Tuxedoキャッシュが使用不可であることを示します。
-
TDC_ERR_CACHENAME_INVALID
- このエラー・コードは、リクエストされたOracle Tuxedoキャッシュが無効であることを示します。
-
TDC_ERR_KEY_NOTEXIST
- このエラー・コードは、指定されたキーに基づいてリクエストされたエントリが存在しないことを示します。
親トピック: tpcacheget(3c)
13.7.4 tpcacheremove(3c)
13.7.4.2 形式
#include "atmi.h"
int tpcacheremove(TCACHE* tc, char* key, long flags);
親トピック: tpcacheremove(3c)
13.7.4.3 説明
tpcacheremove
(3c)は、パラメータkeyに関連付けられているキャッシュ・エントリを削除します。tc
はtpgetcache(3c)
によって返されます。flags
は予約されており、0L
である必要があります。
親トピック: tpcacheremove(3c)
13.7.4.4 戻り値
正常に終了すると、tpcacheremove(3c)
は0を返します。
異常終了すると、tpcacheremove(3c)
は-1を返し、tperrno
を設定してエラー条件を示します。呼出しが異常終了してtperrno
に特定の値が設定されたときは、中間のATMI呼出しを省略して引き続きtperrordetail(3c)
を呼び出すと、エラーに関する詳細な情報が提供されます。詳細は、「tperrordetail(3c)」
リファレンス・ページを参照してください。
親トピック: tpcacheremove(3c)
13.7.4.5 エラー
親トピック: tpcacheremove(3c)
13.7.5 tpcachemremove(3c)
13.7.5.1 名前
tpcachemremove
- パラメータkeyarrayに関連付けられているキャッシュ・エントリをキャッシュから削除します
親トピック: tpcachemremove(3c)
13.7.5.2 形式
#include "atmi.h"
int tpcachemremove(TCACHE* tc, char* keyarray[], int size, long flags);
親トピック: tpcachemremove(3c)
13.7.5.3 説明
tpcachemremove(3c)
は、パラメータkeyarrayに関連付けられているキャッシュ・エントリをキャッシュから削除します。tc
はtpgetcache(3c)
によって返されます。keyarray
は、削除されるキーの配列です。size
はkeyarrayのサイズです。flags
は予約されており、0L
である必要があります。
親トピック: tpcachemremove(3c)
13.7.5.4 戻り値
正常に終了すると、tpcachemremove(3c)
は0を返します。
異常終了すると、tpcachemremove(3c)
は-1を返し、tperrno
を設定してエラー条件を示します。呼出しが異常終了してtperrno
に特定の値が設定されたときは、中間のATMI呼出しを省略して引き続きtperrordetail(3c)
を呼び出すと、エラーに関する詳細な情報が提供されます。詳細は、「tperrordetail(3c)」
リファレンス・ページを参照してください。
親トピック: tpcachemremove(3c)
13.7.5.5 エラー
親トピック: tpcachemremove(3c)
13.7.6 tpcacheremoveall(3c)
13.7.6.2 形式
#include "atmi.h"
int tpcacheremoveall(TCACHE* tc, long flags);
親トピック: tpcacheremoveall(3c)
13.7.6.3 説明
tpcacheremoveall(3c)
は、キャッシュからすべてのエントリを削除します。tc
はtpgetcache(3c)
によって返されます。flags
は予約されており、0L
である必要があります。
親トピック: tpcacheremoveall(3c)
13.7.6.4 戻り値
正常に終了すると、tpcacheremoveall(3c)
は0を返します。
異常終了すると、tpcacheremoveall(3c)
は-1を返し、tperrno
を設定してエラー条件を示します。呼出しが異常終了してtperrno
に特定の値が設定されたときは、中間のATMI呼出しを省略して引き続きtperrordetail(3c)
を呼び出すと、エラーに関する詳細な情報が提供されます。詳細は、「tperrordetail(3c)」
リファレンス・ページを参照してください。
親トピック: tpcacheremoveall(3c)
13.7.6.5 エラー
親トピック: tpcacheremoveall(3c)
13.8 Oracle Tuxedo分散キャッシュ(TDC)のプロパティ・ファイルのプロパティ
Oracle Tuxedo TDCプロパティ・ファイルは、簡単な行指向形式のファイルです。
Propertiesは行単位で処理されます。行には自然行と論理行の2種類があります。
自然行は、行末記号(\\n
、\\r
、または\\r\\n
)のセットまたはストリームの末尾で区切られた1行の文字列として定義されます。自然行は、空白の行やコメント行であるか、キーと要素のペアの全部または一部を保持する場合があります。
論理行は、キーと要素のペアの全データを保持します。バックスラッシュ文字\\
を使用して行末記号シーケンスをエスケープすることで、隣接する複数の自然行にまたがる場合があります。
空白文字だけを含む自然行は、空白と見なされて無視されます。コメント行には、ASCII '#'
または'!'
が最初の非空白文字として含まれます。キーには、行内の最初の非空白文字から最初のエスケープされていない'=', ':'
の手前までの文字がすべて含まれます。キーのあとの空白はすべてスキップされます。キーに続く最初の非空白文字が'='
または':'
である場合、これは無視され、その後の空白文字もすべてスキップされます。行上の残りのすべての文字は、関連付けられた要素文字列の一部になります。残りの文字がない場合、その要素は空の文字列""
です。
同じキーのプロパティが複数ある場合は、最後のプロパティが使用されます。
次の表に、サポートされているTDCプロパティ・ファイルのプロパティを示します。
表13-2 Oracle Tuxedo Distributed Caching (TDC)プロパティ・ファイルのプロパティ
プロパティ | 説明 |
---|---|
options.encoding
|
次の値を指定できます:
. |
cache.options.encoding.[cachename]
|
yes は、Oracle Tuxedoキャッシュ[cachename] 内のすべてのキャッシュ・データをエンコードする必要があることを示します。データ表現が異なるマシンにキャッシュ・ユーザーを配置するときに、有効にする必要があります。
このプロパティを設定しないと、 |
coh.cache.name.[cachename]
|
Oracle Tuxedoキャッシュ[cachename] のためにCoherenceクラスタで使用されているキャッシュ名を示します。
これは、Oracle CoherenceをTDCのために使用する場合に、TDCプロパティ・ファイルで必要になります。 |
ノート:
[cachename]
の長さは、78文字以下にする必要があります。
13.10 UBBCONFIG SERVICESセクション
表13‑3 Oracle Tuxedo分散キャッシュ(TDC)関連のUBBCONFIG SERVICESセクション・パラメータ
パラメータ | 説明 |
---|---|
CACHING=string_value (必須)
|
レスポンスをキャッシュする際に、このサービスに使用するキャッシュ基準の名前を指定します。string_value は、CACHING セクションで定義されているCACHING_CRITERIA_NAME である必要があります。このパラメータの指定は必須であり、指定しない場合、サービス・キャッシュは有効になりません。string_value の長さは、127文字以下にする必要があります。
|
13.10.1 UBBCONFIG CACHINGセクション
表13‑4 Oracle Tuxedo分散キャッシュ(TDC)関連のUBBCONFIGパラメータ
パラメータ | 説明 |
---|---|
CACHING_CRITERIA_NAME required_parameters (必須)
|
CACHING_CRITERIA_NAME (string_value )は、SERVICES セクション内の特定のサービス・エントリについてCACHINGパラメータに割り当てられている名前です。CACHING_CRITERIA_NAME の長さは、127文字以下にする必要があります。
|
CACHENAME=string_value (必須)
|
使用するOracle Tuxedoキャッシュの名前を指定します。string_value は78文字以内にする必要があります。
|
KEY=string_value (オプション)
|
キャッシュされたデータを関連付けるキーの構成方法を指定します。string_value は127文字以下にする必要があります。
このパラメータは省略可能です。指定されていない場合、キーは、サービス名とリクエスト内のシリアライズされたユーザー・データの組合せとして生成されます。 たとえば、
|
KEY_BUFTYPE="type1[:subtype1[,subtype2 . . . ]][;type2[:subtype3[, . . . ]]] . . ." (オプション)
|
キーを生成するために使用する、このキャッシング・エントリが有効なデータ・バッファのタイプとサブタイプのリスト。このパラメータの長さは255文字までで、最大32のタイプ/サブタイプの組合せを指定できます。
タイプは、 このパラメータが指定されない場合は、 このパラメータは、 |
(オプション) |
キーを生成するために使用するバッファ内のフィールドの名前を指定します。255文字以内で、最大8つのフィールドを指定できます。
各フィールドはFMLフィールド表( XMLバッファ内のXML要素の内容または要素属性については、次の構文を使用してフィールドの名前を定義します。
要素名と属性名を組み合せて、最大35文字まで指定できます。Oracle Tuxedoでは、サービス・キャッシュでXMLバッファを処理する際に、指定された要素タイプの最初のオカレンスのみを認識します。XMLは、属性名に使用できる文字セットを厳密に定義しています。属性名は、単一の文字、アンダースコア、またはコロンを含む文字列で、その後に1つ以上の名前文字が続きます。要素名と属性名はいずれも、大文字/小文字が区別されます。詳細は、XMLのドキュメントを参照してください。 KEY_BUFTYPE がSTRING またはCARRAY に設定されている場合は、次の構文を使用してフィールドを定義します。 Index1はバッファ内のフィールドの開始インデックスを示し、index2はフィールドの終了インデックスを示します。このバラメータが定義されていない場合は、バッファ全体がキーと見なされます。インデックスは1から設定する必要があります。 このパラメータは、 |
親トピック: UBBCONFIG SERVICESセクション
13.11 Oracle Tuxedo分散キャッシュ(TDC)関連のMIB属性
13.11.1 T_SERVICEクラスの定義
表13‑5 Oracle Tuxedo分散キャッシュ(TDC)関連のMIB属性
属性 | タイプ | 権限 | 値 | デフォルト |
---|---|---|---|---|
TA_CACHING
|
string
|
rwxr--r--
|
string [0..127]
|
""
|
13.11.2 T_CACHINGクラスの定義
このT_CACHING
クラスは、アプリケーションに対するキャッシング指定の構成属性を表します。これらの属性値によって、アプリケーションのキャッシュ基準(バッファ・タイプ、フィールド名、キャッシュ定義など)を識別して特徴付けます。
表13‑6 Oracle Tuxedo分散キャッシュ(TDC)関連のMIB属性
属性 | タイプ | 権限 | 値 | デフォルト |
---|---|---|---|---|
TA_CACHING_NAME(r)(*)
|
string
|
ru--r--
|
string[0..127]
|
N/A
|
TA_CACHING_CACHENAME(r)
|
string
|
rw-r--r--
|
string[1..78]
|
N/A
|
TA_CACHING_KEY
|
string
|
rw-r--r--
|
string[0..127]
|
""
|
TA_CACHING_KEY_BUFTYPE(*)
|
string
|
ru--r--
|
string[0..255]
|
"STRING"
|
TA_CACHING_KEY_FIELD
|
string
|
rw-r--r--
|
string[0..255]
|
""
|
TA_STATE(k)
|
string
|
rw-r--r--
|
GET: "VAL" |
N/A
|
SET: "{NEW | INV}"
|
N/A |
ノート:
- (k)
GET
キー・フィールド - (r) オブジェクトの作成に必要なフィールド(
SET TA_STATE NEW
) - (*)
GET/SET
キー、SET
操作では1つ以上必要 u
(一意性)が指定されている権限は、TA_CACHING_NAME
とTA_CACHING_KEY_BUFTYPE
の組合せが一意である必要があることを意味します。-
TA_CACHING_NAME: string[1..127]
- キャッシュ基準名を指定します。
-
TA_CACHING_CACHENAME: string[1..78]
- 使用するOracle Tuxedoキャッシュの名前を指定します。
-
TA_CACHING_KEY: string[0..127]
- キャッシュ・データを関連付けるキーの構成方法を指定します。
-
TA_CACHING_KEY_BUFTYPE: string[0..255]
- キーを生成するために使用する、このキャッシング・エントリが有効なデータ・バッファのタイプとサブタイプのリストを指定します。このパラメータの長さは255文字までで、最大32のタイプ/サブタイプの組合せを指定できます。タイプは、
STRING
、CARRAY
、FML
、FML32
、XML
、VIEW
、VIEW32
、RECORD
、MBSTRING
、X_C_TYPE
またはX_COMMON
のいずれかにする必要があります。タイプがSTRING
、CARRAY
、FML
、FML32
、MBSTRING
またはXML
の場合、サブタイプは指定できません。タイプがVIEW
、VIEW32
、RECORD
、X_C_TYPE
およびX_COMMON
の場合はサブタイプが必要です(*は使用できません)。サブタイプ名には、セミコロン、コロン、カンマまたはアスタリスク文字を使用できません。タイプとサブタイプのペアのうち、重複するものは同じルーティング・キャッシュ基準名として指定できません。タイプとサブタイプのペアが一意の場合、複数のルーティング・キャッシュ・エントリは同じ基準名を持つことができます。単一キャッシュ・エントリに複数のバッファ・タイプが指定されている場合は、各バッファ・タイプのキャッシュ・フィールドのデータ型は同じである必要があります。 -
TA_CACHING_KEY_FIELD: string[0..255]
- キーを生成するために使用するバッファ内のフィールドの名前を指定します。255文字以内で、最大8つのフィールドを指定できます。各フィールドはFMLフィールド表(
FLDTBLDIR
およびFIELDTBLS
環境変数か、またはFLDTBLDIR32
およびFIELDTBLS32
環境変数を使用)またはFMLのVIEW表(VIEWDIR
およびVIEWFILES
環境変数か、またはVIEWDIR32
およびVIEWFILES32
環境変数を使用)内のXML要素、要素属性またはフィールド名にすることができます。この情報は、メッセージの送信時に、サービス・キャッシュに関連するフィールド値を取得するために使用されます。XMLバッファ内のXML要素の内容または要素属性については、次の構文を使用してフィールドの名前を定義します。root_element[/child_element][/child_element][/. . .][/@attribute_name]
-
TA_STATE
-
-
GET: "{VALid}"
GET
操作は、選択したT_CACHING
オブジェクトの構成情報を検索します。以下に示す状態は、GET
リクエストに応えて返されるTA_STATE
の意味を示します。これら以外の状態は返されません。VALid
:T_CACHING
オブジェクトが定義されています。これがこのクラスの唯一の有効な状態です。-
SET: "{NEW | INValid}"
SET
操作は、選択したT_CACHING
オブジェクトの構成情報を更新します。以下に示す状態は、SET
リクエストで設定されるTA_STATE
の意味を示します。これ以外の状態を設定することはできません。NEW
: アプリケーションのT_CACHING
オブジェクトを作成します。状態の変更はINValid
状態でのみ可能です。正常に終了すると、オブジェクトの状態はVALid
になります。INValid
: アプリケーションのT_CACHING
オブジェクトを削除します。状態の変更は、VALid
状態でのみ可能です。正常に終了すると、オブジェクトの状態はINValid
になります。
-
-