ODBC標準では、次の4つの接続属性を定義しています。
DSN
ドライバ
UID
PWD
これらの属性のODBC定義の説明については、使用しているプラットフォームのODBCマニュアルを参照してください。
『Microsoft ODBC 3.0 Programmer's Reference and SDK Guide』
『Microsoft ODBC 2.0 Programmer's Reference and SDK Guide』
この章では、TimesTenで定義されるすべての接続属性について説明します。接続文字列内に指定された属性の名前とほとんどの値を表示するために、アプリケーションはttConfiguration
組込みプロシージャを使用できます。
注意: ODBC標準に従うと、ある属性が接続文字列内に複数回出現する場合、指定されている最初の値が使用され、後続値は使用されません。 |
UNIXでは、False
は属性値が0
に設定されることを意味し、True
は属性値が1
に設定されることを意味します。
Windowsでは、False
はチェック・ボックスが選択されないことを意味し、True
はチェック・ボックスが選択されることを意味します。
次の項では、「List属性のリスト」の各表にリストしてあるTimesTenの属性について説明します。次の表に、各属性の詳細を説明します。
初期接続属性の値を現在有効な値以外に変更できるのは、インスタンス管理者のみです。(ただし、AutoCreate
およびForceConnect
の変更には権限は不要です。)
この項では、次の表を示します。
名前 | 説明 | デフォルト |
---|---|---|
|
データベースへの接続の特定の属性を識別する名前。 |
なし |
|
物理データベースを指定します。 |
なし |
|
データベースによって使用されるキャラクタ・セットを指定します。この属性はデータベースの作成時に必要です。 |
なし |
|
データ・ソース名の使用方法を指定するコメント。 |
なし |
|
TimesTen ODBCドライバ・マネージャを指定します。 |
なし |
|
トランザクション・ログ・ファイルを保存するディレクトリ。 |
データベース・ディレクトリ |
|
データベースの作成時に、データベースのディスク領域が事前に割り当てられることを指定します。 |
|
|
ユーザーが作成した範囲索引がTツリー索引であるかBツリー索引であるかを指定します。 |
|
|
自動またはユーザー指定の追跡ベース・パラレル・レプリケーションを有効にします。 |
|
|
ユーザー指定のパラレル・レプリケーションで使用可能な追跡数を指定します。 |
|
|
データベースがディスクに保存されないことを指定します。 |
|
|
データベースの型モード。 |
|
名前 | 説明 | デフォルト |
---|---|---|
|
初期接続時に、データベースが存在しない場合は作成することを指定します。 |
|
|
TimesTenがバックグラウンド・チェックポイントを実行する頻度を秒単位で制御します。 |
|
|
バックグラウンド・チェックポイントの間にログに収集するデータ量をMB単位で制御します。 |
|
|
チェックポイント処理でデータをディスクに書き込むときの最大速度を制御します。 |
|
|
データベースをメモリーにロードする際にチェックポイント・ファイルの読取りに使用されるスレッドの数を制御します。 |
|
|
データベースへのユーザー指定の同時接続数の上限を示します。 |
|
|
障害が発生したデータベースが、対応するサブスクライバ・データベースから正常にリストアされなかった場合に、接続を許可するかどうかを指定します。 |
|
|
TimesTenリカバリでログ・レコードに問題が発生した場合、データベースへの初期接続を継続するかどうかを指定します。 |
|
|
内部ログ・バッファのサイズ(MB単位)。 |
|
|
ログ・バッファ・ストランドの数。 |
|
|
トランザクション・ログ・ファイルのサイズ(MB単位)。 |
|
|
TimesTenによってトランザクション・ログ・ファイルへのログ・データの書込みおよび同期化に使用される方法を制御します。 |
|
|
チェックポイント処理で不要なトランザクション・ログ・ファイルが削除されることを指定します。 |
|
|
共有データベースに接続しているアプリケーションが、データベースのロード中に実メモリーをロックするかどうかを指定します。 |
|
|
接続時に、既存のデータベースを新しいデータベースで上書きすることを指定します。 |
|
|
データベースの永続パーティションのサイズ(MB単位)。 |
|
|
アクティブ・スタンバイ・ペアのレプリケーション・スキームで、アクティブ・マスター・データベースへの変更をスタンバイ・マスター・データベースに適用するために使用するスレッドの数を制御します。 |
|
|
リカバリ中に索引を再作成するために使用するスレッドの数。 |
|
|
データベースの一時パーティションのサイズ(MB単位)。 |
|
名前 | 説明 | デフォルト |
---|---|---|
|
トランザクション制御ブロックのコミット・バッファの最大サイズを指定します。 |
16KB |
|
データソースのシンボリック名が存在するかどうかを指定します。 |
プロセス名 |
|
DDLに関連してトランザクションのコミット動作を制御します。 |
|
|
|
|
|
アクティブ・スタンバイ・レプリケーション・スキーム内でのデータ定義言語(DDL)文のレプリケーションを有効にします。 |
|
|
診断メッセージを生成するかどうかを指定します。 |
|
|
1つのSQL文に同じパラメータが複数回出現する場合に、アプリケーションがTimesTenとOracleのいずれのパラメータ・バインディングを使用するかを指定します。 |
|
|
コミット処理がログ・レコードをディスクに書き込むことを指定します。 |
|
|
分離レベルとして、コミット読取りまたはシリアライズ可能のいずれかを指定します。 |
|
|
接続が行レベル・ロック(値=0)またはデータベース・レベル・ロック(値=1)のいずれを使用するかを指定します。 |
|
|
アプリケーションの接続中のロック待機時間を設定します。 |
|
|
LogPurge属性に使用される値が現在の接続のそれらの値と一致することを指定します。 |
|
|
データベースの永続パーティションに対するメモリーが少ない場合、TimesTenが警告を返し、SNMPトラップをスローするしきい値。 |
90% |
|
接続間でコマンドを共有するかどうかを指定します。 |
|
「UIDおよびPWD」を参照してください。 |
指定されているUIDに対応するパスワードを指定します。Oracle Databaseからデータをキャッシュする場合、PWDはTimesTenパスワードを指定します。必要に応じて、接続文字列にOracle PWDを指定できます。 |
なし |
暗号化されたユーザー・パスワードの値。 |
なし |
|
|
問合せが実行前にタイムアウトした場合に、TimesTenが警告を返してSNMPトラップをスローするかどうかを指定します。 |
|
|
レプリケーション追跡に接続を割り当てます。 |
なし |
|
データベースがSQL文を実行する必要がある制限時間(秒単位)を指定します。 |
|
|
データベースの一時パーティションに対するメモリーが少ない場合、TimesTenが警告を返し、SNMPトラップをスローするしきい値。 |
|
「UIDおよびPWD」を参照してください。 |
TimesTenサーバー上で定義されているユーザー名を指定します。Oracle Databaseからデータをキャッシュする場合、このUIDが、TimesTenにキャッシュされているOracle Database上のUIDと一致する必要があります。 |
なし |
|
即時に接続できない場合、接続の試行を待機することを指定します。 |
|
名前 | 説明 | デフォルト |
---|---|---|
|
接続の文字エンコードを指定します。データベースのキャラクタ・セットとは異なる場合があります。 |
データベースのキャラクタ・セットが |
|
デフォルトの長さセマンティクス構成。 |
|
|
|
|
|
言語比較に使用される照合順番。 |
|
名前 | 説明 | デフォルト |
---|---|---|
|
PL/SQLを有効または無効にします。 |
|
|
共有メモリー・セグメントが、TimesTenダイレクト・ドライバを利用する各プロセスにロードされる仮想アドレス。 |
プラットフォーム固有 |
|
PL/SQLで使用される共有メモリー・セグメントのサイズ(MB単位)。 |
32MB |
名前 | 説明 | デフォルト |
---|---|---|
|
PL/SQLコンパイラで相互参照情報を生成するかどうかを制御します。 |
|
|
PL/SQLユニットの条件付きコンパイルを制御します。 |
|
|
この接続でPL/SQLが使用できるプロセス・ヒープ・メモリーの最大量をMB単位で指定します。 |
|
|
PL/SQLコンパイラがPL/SQLライブラリ・ユニットのコンパイルに使用する最適化レベル。 |
|
|
PL/SQLプロシージャが自動的に終了されるまでの実行時間(秒数)。 |
30秒 |
名前 | 説明 | デフォルト |
---|---|---|
|
Oracle Databaseに変更を適用するために必要なスレッドの数を示します。 |
|
|
キャッシュ・グリッドを有効にします。 |
|
|
メッセージの最大待機時間を秒単位で設定します。 |
|
名前 | 説明 | デフォルト |
---|---|---|
|
Oracle Databaseから動的キャッシュ・グループへのデータの透過的ロードを有効または無効にします。 |
1 (動的キャッシュ・グループのロードが有効) |
|
透過的ロードに失敗した場合にエラー・メッセージを返すかどうかを指定します。 |
0(エラーを返さない) |
|
TimesTenデータベースにデータをロードするOracle DatabaseインスタンスのOracleサービス名。この属性は、キャッシュ・エージェントによってのみ使用されます。 |
なし |
|
TimesTenにキャッシュされるOracle Databaseのパスワードを指定します。 |
なし |
|
TimesTenでローカルで実行されるSQL文、およびOracle Databaseに渡されて実行されるSQL文を指定します。 |
0 |
|
アプリケーション・フェイルオーバー(TAF)および高速アプリケーション通知(FAN)のコールバックのインストールを有効または無効のいずれにするかを指定します。 |
1(コールバックをインストールする) |
名前 | 説明 | デフォルト |
---|---|---|
|
TimesTenサーバーがリスニングするポート番号。 |
なし |
|
自動フェイルオーバーが発生したときにTimesTenサーバーがリスニングするポート番号。 |
なし |
|
フェイルオーバー・ポート番号の範囲。 |
なし |
|
TimesTen Serverが実行しているコンピュータの名前または論理TimesTen Server名。 |
なし |
|
自動フェイルオーバーが発生したときにTimesTen Serverを実行するコンピュータの名前または論理TimesTenサーバー名。 |
なし |
|
TimesTenデータベースに対応するサーバーDSN。 |
なし |
|
自動フェイルオーバーが発生したときのTimesTenデータベースに対応するサーバーDSN。 |
なし |
|
オプション。TimesTen Client/Serverの操作の完了に対するタイムアウト時間(秒単位)。 |
|
データ・ストア属性は、データ・ストアの作成時に設定されます。この項では、表1-1「データ・ストア属性」にリストしたデータ・ストア属性について説明します。
これらの属性には、データベースの作成時にインスタンス管理者のみが値を割り当てることができます。
データ・ソース名(DSN)は接続への属性を一意に識別します。これは次の2つの目的に役立ちます。
ODBCドライバ・マネージャの一意の識別子(存在する場合)として、データ・ストア名を特定のODBCドライバに関連付けます。
別名に一意の属性が関連付けられている1つの物理データベースに対する(場合によっては多数の)別名の1つとして使用します。
データベース属性は、データソース名(データベースへの接続)またはデータ・ストア・パス名(データベース)のいずれかに適用できます。
Windowsでは、データソース名およびデータソースに関連付けられたすべての設定情報(データベース・パス名など)は、システムのレジストリに格納されます。ODBCドライバ・マネージャとTimesTenはこの情報を使用します。
データベース・パス名は物理データベースを一意に識別します。これはデータベースのフル・パス名とファイル名の接頭辞であり、たとえばC:\data\AdminData
となります。この名前はファイル名ではありません。実際のデータベース・ファイルの名前は、たとえばC:\data\AdminData.ds0
やC:\data\AdminData.log0
のように.ds0
や.log0
などの接頭辞で示されます。
注意: データベースの作成時にデータベースのパスと名前を指定する必要があります。データベースを作成した後は変更できません。 |
データベースのキャラクタ・セットにより、データを格納する際のキャラクタ・セットが決定されます。
注意: データベースの作成時のみにデータベースのキャラクタ・セットを指定する必要があります。データベースを作成した後は変更できません。データベースの作成時にこの属性の値を指定しないと、TimesTenはエラー・メッセージ12701を返します。 |
通常、データ要件に基づいて、データベースのキャラクタ・セットを選択する必要があります。たとえば、データをUnicodeで使用するか、UNIX(EUC
)またはWindows(SJIS
)上で日本語として使用するかを選択します。
ご使用の端末の設定またはデータソースと一致する接続キャラクタ・セットを選択する必要があります。「ConnectionCharacterSet」を参照してください。
データベースのキャラクタ・セットと接続キャラクタ・セットが異なる場合、TimesTenは、接続キャラクタ・セットに従って内部的にデータを変換します。接続およびデータベースのキャラクタ・セットが同じ場合、TimesTenはデータ・セットを変換したり解釈する必要はありません。接続およびデータベースのキャラクタ・セットが一致していると、変換の必要がないため、最高のパフォーマンスを得られます。
この属性を使用するには、サポートされているキャラクタ・セットを指定してください。サポートされるキャラクタ・セット名のリストは、次の「サポートされているキャラクタ・セット」を参照してください。
データベースのキャラクタ・セットを選択する場合、いくつかの考慮事項があります。これらの考慮事項については、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のデータベース・キャラクタ・セットの選択に関する説明を参照してください。
設定
DatabaseCharacterSet
名は次のように設定します。
属性の設定場所 | 属性の表示 | 設定 |
---|---|---|
CまたはJavaプログラム、あるいはUNIX odbc.ini ファイル |
DatabaseCharacterSet |
優先キャラクタ・セットを指定します。 |
Windows ODBCデータソース・アドミニストレータ | データベースのキャラクタ・セットのリスト | ODBCデータソース・アドミニストレータで指定されたリストから、優先キャラクタ・セットを選択します。 |
この項の各表では、TimesTenでサポートされているキャラクタ・セットを示します。
名前 | 説明 |
---|---|
JA16EUC |
EUC 24ビットの日本語 |
JA16EUCTILDE |
JA16EUC と同じですが、Unicodeとの間で波ダッシュとチルダをマップする方法は異なります。 |
JA16SJIS |
Shift-JIS 16ビットの日本語 |
JA16SJISTILDE |
JA16SJIS と同じですが、Unicodeとの間で波ダッシュとチルダをマップする方法は異なります。 |
KO16KSC5601 |
KSC5601 16ビットの韓国語 |
KO16MSWIN949 |
Microsoft Windowsコード・ページ949の韓国語。 |
TH8TISASCII |
タイ工業規格620-2533 ASCII 8ビット。 |
VN8MSWIN1258 |
Microsoft Windowsコード・ページ1258の8ビットのベトナム語。 |
ZHS16CGB231280 |
CGB2312-80 16ビットの簡体字中国語 |
ZHS16GBK |
GBK 16ビットの簡体字中国語 |
ZHS32GB18030 |
GB18030-2000 |
ZHT16BIG5 |
BIG5 16ビット繁体字中国語 |
ZHT16HKSCS |
香港増補キャラクタ・セットHKSCS-2001 を使用したMicrosoft Windowsコード・ページ950。Unicodeとの間のキャラクタ・セット変換は、Unicode 3.0に基づきます。 |
ZHT16MSWIN950 |
Microsoft Windowsコード・ページ950の繁体字中国語。 |
ZHT32EUC |
EUC 32ビットの繁体字中国語 |
名前 | 説明 |
---|---|
BLT8CP921 |
ラトビア語標準LVS8-92( 1)Windows/UNIX 8ビットのバルト語 |
BLT8ISO8859P13 |
ISO 8859-13のバルト語。 |
BLT8MSWIN1257 |
Microsoft Windowsコード・ページ1257の8ビットのバルト語。 |
BLT8PC775 |
IBM-PCコード・ページ775の8ビットのバルト語。 |
CEL8ISO8859P14 |
ISO 8859-13のケルト語。 |
CL8ISO8859P5 |
ISO 8859-5のラテン語/キリル語。 |
CL8KOI8R |
RELCOMインターネット標準の8ビットのラテン語/キリル語。 |
CL8KOI8U |
KOI8キリル語(ウクライナ)。 |
CL8MSWIN1251 |
Microsoft Windowsコード・ページ1251の8ビットのラテン語/キリル語。 |
EE8ISO8859P2 |
ISO 8859-2の東ヨーロッパ言語。 |
EL8ISO8859P7 |
ISO 8859-7のラテン語/ギリシャ語。 |
ET8MSWIN923 |
Microsoft Windowsコード・ページ923の8ビットのエストニア語。 |
EE8MSWIN1250 |
Microsoft Windowsコード・ページ1250の8ビットの東ヨーロッパ言語。 |
EL8MSWIN1253 |
Microsoft Windowsコード・ページ1253の8ビットのラテン語/ギリシャ語。 |
EL8PC737 |
IBM-PCコード・ページ737の8ビットのギリシャ語/ラテン語。 |
EE8PC852 |
IBM-PCコード・ページ852の8ビットの東ヨーロッパ言語。 |
LT8MSWIN921 |
Microsoft Windowsコード・ページ921の8ビットのリトアニア語。 |
NE8ISO8859P10 |
ISO 8859-10の北ヨーロッパ言語。 |
NEE8ISO8859P4 |
ISO 8859-4の北および北東ヨーロッパ言語。 |
RU8PC866 |
IBM-PCコード・ページ866の8ビットのラテン語/キリル語。 |
SE8ISO8859P3 |
ISO 8859-3の南ヨーロッパ言語。 |
US7ASCII |
ASCII 7ビットの米語。 |
US8PC437 |
IBM-PCコード・ページ437の8ビットの米語。 |
WE8ISO8859P1 |
ISO 8859-1の西ヨーロッパ言語。 |
WE8ISO8859P15 |
ISO 8859-15の西ヨーロッパ言語。 |
WE8MSWIN1252 |
Microsoft Windowsコード・ページ1252の8ビットの西ヨーロッパ言語。 |
WE8PC850 |
IBM-PCコード・ページ850の8ビットの西ヨーロッパ言語。 |
WE8PC858 |
IBM-PCコード・ページ858の8ビットの西ヨーロッパ言語。 |
名前 | 説明 |
---|---|
AR8ADOS720 |
アラビア語MS-DOS 720 Serverの8ビットのラテン語/アラビア語。 |
AR8ASMO8X |
ASMO拡張708の8ビットのラテン語/アラビア語。 |
AR8ISO8859P6 |
ISO 8859-6のラテン語/アラビア語。 |
AR8MSWIN1256 |
Microsoft Windowsコード・ページ1256の8ビットのラテン語/アラビア語。 |
AZ8ISO8859P9E |
ISO 8859-9のラテン語/アゼルバイジャン語。 |
IW8ISO8859P8 |
ISO 8859-8のラテン語/ヘブライ語。 |
IW8MSWIN1255 |
Microsoft Windowsコード・ページ1255の8ビットのラテン語/ヘブライ語。 |
TR8MSWIN1254 |
Microsoft Windowsコード・ページ1254の8ビットのトルコ語。 |
TR8PC857 |
IBM-PCコード・ページ857の8ビットのトルコ語。 |
WE8ISO8859P9 |
ISO 8859-9の西ヨーロッパ言語とトルコ語。 |
Driver
属性はTimesTen ODBCドライバの名前を指定します。
たとえば、Windowsシステムの場合、値はTimesTen Data Manager 11.2.2
またはTimesTen Client 11.2.2
にできます。UNIXシステムの場合、Driver
属性の値はTimesTen ODBCドライバの共有ライブラリ・ファイルのパス名です。このファイルは、stall_dir/lib
ディレクトリにあります。
LogDir
属性では、データベースのログが存在するディレクトリを指定します。この属性を指定すると、データベースのチェックポイント・ファイルとは別のI/Oパスにトランザクション・ログ・ファイルを配置できます。これにより、スループットが向上します。
Preallocate
属性では、データベースの作成時にTimesTenがデータベース用にファイル・システムの領域を事前割当てするかどうかを決定します。この属性を設定すると、データベースをファイル・システムに保存するときに、データベース用に十分な領域が保証されます。
Preallocate=1
を指定してttRestore
またはttRepAdmin
-duplicate
を使用する場合、PermSize
の値と元のデータベースのPermSize
の値が異なっていると、サイズが異なるチェックポイント・ファイルが2つ生成されることがあります。このことが何かに悪影響を与えることはありません。ただし、この問題は、使用するPermSize
を元のデータベースと同じにするかまたはPreallocate=0
に設定することで完全に回避できます。
複製処理が実行された場合、複製されたデータベースの動作は、元のデータベースまたは複製されたデータベースのPreallocateが1に設定されていても、Preallocateを0に設定したときと同じになります。動作はチェックポイント・ファイルのサイズ(データのサイズとデータベース・ヘッダーのサイズの合計)によって決定されます。
チェックポイント・ファイルは、その後マスター・データベースのチェックポイント・ファイルと同じサイズ(PermSize
とデータベース・ヘッダーの合計)まで大きくなることが可能ですが、領域は事前に割り当てられていません。チェックポイント・ファイルのサイズは、データの追加に伴い大きくなります。
PreAllocate
はデータベース作成時に設定されるために、このような動作になります。これは初期接続属性ではありません。複製処理はデータベースの作成処理ではないため、Preallocate属性は適用されません。
設定
Preallocate
は次のように設定します。
属性の設定場所 | 属性の表示 | 設定 |
---|---|---|
CまたはJavaプログラム、あるいはUNIX odbc.ini ファイル |
Preallocate |
0 (デフォルト): データベースの作成時にデータベース用にファイル・システムの領域を事前割当てしません。
|
Windows ODBCデータソース・アドミニストレータ | 「Preallocate」チェック・ボックス | 選択解除(デフォルト): データベースの作成時にデータベース用にファイル・システムの領域を事前割当てしません。
選択: データベース用にファイル・システムの領域を事前割当てします。 |
注意: 大きなデータベースのディスク領域の再割当てには長時間かかる場合があります。 |
RangeIndexType
属性は、ユーザーが作成した範囲索引がTツリー索引を使用するかBツリー索引を使用するかを指定します。
注意: 0 に設定されたRangeIndexType でデータベースが作成されると、11.2.2.5.0リリースより前のTimesTenでこのデータベースを使用できなくなります。 |
索引の詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』の索引の種類の概要に関する説明を参照してください。
設定
RangeIndexType
は次のように設定します。
属性の設定場所 | 属性の表示 | 設定 |
---|---|---|
CまたはJavaプログラム、あるいはUNIX odbc.ini ファイル |
RangeIndexType |
0 : ユーザーが作成したすべての範囲索引がBツリー索引になります。
1 (デフォルト): ユーザーが作成したすべての範囲索引がTツリー索引を使用します。 |
Windows ODBCデータソース・アドミニストレータ | 「Range Index Type」フィールド | B-tree : ユーザーが作成したすべての範囲索引がBツリー索引になります。
|
ReplicationParallelism
属性とともに使用すると、パラレル・レプリケーションが有効になります。パラレル・レプリケーションを使用すると、マスター上の複数のトランスミッタがサブスクライバ上の複数のレシーバに送信します。
自動パラレル・レプリケーション: トランザクションの依存性が自動的に強制され、すべての変更がコミット順に適用される、複数のスレッドにわたるパラレル・レプリケーション。これはデフォルトです。
コミット依存性が無効化された自動パラレル・レプリケーション: トランザクションの依存性が自動的に強制されるが、サブスクライバ・データベース上とアクティブ・データベース上でトランザクションのコミット順序が同じであることが強制されない、複数のスレッドにわたるパラレル・レプリケーション。特定の追跡にトランザクションを適用することで、レプリケーションのスループットを向上させることもできます。
ユーザー定義のパラレル・レプリケーション: クラシック・レプリケーション・スキームを使用し、トランザクションの依存性が高いと予測され、レシーバと元のデータベースのコミット順序が同じである必要がないアプリケーション向け。トランザクション追跡の数を指定し、各追跡に特定のトランザクションを適用することで、レプリケーションのスループットを向上させることができます。すべての追跡の読取り、送信および適用はパラレルに行われます。
パラレル・レプリケーションの構成の詳細は、『Oracle TimesTen In-Memory Database開発者および管理者ガイド』のパラレル・レプリケーションの構成に関する項を参照してください。
この属性はAWTキャッシュ・グループのパラレル伝播も設定します。デフォルトでは、この属性はOracle Databaseへの更新のパラレル伝播を有効化します。パラレルAWTキャッシュの詳細は、『Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイド』のOracle Database表へのパラレル伝播の構成に関する説明を参照してください。
設定
ReplicationApplyOrdering
は次のように設定します。
属性の設定場所 | 属性の表示 | 設定 |
---|---|---|
CまたはJavaプログラム、あるいはUNIX odbc.ini ファイル |
ReplicationApplyOrdering |
0 : 自動パラレル・レプリケーションを指定します。自動パラレル・レプリケーションは、クラシック・レプリケーション・スキームとアクティブ・スタンバイ・ペア・レプリケーション・スキームの両方で使用できます。(デフォルト)
|
Windows ODBCデータソース・アドミニストレータ | 「Replication Apply Ordering」プルダウン・リスト | 0 : 自動パラレル・レプリケーションを指定します。自動パラレル・レプリケーションは、クラシック・レプリケーション・スキームとアクティブ・スタンバイ・ペア・レプリケーション・スキームの両方で使用できます。(デフォルト)
|
Restrictions
コミット依存性が無効化された自動パラレル・レプリケーションを使用する場合の制限は、次のとおりです。
レプリケーション・スキームは、非同期レプリケーションを使用するアクティブ・スタンバイ・ペアである必要があります。クラシック・レプリケーション・スキームはサポートされていません。
レプリケーション・スキームにはキャッシュ・グループを含めることはできません。
これがサポートされるのは、アクティブとスタンバイの両方のマスターがTimesTenリリース11.2.2.8以降の場合のみです。アクティブとスタンバイの両方のマスターでは、コミット依存性が無効化されている必要があります。
XLAはサポートされていません。
レプリケーション・スキーム内のすべてのデータ・ストアが同じ設定を使用している必要があります。
アクティブ・スタンバイ・ペアはユーザー定義のパラレル・レプリケーションを使用できません。
この属性は、パラレル・レプリケーションで使用する追跡数またはトランスミッタ/レシーバ・ペアの数を指定します。
この属性のデフォルトは1です。この値は単一スレッド・レプリケーションの発生を示します。この値が1より大きい場合、LogBufParallelism
初期接続属性はReplicationParallelism
の整数倍である必要があります。
パラレル・レプリケーションを構成するには、この属性の値をトランスミッタ/レシーバ・ペアの数を示す2から32に設定します。
CacheAWTParallelism
属性が1に設定されているか設定されていない場合、ReplicationParallelism
で許容される最大値は16
です。
パラレル・レプリケーションの詳細は、『Oracle TimesTen In-Memory Database開発者および管理者ガイド』のパラレル・レプリケーションの構成に関する説明を参照してください。
設定
ReplicationParallelism
は次のように設定します。
属性の設定場所 | 属性の表示 | 設定 |
---|---|---|
CまたはJavaプログラム、あるいはUNIX odbc.ini ファイル |
ReplicationParallelism |
n : 1から32までの値で、パラレルでレプリケートする追跡の数を示します。デフォルトは1で、単一スレッド・レプリケーションです。 |
Windows ODBCデータソース・アドミニストレータ | 「Replication Parallelism」フィールド | n : 1から32までの値で、パラレルでレプリケートする追跡の数を示します。デフォルトは1で、単一スレッド・レプリケーションです。 |
Restrictions
パラレル・レプリケーションを指定する場合の制限および注意事項は、次のとおりです。
パラレル・レプリケーションが有効な場合、ttLogHolds
組込みプロシージャのDescription列には、サブスクライバ・ノードごとに追跡が1行に表示されます。
この属性の値は、LogBufParallelism
属性の値の半分以下であることを推奨します。ログ・バッファのスレッドより多くのレプリケーション追跡を指定した場合、一部のレプリケーション追跡は空のままになります。
TWOSAFE
レプリケーションおよびRETURN RECEIPT
レプリケーションを含む同期レプリケーションは、ユーザー指定のパラレル・レプリケーションではサポートされていません。
アクティブ・スタンバイ・ペアはユーザー指定のパラレル・レプリケーションではサポートされていません。
コミット依存性が無効化されたパラレル・レプリケーションは、ユーザー定義のパラレル・レプリケーションではサポートされていません。
一時データベースを作成するには、この属性を設定します。一時データベースはファイル・システムに保存されません。ただし、一時データ・ストアは共有される場合があるため、データ・ストア・パス名が必要です。最後の接続の切断時に、一時データベースは削除されます。詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のデータベースの永続性に関する説明を参照してください。Temporaryデータ・ストア属性を既存の永続データベースに割り当てることはできません。
注意: 一時データベースはバックアップまたはレプリケートできません。 |
データ型の名前と意味がOracleまたはTimesTen型の規則に従うかどうかを指定します。TimesTenは、OracleとTimesTenのデータ型をサポートします。データ型モードによって、各データ型を指定するときに使用する名前が決定します。場合によっては、データ型には別名と固定型の両方の名前があります。このような場合、いずれの名前も使用できます。TimesTen型モードは下位互換用に含まれています。DSNを作成する場合は、デフォルト設定のOracleタイプ・モードを使用します。
TimesTenでOracle Databaseからデータをキャッシュする場合、TypeMode
は0に設定する必要があります。
データ型とその固定名および別名のリストについては、『Oracle TimesTen In-Memory Database SQLリファレンス・ガイド』のデータ型の仕様に関する説明を参照してください。
設定
TypeMode
は次のように設定します。
属性の設定場所 | 属性の表示 | 設定 |
---|---|---|
CまたはJavaプログラム、あるいはUNIX odbc.ini ファイル |
TypeMode |
0 (デフォルト): Oracle型モード
値が指定されていない場合は、デフォルトの型モードまたはデータベースの作成時に割り当てられた型モードが使用されます。 |
Windows ODBCデータソース・アドミニストレータ | 「TypeMode」ドロップダウン・リスト | 0 (デフォルト): Oracle型モード
値が指定されていない場合は、デフォルトの型モードまたはデータベースの作成時に割り当てられた型モードが使用されます。 |
初期接続属性は、アイドル状態のデータベース(現在接続されていない、インスタンス管理者によって作成されたデータベース)に接続すると設定され、このデータベースへの最後の接続がクローズされるまで、その接続およびその後のすべての接続に対して有効です。
この項では、表1-2「初期接続属性」に示した初期接続属性について説明します。
初期接続属性の設定と異なる属性を使用してデータベースに接続しようとした場合、新しい接続が拒否されるか、属性値が無視されることがあります。ただし、既存の接続であるサイズのLogFileSize
を指定した後に、新しい接続で別のサイズのLogFileSize
を指定すると、TimesTenは新しい値を無視して警告を返します。
注意: 初期接続属性の値を現在有効な値以外に変更できるのは、インスタンス管理者のみです。初期接続属性の値を変更するには、最初にデータベースを停止してからADMIN 権限で接続する必要があります。(ただし、AutoCreate およびForceConnect の変更には権限は不要です。) |
AutoCreate
属性が設定されているデータベースに接続する場合、そのデータベースがまだ存在していなくても、有効な既存のパスを指定しておくと、データベースが自動的に作成されます。AutoCreate
を設定すると、TimesTenではデータベースへのパスではなく、データベースが作成されます。AutoCreate
属性が設定されていない場合に、存在しないデータベースに接続しようとすると、接続は失敗します。
「Overwrite」も参照してください。
設定
AutoCreate
は次のように設定します。
属性の設定場所 | 属性の表示 | 設定 |
---|---|---|
CまたはJavaプログラム、あるいはUNIX odbc.ini ファイル |
AutoCreate |
0 : データベースが存在しない場合、新しいデータベースは作成されません。
|
Windows ODBCデータソース・アドミニストレータ | 「AutoCreate」チェック・ボックス | 選択解除: データベースが存在しない場合、新しいデータベースは作成されません。
選択(デフォルト): データベースが存在しない場合、新しいデータベースが作成されます。 |
TimesTenがバックグラウンド・チェックポイントを実行する頻度を秒単位で制御します。チェックポイントの条件に使用されるカウンタは、各チェックポイントの開始時にリセットされます。
CkptFrequency
とCkptLogVolume
の両方の属性が0より大きい値に指定されている場合、チェックポイントは2つの条件のいずれかがTrueになったときに実行されます。ttCkptConfig
組込みプロシージャによって設定される値は、これらの属性によって設定される値を置換します。
バックグラウンド・チェックポイントの進行中にアプリケーションでチェックポイント処理の実行を試みる場合、TimesTenは、バックグラウンド・チェックポイントが終了するまで待機してから、アプリケーションのチェックポイントを実行します。バックグラウンド・チェックポイントを無効にするには、CkptFrequency
=0およびCkptLogVolume
=0を設定します。
この属性の値は「スティッキー」で、値が明示的に変更されないかぎり、データベースのロードからアンロードまで維持されます。デフォルト値はデータベースの作成中にのみ使用されます。後続の初期接続では、データベースに保存された既存の値がデフォルトで使用されます。
この属性の値にかかわらず、チェックポイントが失敗した場合、TimesTenは10分に一度だけチェックポイント処理を試行します。システム領域の不足のためにチェックポイントの失敗が発生した場合、領域が使用可能になり次第、手動でチェックポイント処理を実行することをお薦めします。チェックポイントが成功した後は、バックグラウンド・チェックポイント処理は設定したスケジュールに戻ります。
設定
CkptFrequency
は次のように設定します。
属性の設定場所 | 属性の表示 | 設定 |
---|---|---|
CまたはJavaプログラム、あるいはUNIX odbc.ini ファイル |
CkptFrequency |
TimesTenがバックグラウンド・チェックポイントを実行する頻度を秒単位で入力します。デフォルトは600 です。
この属性を指定しない場合、TimesTenはデータベースの作成にデフォルト値( 属性を指定しても値を指定しない場合には、値
|
Windows ODBCデータソース・アドミニストレータ | 「Ckpt Frequency (secs)」フィールド | TimesTenがバックグラウンド・チェックポイントを実行する頻度を秒単位で入力します。デフォルトは600 です。
この属性を指定しない場合、TimesTenはデータベースの作成にデフォルト値( 属性を指定しても値を指定しない場合には、値 |
バックグラウンド・チェックポイントの間にログに収集するデータ量をMB単位で制御します。チェックポイントの条件に使用されるカウンタは、各チェックポイントの開始時にリセットされます。
CkptFrequency
とCkptLogVolume
の両方の属性が0より大きい値に指定されている場合、チェックポイントは2つの条件のいずれかがTrueになったときに実行されます。ttCkptConfig
組込みプロシージャによって設定される値は、これらの属性によって設定される値を置換します。
バックグラウンド・チェックポイントの進行中にアプリケーションでチェックポイント処理の実行を試みる場合、TimesTenは、バックグラウンド・チェックポイントが終了するまで待機してから、アプリケーションのチェックポイントを実行します。バックグラウンド・チェックポイントを無効にするには、CkptFrequency
=0およびCkptLogVolume
=0を設定します。
この属性の値は「スティッキー」で、値が明示的に変更されないかぎり、データベースのロードからアンロードまで維持されます。デフォルト値はデータベースの作成中にのみ使用されます。後続の初期接続では、データベースに保存された既存の値がデフォルトで使用されます。
設定
CkptLogVolume
は次のように設定します。
属性の設定場所 | 属性の表示 | 設定 |
---|---|---|
CまたはJavaプログラム、あるいはUNIX odbc.ini ファイル |
CkptLogVolume |
バックグラウンド・チェックポイント間でトランザクション・ログ・ファイルに蓄積されるデータ量をMB単位で指定します。デフォルトは0 です。
この属性を指定しない場合、TimesTenはデータベースの作成にデフォルト値(0)を使用します。既存のデータベースに対しては、TimesTenは保存された値を使用します。 属性を指定しても値を指定しない場合には、TimesTenはデフォルト値(0)を使用します。
|
Windows ODBCデータソース・アドミニストレータ | 「Ckpt LogVolume」フィールド | バックグラウンド・チェックポイント間でトランザクション・ログ・ファイルに蓄積されるデータ量をMB単位で指定します。デフォルトは0 です。
この属性を指定しない場合、TimesTenはデータベースの作成にデフォルト値( 属性を指定しても値を指定しない場合には、TimesTenはデフォルト値(0)を使用します。 |
チェックポイント処理でデータをディスクに書き込むときの最大速度を制御します。この属性は、ディスクへのチェックポイントの書込みが、他のアプリケーションに支障をきたすような場合に使用すると便利です。
この接続属性で指定された速度は、すべてのバックグラウンド・チェックポイントと、ttCkpt
およびttCkptBlocking
の組込みプロシージャで開始されたチェックポイントに使用されます。フォアグラウンド・チェックポイント(初期の接続時と最後の接続解除時のチェックポイント)では使用されません。この速度は、MB/秒単位で指定します。
値が0
(ゼロ)の場合、速度は制限されません。これはデフォルトです。この値は、組込みプロシージャttCkptConfig
で指定することもできます。その場合は、組込みプロシージャttCkptConfig
で設定した値で、この属性で設定されている値が置き換えられます。
この属性の値は「スティッキー」で、値が明示的に変更されないかぎり、データベースのロードからアンロードまで維持されます。デフォルト値はデータベースの作成中にのみ使用されます。後続の初期接続では、データベースに保存された既存の値がデフォルトで使用されます。未指定のままにした(またはWindows ODBCデータソース・アドミニストレータが空の)場合、TimesTenでは保存されている設定が使用されます。この属性を無効にするには、0
の値を明示的に指定する必要があります。このリリースに移行された既存のデータベースでは、この値は0
に初期化されています。現在の値またはデフォルトの値を使用するには、この属性値を未指定のままにしておく必要があります。
CkptRate
を使用する場合の利点および問題の詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のチェックポイント処理速度の設定に関する説明を参照してください。
設定
CkptRate
は次のように設定します。
属性の設定場所 | 属性の表示 | 設定 |
---|---|---|
CまたはJavaプログラム、あるいはUNIX odbc.ini ファイル |
CkptRate |
チェックポイントをディスクに書き込む速度の最大値をMB/秒単位で指定します。
値 この属性を指定しない場合、TimesTenはデータベースの作成にデフォルト値( 属性を指定しても値を指定しない場合には、値
|
Windows ODBCデータソース・アドミニストレータ | 「CkptRate」フィールド | チェックポイントをディスクに書き込む速度の最大値をMB/秒単位で指定します。
値 この属性を指定しない場合、TimesTenはデータベースの作成にデフォルト値( 属性を指定しても値を指定しない場合には、TimesTenはデフォルト値( |
最初の接続またはリカバリの操作などで、データベースをメモリーにロードする際にチェックポイント・ファイルの読取りに使用されるスレッドの数を決定します。
CkptReadThreads
属性が1
に設定されると、TimesTenはチェックポイント・ファイルを順次読み取ります。CkptReadThreads
属性が1
より大きい値に設定されると、TimesTenは指定されたスレッド数を使用して、チェックポイント・ファイルを同時に読み取ります。CkptReadThreads
属性が0
に設定されているか指定されていない場合、以前に指定された値が使用されます。
設定
CkptReadThreads
は次のように設定します。
属性の設定場所 | 属性の表示 | 設定 |
---|---|---|
CまたはJavaプログラム、あるいはUNIX odbc.ini ファイル |
CkptReadThreads |
n - メモリーへのデータベースのロード中にチェックポイント・ファイルを読み取る際に使用するスレッドの数。0 以上の整数値を取ります(最大 = 2 31-1 )。デフォルトは1 です。 |
Windows ODBCデータソース・アドミニストレータ | 「Checkpoint Read Threads」フィールド | n - メモリーへのデータベースのロード中にチェックポイント・ファイルを読み取る際に使用するスレッドの数。0 以上の整数値を取ります(最大 = 2 31-1 )。デフォルトは1 です。 |
データベースへのユーザー指定の同時接続数の上限を示します。TimesTenは、予測される接続ごとに1つのセマフォを割り当てます。接続数がこの属性の値を超えた場合、TimesTenはエラーを返します。
データベースへの現在の接続数を確認するには、ttStatus
ユーティリティの出力を表示します。
Connections
の値が0
または指定されていない場合、セマフォのデフォルトの数を使用する必要があります。許可される最大接続数は2047です。TimesTenは内部使用のために47接続を予約し、最大2000接続をアプリケーションが使用するために残しています。ガイドラインとしては、この値は予測されるアプリケーションの最大接続数に10%を加えた値に設定します。
接続数がこの属性の値を超えたことを示すエラーが表示された場合は、このエラーが表示されなくなるまで値を増やしてください。
PL/SQLを有効にすると(PLSQL=1
)、PL/SQLを使用していなくても、PL/SQLセグメントから割り当てられた固定オーバーヘッドおよび接続ごとのオーバーヘッドの両方が存在することになります。詳細は、「PLSQL_MEMORY_SIZE」を参照してください。
注意: すべてのアクティブなデータベースを処理するには、カーネルに十分なセマフォが設定されている必要があります。システムへのセマフォの設定については、『Oracle TimesTen In-Memory Databaseインストレーション・ガイド』のインストールの前提条件に関する説明を参照してください。 |
設定
Connections
は次のように設定します。
属性の設定場所 | 属性の表示 | 設定 |
---|---|---|
CまたはJavaプログラム、あるいはUNIX odbc.ini ファイル |
Connections |
0 または値なし: デフォルト値が使用されることを示します。
デフォルト値は
|
Windows ODBCデータソース・アドミニストレータ | 「Connections」フィールド | 0 または値なし: デフォルト値が使用されることを示します。
デフォルト値は
|
RETURN RECEIPTレプリケーションがNONDURABLE TRANSMIT
オプションで使用されている場合、障害が発生したマスター・データベースは、ttRepAdmin
ユーティリティの-duplicate
オプションを使用したサブスクライバ・データベースから状態をリストアすることによってのみリカバリできます。つまり、サブスクライバに転送されたが、ローカルに永続的にはコミットされない一部のトランザクションが失われる可能性があるため、障害が発生したデータベースは起動できず、レプリケーションによって最新状態に戻すことができません。ForceConnect
接続は、この制限を上書きします。
ttConfiguration
組込みプロシージャは、ForceConnect
属性の値を返しません。
設定
ForceConnect
は次のように設定します。
属性の設定場所 | 属性の表示 | 設定 |
---|---|---|
CまたはJavaプログラム、あるいはUNIX odbc.ini ファイル |
ForceConnect |
0 (デフォルト): 対応するサブスクライバ・データベースから適切にリストアされなかった場合は、障害が発生したデータベースへの接続を許可しません。
|
Windows ODBCデータソース・アドミニストレータ | 「ForceConnect」チェック・ボックス | 選択解除(デフォルト): 対応するサブスクライバ・データベースから適切にリストアされなかった場合は、障害が発生したデータベースへの接続を許可しません。
選択: 対応するサブスクライバ・データベースから適切にリストアされなかった場合でも、障害が発生したデータベースへの接続を許可します。 |
TimesTenリカバリでログ・レコードに問題が発生した場合、データベースへの初期接続を継続するかどうかを指定します。
設定
LogAutoTruncate
は次のように設定します。
属性の設定場所 | 属性の表示 | 設定 |
---|---|---|
CまたはJavaプログラム、あるいはUNIX odbc.ini ファイル |
LogAutoTruncate |
0 : ログ・レコードに問題が発生した場合、リカバリを終了し、接続しているアプリケーションにエラーを返します。チェックポイントおよびトランザクション・ログ・ファイルは未変更のままになります。
|
Windows ODBCデータソース・アドミニストレータ | 「LogAutoTruncate」ボックス | 選択解除: ログ・レコードに問題が発生した場合、リカバリを終了し、接続しているアプリケーションにエラーを返します。チェックポイントおよびトランザクション・ログ・ファイルは未変更のままになります。
選択(デフォルト): ログ・レコードに問題が発生した場合、問題が発生したレコードの位置でそのログを切り捨て、リカバリを続行します。元のトランザクション・ログ・ファイルは、ログ・ディレクトリのサブディレクトリとして作成される |
LogBufMB
属性では、内部トランザクション・ログ・バッファのサイズをMB単位で指定します。デフォルトのログ・バッファ・サイズは64MBです。
LogBufMB
の値を変更する場合は、LogBufMB
/LogBufParallelism
>=8
という制約を満たすためにLogBufParallelism
の値も変更する必要があります。
LogBufMB
の値を増やす場合、LogFileSize
の値がLogBufMB
の値以上(LogFileSize >= LogBufMB
)であることを確認してください。
設定
LogBufMB
は次のように設定します。
属性の設定場所 | 属性の表示 | 設定 |
---|---|---|
CまたはJavaプログラム、あるいはUNIX odbc.ini ファイル |
LogBufMB |
n : ログ・バッファのサイズ(MB単位)。
設定されず、データベースが存在している場合には、TimesTenはデータベースに保存された値を使用します。 設定されず、データベースが作成される場合には、TimesTenはデフォルトの値(64)を使用します。 32ビット・システムでは、ログ・ファイルの最大サイズは1024MB(1GB)です。 64ビット・システムでは、最大値は65,536MB(64GB)です。 |
Windows ODBCデータソース・アドミニストレータ | 「Log Buffer Size (MB)」フィールド | ログ・バッファのサイズ(MB単位)。
設定されず、データベースが存在している場合には、TimesTenはデータベースに保存された値を使用します。 設定されず、データベースが作成される場合には、TimesTenはデフォルトの値(64)を使用します。 32ビット・システムでは、ログ・ファイルの最大サイズは1024MB(1GB)です。 64ビット・システムでは、最大値は65,536MB(64GB)です。 |
LogBufParallelism
属性では、ログがディスクに書き込まれる前にTimesTenがログ・ファイルを書き込むトランザクション・ログ・バッファのストランド数を指定することで、ログ・パフォーマンスを向上させることができます。各バッファには専用の挿入ラッチがあります。レコードはいずれかのストランドに挿入されます。ログ・フラッシャによって、すべてのストランドからレコードが収集され、ログ・ファイルに書き込まれます。
ストランドの最大数は64です。デフォルトは4
です。
LogBufParallelism
の値を変更する場合は、LogBufMB
/LogBufParallelism
>=8という制約を満たすためにLogBufMB
の値も変更する必要があります。
LogFileSize
属性では、トランザクション・ログ・ファイルの最大サイズをMB単位で指定します。最小値は8MBです。デフォルト値は64MBです。8MBより小さいサイズを指定した場合、TimesTenはエラー・メッセージを返します。TimesTen 11.2.1.4より前のリリースでは、最小サイズは1MBでした。TimesTenの以前のリリースでデータベースを作成し、ログ・ファイル・サイズに8MBより小さい値を指定していた場合は、エラーを避けるためにこの属性に割り当てられている値を増やす必要があります。
ログ・レコードは複数のトランザクション・ログ・ファイルにまたがることができないので、実際のトランザクション・ログ・ファイル・サイズはLogFileSize
よりもわずかに小さいか、大きいことがあります。
0を指定した場合、データベースが存在しない場合にはTimesTenではデフォルトのトランザクション・ログ・ファイル・サイズが使用されます。データベースが存在している場合には、TimesTenでは現在の指定されたトランザクション・ログ・ファイル・サイズが使用されます。
LogFileSize
の値をLogBufMB
の値以上に設定します(LogFileSize >= LogBufMB
)。
設定
LogFileSize
は次のように設定します。
属性の設定場所 | 属性の表示 | 設定 |
---|---|---|
CまたはJavaプログラム、あるいはUNIX odbc.ini ファイル |
LogFileSize |
n : トランザクション・ログ・ファイルのサイズ(MB単位)。デフォルトは、データベース作成時は64 、後続の接続では0 (現在のサイズが有効)です。最小サイズは8MBです。
32ビット・システムでは、ログ・ファイルの最大サイズは1024MB(1GB)です。 64ビット・システムでは、最大値は65,536MB(64GB)です。 |
Windows ODBCデータソース・アドミニストレータ | 「Log Files Size (MB)」フィールド | トランザクション・ログ・ファイルのサイズ(MB単位)。デフォルトは、データベース作成時は64 、後続の接続では0 (現在のサイズが有効)です。最小サイズは8MBです。
32ビット・システムでは、ログ・ファイルの最大サイズは1024MB(1GB)です。 64ビット・システムでは、最大値は65,536MB(64GB)です。 |
TimesTenによってトランザクション・ログ・ファイルへのログ・データの書込みおよび同期化に使用される方法を制御します。システムの全体的なスループットは、特に、アプリケーションが大部分のトランザクションを永続的にコミットすることを選択した場合、この属性の値によって大きく影響されます。
一般的に、トランザクションの大部分が永続的にコミットする場合は値2
を使用し、それ以外の場合は値1を使用します。
ただし、最良の結果を得るには、アプリケーションとプラットフォームの標準的なワークロードを使用して、両方の値を試してみます。アプリケーションのパフォーマンスはこの属性によって影響を受ける場合がありますが、トランザクションの永続性は影響を受けません。この属性の値を変更しても、トランザクションの永続性には影響を与えません。
設定
LogFlushMethod
は次のように設定します。
属性の設定場所 | 属性の表示 | 設定 |
---|---|---|
CまたはJavaプログラム、あるいはUNIX odbc.ini ファイル |
LogFlushMethod |
0 : 前回使用した値を使用してトランザクション・ログ・ファイルにデータを書き込みます。
|
Windows ODBCデータソース・アドミニストレータ | 「Log Flush Method」ドロップダウン・リスト | 0 : 前回使用した値を使用してトランザクション・ログ・ファイルにデータを書き込みます。
|
LogPurge
属性を設定すると、TimesTenでは、トランザクション・ログ・ファイルが2つのチェックポイント・ファイルに書き込まれ、その内容を必要とするトランザクションがなくなった場合、そのトランザクション・ログ・ファイルが自動的に削除されます。チェックポイントが最初にコールされると、TimesTenによりトランザクション・ログ・ファイルの内容はチェックポイント・ファイルの1つに書き込まれます。チェックポイントが2度目にコールされると、TimesTenはトランザクション・ログ・ファイルの内容をもう1つのチェックポイント・ファイルに書き込みます。
次の条件がすべて満たされた場合、TimesTenはトランザクション・ログ・ファイルを消去します。
トランザクション・ログ・ファイルの内容が2つのチェックポイント・ファイルに書き込まれている。
増分バックアップによってトランザクション・ログ・ファイルが保留されていない。
レプリケーションを使用している場合、トランザクション・ログ・ファイルがすべてのサブスクライバにレプリケートされている。
XLAを使用している場合、XLAのすべてのブックマークがトランザクション・ログ・ファイルより新しい。
XAインタフェースを使用する分散トランザクションでトランザクション・ログ・ファイルが使用されていない。
この属性を0
に設定するか選択解除する場合、不要なトランザクション・ログ・ファイルには.arch
接尾辞が追加されます。アプリケーションはこれらのファイルを削除できます。
設定
LogPurge
は次のように設定します。
属性の設定場所 | 属性の表示 | 設定 |
---|---|---|
CまたはJavaプログラム、あるいはUNIX odbc.ini ファイル |
LogPurge |
0 : 接続時およびチェックポイント時に古いトランザクション・ログ・ファイルを削除しません。
|
Windows ODBCデータソース・アドミニストレータ | 「LogPurge」チェック・ボックス | 選択解除: 接続時およびチェックポイント時に古いトランザクション・ログ・ファイルを削除しません。
選択(デフォルト): 接続時およびチェックポイント時に古いトランザクション・ログ・ファイルを削除します。 |
Solaris、LinuxおよびWindows 64ビット・システムの場合、TimesTenでは、共有データベースに接続するアプリケーションは、データベースがメモリーにロード中か、またはメモリー内にデータ・ストアが存在するいずれかの場合に、実メモリーをロックするかどうかを指定できます。データベースに使用される物理メモリーがロックされた場合、オペレーティング・システムの仮想メモリー・サブシステムでは、その他の用途にその物理メモリーを使用することができません。データベースのいずれの部分もページアウトすることはありませんが、RAMで構成されたシステムでは、メモリー不足が発生することがあります。メモリーをロックするとデータベースのロード・パフォーマンスが向上する可能性がありますが、同じコンピュータ上の他のアプリケーションに影響を及ぼす可能性があります。
AIXでは、MemoryLock
属性は実装されていません。AIXでラージ・ページを使用すると、共有メモリー・セグメントはロックされます。ラージ・ページを使用することで、共有セグメントをロックできます。『Oracle TimesTen In-Memory Databaseインストレーション・ガイド』で、ラージ・ページの詳細を説明しています。
PL/SQLの共有メモリー・セグメントは、MemoryLock
の対象ではありません。
Linuxシステムの場合、MemLock設定の
groupnameは、
/etc/security/limits.conf
ファイル内のインスタンス管理者と同じ値に設定します。MemLock
の値は、TimesTenデータベースの共有メモリー・セグメント以上の大きさに設定します。
Solarisシステムでは、インスタンス管理者はMemoryLock
を1
または2
に設定するために、proc_lock_memory
権限を持っている必要があります。MemoryLock
を3
または4
に設定するためには、特別な権限は必要ありません。MemoryLock
を3
または4
に設定すると、SolarisのIntimate Shared Memory (ISM)を使用できるようになります。
権限を表示するには、次のコマンドを実行します。
% ppriv $$
ユーザーID timesten
に権限を追加するには、ルートユーザーは次のコマンドを実行します。
# usermod -K defaultpriv=basic,proc_lock_memory timesten
権限の追加後、timesten
ユーザーは新しいシェルにログインし、メモリーからすべてのTimesTenデータベースをアンロードし、TimesTenデーモンを再起動する必要があります。
TimesTenデーモンを再起動するには、新しいログイン・シェルで次のコマンドを実行します。
% ttDaemonadmin -restart
設定
MemoryLock
は次のように設定します。
属性の設定場所 | 属性の表示 | 設定 |
---|---|---|
CまたはJavaプログラム、あるいはUNIX odbc.ini ファイル |
MemoryLock |
0 (デフォルト): メモリーをロックしません。
|
Windows ODBCデータソース・アドミニストレータ | 「Memory Lock」フィールド | 0 (デフォルト): メモリーをロックしません。
|
Overwrite
属性が設定され、新しいデータベースと同じデータベース・パス名を持つ既存のデータベースが存在する場合、TimesTenは、使用中でなければ既存のデータベースを破棄し、新しい空のデータベースを作成します。Overwrite
属性が設定され、指定したデータベース・パス名を持つデータベースが存在しない場合、TimesTenは、AutoCreate
属性が設定されている場合にのみ新しいデータベースを作成します(「AutoCreate」を参照)。AutoCreate
が0に設定されている場合には、TimesTenではOverwrite
属性が無視されます。Overwrite
=1の属性を指定する場合、アプリケーションでは注意が必要です。
データベースの永続メモリーの領域サイズをMB単位で指定します。最初の接続では、PermSize
を増やすことはできますが、減らすことはできません。永続メモリーの領域サイズを減らそうとすると、TimesTenによって警告が戻されます。データベースが存在しない場合に、PermSize
の値が0
または値が指定されてない場合はデフォルト・サイズが使用されることを示します。デフォルト・サイズは32MBです。データベースが存在する場合に、値が0または値が指定されていない場合は既存のサイズが変更されないことを示します。
一度データベースを作成すると、永続パーティションを大きくすることはできますが、小さくすることはできません。『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のデータベースのサイズの指定に関する説明を参照してください。
「TempSize」
接続属性に関する情報も参照してください。
適切な場合、ttMigrate
およびttDestroy
ユーティリティを使用して、「Permanent Data Size」を変更することもできます。
設定
PermSize
は次のように設定します。
属性の設定場所 | 属性の表示 | 設定 |
---|---|---|
CまたはJavaプログラム、あるいはUNIX odbc.ini ファイル |
PermSize |
n : データベースの永続パーティションのサイズで(MB単位)、デフォルトは、32ビット・システムと64ビット・システムの両方で32MBです。最小サイズは32MBです。 |
Windows ODBCデータソース・アドミニストレータ | 「Permanent Data Size」フィールド | n : データベースの永続パーティションのサイズで(MB単位)、デフォルトは、32ビット・システムと64ビット・システムの両方で32MBです。最小サイズは32MBです。 |
この属性は、アクティブ・スタンバイ・ペアのレプリケーション・スキームで、アクティブ・マスター・データベースへの変更をスタンバイ・マスター・データベースに適用するために使用するスレッドの数を制御します。デフォルトは1
です。また、この属性をアクティブ・スタンバイ・ペアのレプリケーション・スキームの1つ以上の読取り専用サブスクライバに対して設定し、スタンバイ・マスター・データベースからサブスクライバへのレプリケーションのスループットを向上させることもできます。
デフォルトでは、レプリケーション・エージェントのRECEIVERスレッドによって変更がスタンバイ・マスター・データベースに適用されます。この属性を2
に設定すると、もう1つのスレッドによって変更が適用されます。この属性を2
に設定する利点を活用するには、2コア(または2ハードウェア・スレッド)以上のシステムでデータベースをホストする必要があります。
スタンバイ・マスター・データベースでこの属性を2
に設定した場合、フェイルオーバー発生時の高いスループットを維持するために、アクティブ・マスター・データベースでもこの属性を2
に設定する必要があります。
設定
ReceiverThreads
は次のように設定します。
属性の設定場所 | 属性の表示 | 設定 |
---|---|---|
CまたはJavaプログラム、あるいはUNIX odbc.ini ファイル |
ReceiverThreads |
n : アクティブ・マスター・データベースからスタンバイ・マスター・データベースに変更を適用するために使用するスレッドの数です。また、この属性をアクティブ・スタンバイ・ペアのレプリケーション・スキームの1つ以上の読取り専用サブスクライバに対して設定し、スタンバイ・マスター・データベースからサブスクライバへのレプリケーションのスループットを向上させることもできます。
使用可能な値は、1および2です。デフォルトは |
Windows ODBCデータソース・アドミニストレータ | 「ReceiverThreads」フィールド | n : アクティブ・マスター・データベースからスタンバイ・マスター・データベースに変更を適用するために使用するスレッドの数です。また、この属性をアクティブ・スタンバイ・ペアのレプリケーション・スキームの1つ以上の読取り専用サブスクライバに対して設定し、スタンバイ・マスター・データベースからサブスクライバへのレプリケーションのスループットを向上させることもできます。
使用可能な値は、1および2です。デフォルトは |
RecoveryThreads
属性では、リカバリ中に索引を再作成するために使用するスレッドの数を決定します。
RecoveryThreads
=1の場合、リカバリ中に、再作成する必要がある索引は順次再作成されます。索引の再作成を処理するのに十分なプロセッサがコンピュータ上にある場合は、この属性を1よりも大きな数に設定すると、リカバリのパフォーマンスを向上させることができます。異なるプロセッサが異なる索引を処理できる場合にのみ、パフォーマンスが向上します。同じ索引内の索引の再作成に並列処理はありません。
RecoveryThreads
の値は、システム上で使用可能なCPUの数までの値です。
データベースの作成時のデフォルトは1です。後続の接続に対しては、データベースをリカバリする必要があり、RecoveryThreadsが未指定または値が0の場合、TimesTenはこの属性の以前の設定を使用します。
TempSize
には、一時領域に割り当てられるメモリーの総量をMB単位で指定します。
TempSize
に事前定義されている値はありません。指定しない場合、その値は次の式に従ってPermSize
から決定されます。
PermSize
が64MBより小さい場合: TempSize = 32MB + 上限(PermSize/4MB)
。
それ以外の場合: Tempsize = 40MB + 上限(PermSize/8MB)
。
TimesTenでは、値は最も近いMBに切り上げられます。
指定した場合、TimesTenでは常にTempSize
の値が使用されます。データベースがロードされるたびに一時データ・パーティションが再作成されるため、ロードのたびにTempSize
属性を増減することができます。データベースが存在する場合に、値が0または値が指定されていない場合は既存のサイズが変更されないことを示します。TempSize
の最小値は32MBです。
一般接続属性は各接続によって設定され、接続が継続している間持続します。この項では、表1-3「一般接続属性」に示した一般接続属性について説明します。
CommitBufferSizeMax
には、トランザクション・コミット・バッファに割り当てられるメモリーの総量をMB単位で指定します。再利用レコードのサイズを処理するにはこの属性を設定します。
ALTER SESSION
SQL文(『Oracle TimesTen In-Memory Database SQLリファレンス』を参照)を使用して、セッション内でのコミット・バッファの最大サイズを割当てまたは変更できます。新しい値は、新しいトランザクションが開始したときに有効になります。
ALTER SESSION SET COMMIT_BUFFER_SIZE_MAX = n;
設定されたコミット・バッファの最大サイズは、ttConfiguration
組込みプロシージャをコールすることによって確認できます。
コミット・バッファ・サイズの設定方法を含む再利用操作の詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のトランザクション再利用操作に関する説明を参照してください。また、組込みプロシージャttCommitBufferStats
およびttCommitBufferStatsReset
についての情報も参照してください。
注意
組込みプロシージャttCommitBufferStats
をコールすると、コミット・バッファ統計はバイトで表されます。ただし、ttConfiguration
組込みプロシージャの出力および接続属性CommitBufferSizeMax
によって設定された値はMB単位で表されます。
この属性は、クライアントの接続属性としても使用できます。
この属性を使用すると、任意のデータベース接続にシンボリック名を付けることができます。接続名は1つのプロセス内で一意です。
TimesTenでは、シンボリック名はttIsql
、ttXactAdmin
、ttStatus
などの様々な管理ユーティリティの接続を特定する場合に使用されます。これは、マルチスレッド・アプリケーション、リモート・クライアントの識別などのように、データベースに対して複数の接続を行うプロセスで特に有効です。
この属性の値は、接続文字列を使用して接続時に動的に定義します。デフォルト値は、接続の実行可能ファイル名です。また、DSN定義で静的に定義することもできます。ConnectionName
に使用する値は、SQL識別子構文ルールに従っている必要があります。
設定
ConnectionName
は次のように設定します。
属性の設定場所 | 属性の表示 | 設定 |
---|---|---|
CまたはJavaプログラム、あるいはUNIX odbc.ini ファイル |
ConnectionName |
接続の名前を表す最大30文字の文字列を入力します。指定した接続名またはデフォルトの接続名がすでに使用されている場合、TimesTenは名前にcon n を割り当てます(ここでn は、名前を一意にするための0より大きい整数値です)。指定しない場合は、接続中のプロセスの名前が使用されます。 |
Windows ODBCデータソース・アドミニストレータ | 「Connection」フィールド | 接続の名前を表す最大30文字の文字列を入力します。指定した接続名またはデフォルトの接続名がすでに使用されている場合、TimesTenは名前にcon n を割り当てます(ここでn は、名前を一意にするための0より大きい整数値です)。指定しない場合は、接続中のプロセスの名前が使用されます。 |
この属性は、データ定義言語(DDL)文に関連してトランザクションのコミット動作を制御します。
トランザクションの動作は、従来のTimesTenの動作またはOracle Databaseの動作に設定できます。
従来、TimesTenのデータベースでは、DDL文は現在のトランザクションの一部として実行され、トランザクションの残りの部分と一緒にコミットまたはロールバックされます。
Oracle Databaseでは、DDL文の前後に暗黙的なコミット
が発行されます。
注意: PLSQL サポートが有効になっている場合は、DDLCommitBehavior をOracleトランザクションのコミット動作(値0 )に設定する必要があります。
XAトランザクションでDDL文を使用しないでください。 |
DDL文には次のものがあります。
すべてのデータベース・オブジェクト(表、ビュー、ユーザー・プロシージャ、索引など)のCREATE
、ALTER
またはDROP
TRUNCATE
GRANT
およびREVOKE
設定
DDLCommitBehavior
は次のように設定します。
属性の設定場所 | 属性の表示 | 設定 |
---|---|---|
CまたはJavaプログラム、あるいはUNIX odbc.ini ファイル |
DDLCommitBehavior |
0 (デフォルト): Oracle Databaseスタイルの動作です。DDL文が実行される前にトランザクションの暗黙的なコミットが実行され、DDL文が実行された後に永続的コミットが実行されます。
|
Windows ODBCデータソース・アドミニストレータ | 「DDLCommitBehavior」フィールド | 0 (デフォルト): Oracle Databaseスタイルの動作です。DDL文が実行される前にトランザクションの暗黙的なコミットが実行され、DDL文が実行された後に永続的コミットが実行されます。
|
例
例1-1 TimesTenのコミット動作
AUTOCOMMIT OFF; CREATE TABLE t1 (c1 Varchar2(10)); COMMIT; INSERT INTO t1 VALUES('some data'); 1 row inserted. CREATE TABLE t2 (c1 INTEGER); ROLLBACK; SELECT * FROM t1; 0 rows found. SELECT * FROM t2; 2206: Table ttuser.t2 not found The command failed. INSERT INTO t1 VALUES('more data'); 1 row inserted. CREATE TABLE t1 (c1 VARCHAR2(10)); 2207: Table t1 already exists The command failed. ROLLBACK; SELECT * FROM t1; 0 rows found.
例1-2 Oracleのコミット動作
次の例は、Oracleの動作(DDLCommitBehavior
=0)を示しています。この例では、INSERT
文および表t2
の作成がコミットされます。2番目の挿入('more data'
)は、コミットをトリガーするDDL文(表t1
の重複作成)が失敗してもコミットされます。
-- implicit commit here Command> CREATE TABLE t1 (c1 varchar2(10)); Table created. -- implicit commit here Command> COMMIT; Commit complete. Command> INSERT INTO t1 VALUES('some data'); 1 row created. -- implicit commit here Command> CREATE TABLE t2 (c1 INTEGER); Table created. -- implicit commit here SQL> ROLLBACK; Rollback complete. Command> SELECT * FROM t1; C1 ---------- some data Command> SELECT * FROM t2; no rows selected Command> INSERT INTO t1 VALUES('more data'); 1 row created. -- implicit commit here Command> CREATE TABLE t1 (c1 VARCHAR2(10)); CREATE TABLE t1 (c1 VARCHAR2(10)) * ERROR at line 1: ORA-00955: name is already used by an existing object -- implicit rollback Command> ROLLBACK; Rollback complete. Command> SELECT * FROM t1; C1 ---------- some data more data
表または順序を、作成時にアクティブ・スタンバイ・ペアのレプリケーション・スキームに含めるかどうかを決定します。DDLReplicationLevel
接続属性が2または3に設定されている場合、表を含めることができます。DDLReplicationLevel
接続属性が3に設定されている場合、順序を含めることができます。
DDL操作のレプリケーションは、DDLReplicationLevel
接続属性のセット値により(制限付きで)有効になります。詳細は、「DDLReplicationLevel」を参照してください。
この値は、ALTER SESSION
SQL文(『Oracle TimesTen In-Memory Database SQLリファレンス』を参照)によって変更される可能性があります。次に例を示します。
ALTER SESSION SET DDL_REPLICATION_ACTION='EXCLUDE';
ALTER SESSION
で設定される値は、この属性で設定される値を上書きします。
アクティブ・スタンバイ・ペアを変更する例については、『Oracle TimesTen In-Memory Database開発者および管理者ガイド』のアクティブ・スタンバイ・ペアの変更に関する説明を参照してください。
DDLCommitBehavior=0
(デフォルト)の場合、DDL操作は自動的にコミットされます。RETURN TWOSAFE
が指定されている場合は、エラーおよびタイムアウトが発生する可能性があります(『Oracle TimesTen In-Memory Database開発者および管理者ガイド』のRETURN TWOSAFEに関する説明を参照)。RETURN TWOSAFE
タイムアウトが発生すると、LOCAL COMMIT ACTION
が指定されていても、DDLトランザクションはローカルでコミットされます。
DDLのレプリケーションの詳細は、『Oracle TimesTen In-Memory Database開発者および管理者ガイド』のレプリケーションで使用されるユーザー名またはパスワードの変更に関する説明を参照してください。
設定
DDLReplicationAction
は次のように設定します。
属性の設定場所 | 属性の表示 | 設定 |
---|---|---|
CまたはJavaプログラム、あるいはUNIX odbc.ini ファイル |
DDLReplicationAction |
INCLUDE (デフォルト): 適切なDDLReplicationLevel 値が構成されている場合、表または順序が作成されるとアクティブ・スタンバイ・ペアのスキームに自動的に追加されます。
|
Windows ODBCデータソース・アドミニストレータ | DDLReplicationActionフィールド | INCLUDE (デフォルト): 適切なDDLReplicationLevel 値が構成されている場合、表または順序が作成されるとアクティブ・スタンバイ・ペアのスキームに自動的に追加されます。
|
アクティブ・スタンバイ・レプリケーション・スキーム内で、データ定義言語(DDL)文のサブセットのレプリケーションを有効にします。
DDLReplicationLevel
接続属性の値が1に設定されている場合、表、索引またはシノニムのCREATE
文またはDROP
文はスタンバイ・データベースにレプリケートされません。ただし、レプリケート表に対してALTER TABLE ADD
またはDROP COLUMN
を使用して列の追加または削除を行うことで、それらのアクションがスタンバイ・データベースにレプリケートされます。
DDLReplicationLevel
接続属性の値が2に設定されている場合(デフォルト)、次のDDL文(『Oracle TimesTen In-Memory Database SQLリファレンス』を参照)はスタンバイやサブスクライバにレプリケートされます。
CREATE
またはDROP INDEX
CREATE
またはDROP SYNONYM
CREATE
またはDROP TABLE
(CREATE TABLE AS SELECT
以外のグローバル一時表を含む)
DDLReplicationLevel
接続属性の値が3に設定されている場合、次のDDL文(『Oracle TimesTen In-Memory Database SQLリファレンス』を参照)および値が2に設定されている場合にレプリケートされたDDL文はスタンバイやサブスクライバにレプリケートされます。
CREATE
またはDROP VIEW
CREATE
またはDROP SEQUENCE
UidPwdSet
組込みプロシージャを使用してキャッシュ管理ユーザーの名前およびパスワードを設定する場合の、スタンバイ・マスターへの結果のレプリケーション。UidPwdSet
組込みプロシージャを実行するためにキャッシュ・エージェントまたはレプリケーション・エージェントを停止して再起動する必要はありません。詳細は、『Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイド』のキャッシュ・ユーザーの名前またはパスワードの変更に関する説明、またはttCacheUidPwdSetに関する説明を参照してください。
この属性の値は、ALTER SESSION
文(『Oracle TimesTen In-Memory Database SQLリファレンス』を参照)によって変更される可能性があります。次に例を示します。
ALTER SESSION SET DDL_REPLICATION_LEVEL=3;
ALTER SESSION
で設定される値は、この属性で設定される値を上書きします。
アクティブ・スタンバイ・ペアを変更する例については、『Oracle TimesTen In-Memory Database開発者および管理者ガイド』のアクティブ・スタンバイ・ペアの変更に関する説明を参照してください。
DDLのレプリケーションの詳細は、『Oracle TimesTen In-Memory Database開発者および管理者ガイド』のレプリケーションで使用されるユーザー名またはパスワードの変更に関する説明を参照してください。
設定
DDLReplicationLevel
は次のように設定します。
属性の設定場所 | 属性の表示 | 設定 |
---|---|---|
CまたはJavaプログラム、あるいはUNIX odbc.ini ファイル |
DDLReplicationLevel |
1 : ALTER TABLE ADD COLUMNおよびALTER TABLE DROP COLUMN をスタンバイ・データベースにレプリケートします。表、索引またはシノニムのCREATE 操作およびDROP 操作はスタンバイ・データベースにレプリケートされません。
|
Windows ODBCデータソース・アドミニストレータ | 「DDL Replication Level」フィールド | 1 : ALTER TABLE ADD COLUMNおよびALTER TABLE DROP COLUMN をスタンバイ・データベースにレプリケートします。表、索引、シノニムのCREATE 操作とDROP 操作はスタンバイ・データベースにレプリケートされません。
|
Restrictions
DDL処理のレプリケーションには次の制限があります。
CREATE TABLE AS SELECT
文はレプリケートされません。
CREATE INDEX
文は、空の表に索引を作成するときにのみレプリケートされます。
表または順序を、作成時にアクティブ・スタンバイ・ペアのレプリケーション・スキームに含めるかどうかを制御するには、DDLReplicationAction
接続属性を使用します。
CYCLE
属性が指定された順序はレプリケートできません。
オブジェクトは、受信側データベースがそのレベルのレプリケーションをサポートするTimesTenリリースであり、アクティブ・スタンバイ・ペアのレプリケーション・スキーム用に構成されている場合にのみレプリケートされます。たとえば、11.2.2.7.0より前のデータベース・リリースへの順序のレプリケーション(DDL_REPLICATION_LEVEL=3
が必要)は、サポートされません。DDLReplicationLevel
値が3に設定されている場合、アクティブとスタンバイの両方のマスター・データベースがTimesTenリリース11.2.2.7以上である必要があります。DDL_REPLICATION_LEVEL=2
の場合、受信側データベースは、サポートするオブジェクトのレプリケーション用にリリース11.2.1.8.0以上である必要があります。
UidPwdSet
組込みプロシージャに対するすべての制約が適用されます。
DDLReplicationLevel=1
または2
の場合、ALTER TABLE ... ADD COLUMN NOT NULL DEFAULT
文を使用してNOT NULL
列を、レプリケーション・スキームの一部である表に追加するように表を変更することはできません。表にNOT NULL
列を追加する前に、まず、レプリケーション・スキームから表を削除する必要があります。ただし、DDLReplicationLevel=3
の場合は、NOT NULL
列を、レプリケーション・スキームの一部である表に追加するように表を変更できます。
接続のためにTimesTenによって生成される診断情報のレベルを、アプリケーションで設定できるようにします。TimesTenの診断メッセージは、番号が20000から29999の範囲の警告です。Diagnostics
接続属性の値は整数です。
この属性は、1つのSQL文に同じパラメータが複数回出現する場合に、アプリケーションが従来のTimesTenのパラメータ・バインディングまたはOracleスタイルのパラメータ・バインディングのいずれを使用するかを指定します。
通常、TimesTenでは、SQL文において同じパラメータ名のインスタンスが複数存在する場合、同じパラメータが複数出現しているとみなされます。パラメータにパラメータ番号を割り当てる場合、TimesTenでは、各パラメータ名の最初の出現に対してのみパラメータ番号が割り当てられます。特定の名前が2回目以降に出現しても、独自のパラメータ番号は割り当てられません。この場合、TimesTenアプリケーションは、SQL文における一意のパラメータすべてに対して値をバインドします。同じパラメータ名の異なる出現に対して別の値をバインドしたり、パラメータやパラメータの出現をバインドしないでおくことはできません。Oracle Databaseでは、1つのSQL文に同じパラメータ名の複数のインスタンスがある場合、それらは別々のパラメータとみなされます。パラメータ番号を割り当てる場合、Oracle Databaseでは名前の重複にかかわらず、パラメータが出現するたびに番号が割り当てられます。Oracle Databaseアプリケーションは、少なくとも、各パラメータ名の最初の出現に対して値をバインドします。特定のパラメータがこれ以降に出現した場合は、アプリケーションはパラメータの出現をバインドしないでおくことも、この出現に対して異なる値をバインドすることもできます。
パラメータ・バインディングの詳細は、『Oracle TimesTen In-Memory Database SQLリファレンス・ガイド』を参照してください。
設定
DuplicateBindMode
は次のように設定します。
属性の設定場所 | 属性の表示 | 設定 |
---|---|---|
CまたはJavaプログラム、あるいはUNIX odbc.ini ファイル |
DuplicateBindMode |
0 (デフォルト): SQL文はOracleのパラメータ・バインディング・モデルを使用します。
|
Windows ODBCデータソース・アドミニストレータ | 「Duplicate Bind Mode」チェック・ボックス | 選択解除(デフォルト): SQL文はOracleのパラメータ・バインディング・モデルを使用します。
選択: SQL文は従来のTimesTenのパラメータ・バインディング・モデルを使用します。 |
デフォルトでは、DurableCommits
は0
(ゼロ)に設定されています。この設定では、ログ・レコードはトランザクションのコミット時にファイル・システムに書き込まれますが、すぐにディスクに書き込まれることはありません。これにより、障害の発生時に一部のコミット済トランザクションが失われる危険はありますが、トランザクションの実行時間が短縮されます。DurableCommits
を1に設定すると、TimesTenによりログ・レコードはトランザクションのコミット時にディスクに書き込まれます。
また、接続でttDurableCommit
組込みプロシージャをコールして、選択したトランザクションに対して明示的に永続的コミットを行うこともできます。ttDurableCommit
をコールすると、ディスクにログ・バッファがフラッシュされます。ログ・バッファは、すべての接続間で共有されており、すべての接続で実行されたトランザクションのログ・レコードを含みます。
ログ・レコードは、継続的にファイル・システムからディスクにコピーされます。LogFlushMethod
を使用して、ファイル・システムがディスクと同期化されるタイミングを制御できます。
設定
DurableCommits
は次のように設定します。
属性の設定場所 | 属性の表示 | 設定 |
---|---|---|
CまたはJavaプログラム、あるいはUNIX odbc.ini ファイル |
DurableCommits |
0 (デフォルト): TimesTenは、トランザクションのコミット時にトランザクション・ログをディスクに書き込みません。
|
Windows ODBCデータソース・アドミニストレータ | 「Durable Commits」チェック・ボックス | 選択解除 (デフォルト): TimesTenは、トランザクションのコミット時にトランザクション・ログをディスクに書き込みません。
選択: TimesTenは、トランザクションのコミット時にログをディスクに書き込みます。 |
デフォルトでは、TimesTenでは、コミット読取り分離が使用されます。Isolation属性では、接続トランザクションの初期分離レベルを指定します。分離レベルの詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』の分離およびロックによる並行性制御に関する説明を参照してください。
この値は、ALTER SESSION
文(『Oracle TimesTen In-Memory Database SQLリファレンス』を参照)によって変更される可能性があります。次に例を示します。
ALTER SESSION SET ISOLATION_LEVEL=serializable;
CREATE CACHE GROUP
、ALTER CACHE GROUP
およびDROP CACHE GROUP
文は、シリアライズ可能分離モードでサポートされません。
パススルーまたはTimesTen Cacheの伝播機能が使用されている場合、TimesTenの分離レベルの設定はOracleセッションに継承されます。TimesTenのシリアライズ可能なモードは、Oracleのシリアライズ可能なモードにマップされます。TimesTenのコミット読取りモードは、Oracleのコミット読取りモードにマップされます。PassThrough属性の詳細は、「PassThrough」を参照してください。
PassThrough
を3に設定した場合は、ALTER SESSION
文を使用してOracle Database接続時の分離レベルを永続的に変更する必要があります。たとえば、DSN repdb1_1122
に接続するには、次のように実行します。
ttIsql
をコールし、DSN
にPassThrough
レベル3
で接続します。
% ttIsql; Command> connect "dsn=repdb1_1122;passthrough=3"; Connection successful:. . .PassThrough=3; TypeMode=0; <default setting Autocommit=1>
AutoCommit
を無効にします。
Command> autocommit=0;
PassThrough
を一時的に0
に変更します。
Command> passthrough=0;
分離レベルをシリアライズ可能に変更します。
Command> prepare 1 ALTER SESSION SET ISOLATION_LEVEL=serializable; Command> commit; Command> exec=1;
デフォルトでは、TimesTenは同時実行性を最大にする行レベル・ロックを有効にします。行レベル・ロックの場合、トランザクションでは、通常、アクセスする個々の行に対するロックが取得されますが、表全体に対するロックを取得した場合にパフォーマンスが向上するとTimesTenが判断した場合は、表全体に対するロックが取得されます。行レベル・ロックは、最も粒度の高い並行性制御を提供するため、ほとんどのアプリケーションに対して最適です。行レベル・ロックを使用するには、アプリケーションでLockLevel
接続属性を0(デフォルト値)に設定する必要があります。Oracle Database表をキャッシュするには、行レベル・ロックを設定する必要があります。ユーザーに対してCREATE
、DROP
またはALTER
を実行する場合、行レベル・ロックのみを使用できるため、これらの処理を実行する前にロック・レベルを0に設定する必要があります。
この接続であらゆるトランザクションがデータベースに排他アクセスできるように、LockLevel
属性を1に設定してデータベース・レベル・ロックを有効にすることができます。これにより、アプリケーションによってはパフォーマンスが向上する場合もあります。
ttLockLevel
組込みプロシージャをコールすることで、接続で、希望するロック・レベルを随時変更できます。また、ttLockWait
組込みプロシージャをコールすることで、利用できないロックを待機することもできます。異なる接続は異なるレベルのロックと共存できますが、データベース・レベルのロックを使用する接続が1つでもある場合は、同時性が損なわれます。特定のデータベースのすべてのロックのリストを表示するには、ttXactAdmin
ユーティリティを使用します。
アプリケーションでPL/SQLを使用する場合、LockLevel
=0を設定し、ttLockLevel
組込みプロシージャを使用して、データベース・レベル・ロックを必要とするトランザクションについてのみ、データベース・レベル・ロックに変更します。
設定
LockLevel
は次のように設定します。
属性の設定場所 | 属性の表示 | 設定 |
---|---|---|
CまたはJavaプログラム、あるいはUNIX odbc.ini ファイル |
LockLevel |
0 (デフォルト): トランザクションは行レベル・ロックを使用してデータベースにアクセスします。
|
Windows ODBCデータソース・アドミニストレータ | 「DS-Level Locking」チェック・ボックス | 選択解除(デフォルト): トランザクションは行レベル・ロックを使用してデータベースにアクセスします。
選択: トランザクションはデータベース全体の排他ロックを取得してデータベースにアクセスします。 |
アプリケーションの接続中のロック待機時間を設定します。ロック待機時間は、ロックの競合が発生した際に待機する秒数です。小数秒を使用すると、わずかな秒数を表す際に重要な1秒未満のLockWait
値を指定できます。次に例を示します。
LockWait = 0.1
これは、1/10秒の待機時間となります。
LockWait
には10分の数秒の精度で0から1,000,000の値を設定できます。デフォルトは10
秒です。
LockWait = 10.0
タイムアウトを検出するエージェントのスケジュールにより、実際のロック待機応答時間は不正確で、最大1/10秒超過する場合があります。0(ゼロ)秒のタイムアウトの場合はこの不正確さは該当せず、タイムアウトはすぐにレポートされます。
データベースへの接続数は、ロック競合の解決にかかる時間に影響します。データベースへの接続数が多くなると予測される場合は、ロック待機時間を増やしてください。
キャッシュ・グリッドはロック待機時間とともにメッセージ待機時間を使用します。キャッシュ・グリッド使用時は、ロック待機時間は指定した値の約半分になります。アプリケーションでロック待機時間のすべてが必要な場合は、必要な秒数の2倍を指定します。
接続ではttLockWait
組込みプロシージャをコールすることで、ロック待機時間をいつでも変更できます。
特定のデータベースに対するすべてのロックのリストを表示するには、TimesTenユーティリティttXactAdmin
を使用します。
データベースの初期接続で、トランザクション・ログ・ファイルを消去するかどうかを決定します。後続の接続では、LogPurge
属性に同じ値を指定する必要があり、指定しない場合は、TimesTenによってエラーが返されます。接続でLogPurge
属性の現在の状態がわからない場合は、MatchLogOpts
を設定すると、ロギング属性を一致させることができます。
設定
MatchLogOpts
は次のように設定します。
属性の設定場所 | 属性の表示 | 設定 |
---|---|---|
CまたはJavaプログラム、あるいはUNIX odbc.ini ファイル |
MatchLogOpts |
0 (デフォルト): LogPurge の値が使用されます。
|
Windows ODBCデータソース・アドミニストレータ | 「Match Log Opts」チェック・ボックス | 選択解除(デフォルト): LogPurge の値が使用されます。
選択: TimesTenでは |
TimesTenがデータベースのメモリーの永続パーティションについてメモリー不足の警告を発行する、しきい値の割合を示します。このしきい値の10%下より低い割合まで下がると、データベースの永続メモリー不足は解消したものとみなされます。アプリケーションは、組込みプロシージャttWarnOnLowMemory
をコールしてメモリー不足の警告を受信する必要があります。また、しきい値はSNMP警告にも適用されます。『Oracle TimesTen In-Memory Databaseエラー・メッセージおよびSNMPトラップ』のSNMPトラップを使用した診断に関する説明も参照してください。
複数の接続で同じコマンドを実行する場合、それらの接続は、1つのコマンド・ロックによって制御される共通のコマンド構造にアクセスします。コマンドの共有およびロックへの競合を回避するには、PrivateCommands
を使用します。これにより、一時領域の使用は増加しますが、スケールは改善されます。
デフォルトではPrivateCommands
は無効で、コマンドは共有されます。
PWDCrypt
には対応するPWD
値の暗号化された値が含まれています。PWD
の値はクリアテキスト(特殊文字は使用不可)で、UNIXの場合は.odbc.ini
ファイルに、Windowsの場合はレジストリに保存されます。.odbc.ini
ファイルまたはWindowsのレジストリにアクセスできるすべてのユーザーがこの属性の値を参照できます。PWDCrypt
属性では特殊文字を使用でき、大/小文字が区別され、暗号化されたパスワードの値が含まれています。
セキュリティ上の理由から、PWDCrypt
属性はユーザーDSNまたはユーザー専用のODBCINI
ファイルに格納する必要があります。システムDSNにPWDCrypt
がある場合、すべてのユーザーはクリアテキスト・パスワードの知識がなくても、PWDCrypt
の値を使用してTimesTenに接続できます。
この属性の値を生成するには、ttUser
ユーティリティを実行します。
注意
PWD
とPWDCrypt
の両方が指定された場合、TimesTenではPWD
属性の値が使用されます。「UIDおよびPWD」を参照してください。
TimesTenでは、TimesTenシステムのどこにもPWD
属性の値を保存しません。
特定の権限を必要とするユーティリティを使用した場合のパスワード処理の詳細は、「UIDおよびPWD」の項の「ユーティリティに必要なユーザー認証」を参照してください。
SQL文の実行時間が指定した値を超えたときに、サポート・ログに警告を書き込み、SNMPトラップをスローする際にこの属性を使用します。レプリケーション・エージェントによって実行される問合せについては、『Oracle TimesTen In-Memory Database開発者および管理者ガイド』を参照してください。キャッシュ・エージェントによって実行されるSQL文には、問合せしきい値を設定できません。QueryThreshold
の値は、すべての接続に適用されます。この値は、レプリケーション・エージェントまたはキャッシュ・エージェントによって実行されるSQL文を除いて、すべてのSQL文に適用されます。
この属性の値には、0(ゼロ)以上の任意の整数を指定できます。デフォルト値は0
です。値が0
(ゼロ)の場合は警告が発行されないことを示します。秒単位で指定します。
追跡ベース・パラレル・レプリケーションを管理する場合、レプリケーション追跡に接続を割り当てることができます。接続によって発行されたすべてのトランザクションは、追跡が変更されないかぎり、この追跡に割り当てられます。
追跡ベース・パラレル・レプリケーションを開始するには、ReplicationParallelism
属性の値を設定して、パラレルで適用されるレプリケーションの追跡数を指定する必要があります。自動またはユーザー定義のパラレル・レプリケーションを使用するかどうかに応じて、ReplicationApplyOrdering
を1または2のいずれかに設定する必要もあります。
TTREP.REPPEERS
システム表の
Track_ID列(『Oracle TimesTen In-Memory Databaseシステム表およびビュー・リファレンス』を参照)は、接続に関連付けられているトラックを示します。
ALTER SESSION
SQL文(『Oracle TimesTen In-Memory Database SQLリファレンス』を参照)を使用して、セッション内でこの属性の値を割当てまたは変更できます。次に例を示します。
ALTER SESSION SET REPLICATION_TRACK=4;
データベースがSQL文を実行する必要がある制限時間(秒単位)を指定するには、この属性を使用します。
SQLQueryTimeout
の値には、0(ゼロ)以上の任意の整数を指定できます。デフォルト値は0
です。値が0
(ゼロ)の場合は問合せがタイムアウトしないことを示します。
この属性によって、Oracle Databaseで処理中のTimesTen Cache操作が停止されることはありません。このような操作には、PassThrough文、フラッシング、手動ロード、手動リフレッシュ、同期ライトスルーおよび伝播が含まれます。
TimesTenがデータベースのメモリーの一時パーティションについてメモリー不足の警告を発行する、しきい値の割合を示します。このしきい値の10%下より低い割合まで下がると、データベースの一時メモリー不足は解消したものとみなされます。アプリケーションは、組込みプロシージャttWarnOnLowMemory
をコールしてメモリー不足の警告を受信する必要があります。また、しきい値はSNMP警告にも適用されます。「ttWarnOnLowMemory」を参照してください。『Oracle TimesTen In-Memory Databaseエラー・メッセージおよびSNMPトラップ』のSNMPトラップを使用した診断に関する説明も参照してください。
ユーザーIDおよびパスワードは、TimesTenに内部的に識別されるユーザーが入力する必要があります。または、PWDCrypt
属性を使用して、暗号化されたパスワードを入力することができます。TimesTenの処理によっては、処理を実行するユーザーのUID
とPWD
を要求されることがあります。
TimesTenクライアント/サーバー・アプリケーションでは、UID
およびPWD
は、クライアントDSN設定または接続文字列のいずれかで指定します。接続文字列で指定されたUID
およびPWD
の値は、クライアントDSN設定で指定された値より優先されます。
Oracle Database表をキャッシュする場合、PWD
はTimesTenのパスワードを指定し、OraclePWD
はOracleのパスワードを指定します。
パスワードを必要とするすべてのユーティリティでは、パスワードを入力するように要求されます。
接続文字列によって、または指定されたDSNのODBCINI
ファイル内で、UID
接続属性は指定されているがPWD
属性が指定されていない場合は、TimesTenによってパスワードの入力が要求されます。明示的に要求された場合には、入力内容はコマンドラインに表示されません。
TimesTenでパスワードの入力が要求される前にコマンドラインに入力したパスワードは、ps
コマンドによって表示されるため、ユーティリティの最初のコールでPWD
接続属性を使用することはお薦めしません。たとえば、次のような使用方法はお薦めしません。
% ttIsql -connStr "DSN=mydsn;UID=terry;PWD=secret";
一般に、UID
接続属性が指定されていない場合、UID
はオペレーティング・システムで識別されるユーザー名とみなされ、TimesTenでパスワードを入力するように求められることはありません。
ユーティリティでDSN、接続文字列またはデータベース・パスをパラメータとして使用する場合は、コマンドラインの末尾に値を指定します。
アプリケーションがTimesTenデータベースへの接続を要求したときに、データベースの同時ロード/リカバリなどが原因で接続できない場合、通常、TimesTenは競合している接続が完了するまで待機します。場合によっては、アプリケーションがデータベースに接続するのに時間がかかることがあります。WaitForConnect
属性をオフに設定しておくと、データベースにすぐに接続できない場合、TimesTenはただちにエラーを返します。エラーの説明については、『Oracle TimesTen In-Memory Databaseエラー・メッセージおよびSNMPトラップ』の警告およびエラーに関する項で該当するエラー・メッセージ番号の説明を参照してください。
NLS接続属性は各接続によって設定され、接続が継続している間持続します。これらの属性は、データベースのグローバリゼーションの動作を制御します。この項では、表1-4「NLS一般接続属性」に示したNLS一般接続属性について説明します。
ALTER SESSION
文(『Oracle TimesTen In-Memory Database SQLリファレンス』を参照)を使用して、NLSパラメータを変更し、接続時にこれらの属性に割り当てられる値を上書きできます。
ConnectionCharacterSet
は、クライアントの接続属性としても使用できます。
この属性は、接続用の文字コードを指定しますが、データベース・キャラクタ・セットとは異なる文字コードを指定することができます。これは、データベースへの接続が複数あるときや、そのうちの1つ以上の接続でデータベースで指定されているものとは異なるキャラクタ・セットが必要な場合に便利です。
接続キャラクタ・セットにより、データが表示または参照される際のキャラクタ・セットが決定されます。
通常、ご使用の端末の設定またはデータソースと一致する接続キャラクタ・セットを選択する必要があります。データ要件に基づいて、データベースのキャラクタ・セットを選択することが必要です。たとえば、データをUnicodeで使用するか、UNIX(EUC)またはWindows(SJIS)上で日本語として使用するかを選択します。
データベースのキャラクタ・セットと接続キャラクタ・セットが異なる場合、TimesTenは、接続キャラクタ・セットに従って内部的にデータを変換します。接続およびデータベースのキャラクタ・セットが同じ場合、TimesTenはデータ・セットを変換したり解釈する必要はありません。接続およびデータベースのキャラクタ・セットが一致していると、変換の必要がないため、最高のパフォーマンスを得られます。
パラメータおよびSQL問合せのテキストを接続に送信するには、接続キャラクタ・セットであることが必要です。接続中に返される結果やエラー・メッセージは、接続キャラクタ・セットとして返されます。
TIMESTEN8
キャラクタ・セット用のキャラクタ・セットの変換はサポートされていません。TIMESTEN8
のConnectionCharacterSet
の値は、TIMESTEN8ではない
DatabaseCharacterSetに割り当てられるとエラーになります。
この属性は、DatabaseCharacterSet
用に使用される値と同じ値を使用します。サポートされているキャラクタ・セット名のリストは、「サポートされているキャラクタ・セット」を参照してください。
設定
ConnectionCharacterSet
は次のように設定します。
属性の設定場所 | 属性の表示 | 設定 |
---|---|---|
CまたはJavaプログラム、あるいはUNIX odbc.ini ファイル |
ConnectionCharacterSet |
データベースで使用するキャラクタ・セットがTIMESTEN8 の場合を除き、ConnectionCharacterSet のデフォルト値はUS7ASCII です。 |
Windows ODBCデータソース・アドミニストレータ | 「Connection CharacterSet」リスト | データベースで使用するキャラクタ・セットがTIMESTEN8 の場合を除き、ConnectionCharacterSet のデフォルト値はUS7ASCII です。 |
TimesTenではNLS_LENGTH_SEMANTICS
属性を使用して、長さセマンティクス構成のデフォルトを設定します。長さセマンティクスを設定することで、キャラクタ文字列の長さがどのように定義されるかが決まります。長さは文字列(バイト数)として処理できます。
NLS_NCHAR_CONV_EXCP
属性は、NCHAR
/NVARCHAR2
データとCHAR
/VARCHAR2
データの間で暗黙的または明示的なキャラクタ・タイプの変換が行われる際、データ損失が発生した場合にエラーを報告するかどうかを指定します。変換できない文字には置換文字が代用されます。
データベースで使用するキャラクタ・セットがTIMESTEN8
の場合を除き、CHAR
とNCHAR
の間で暗黙的または明示的な変換がサポートされています。
設定
NLS_NCHAR_CONV_EXCP
は次のように設定します。
属性の設定場所 | 属性の表示 | 設定 |
---|---|---|
CまたはJavaプログラム、あるいはUNIX odbc.ini ファイル |
NLS_NCHAR_CONV_EXCP |
0 (デフォルト): キャラクタ・タイプの変換時にデータ損失が発生した場合、エラーを報告しません。
|
Windows ODBCデータソース・アドミニストレータ | 「NLS_NCHAR_ CONV_EXCP」チェック・ボックス | 選択解除(デフォルト): キャラクタ・タイプの変換時にデータ損失が発生した場合、エラー・メッセージを報告しません。
選択: キャラクタ・タイプの変換時にデータ損失が発生した場合、エラー・メッセージを報告します。 |
NLS_SORT
属性では、言語比較に使用する照合順番を指定します。「サポートされている言語ソート」に示されている値を使用できます。これらの値はいずれも各値に_CI
を付加することで、大/小文字を区別せずにソートを実行するように変更できます。アクセント記号および大/小文字を区別せずにソートするには、値に_AI
を付加します。
TimesTenでは、マテリアライズド・ビューおよびキャッシュ・グループに対して、この属性を接続文字列またはDSN定義で使用するのではなく、SQL関数のNLSSORT
を使用して照合順番を明示的に指定することをお薦めします。
文字比較を含む演算では、言語の大/小文字を区別する照合順番がサポートされています。大/小文字を区別しないソートは、DISTINCT
値の解釈に影響することがあります。
NLS_SORT
を行うと、様々な処理に影響する可能性があります。照合順番を区別する、サポートされている処理は次のとおりです。
MIN
、MAX
BETWEEN
=
、<>
、>
、>=
、<
、<=
DISTINCT
CASE
GROUP BY
HAVING
ORDER BY
IN
LIKE
TIMESTEN8
キャラクタ・セットでは、BINARY
ソートのみがサポートされています。
BINARY
以外のNLS_SORT
設定を行うと、文字処理のパフォーマンスに重大な影響を及ぼす可能性があります。
注意: 主キー索引は常にBINARY 照合順番に従います。BINARY以外のNLS_SORT 等価検索では、主キー索引を使用できません。 |
設定
NLS_SORT
は次のように設定します。
属性の設定場所 | 属性の表示 | 設定 |
---|---|---|
CまたはJavaプログラム、あるいはUNIX odbc.ini ファイル |
NLS_SORT |
言語のソート順序またはBINARY (デフォルト)を指定します。 |
Windows ODBCデータソース・アドミニストレータ | 「NLS_SORT」ドロップダウン・リスト | 言語のソート順序またはBINARY (デフォルト)を指定します。 |
この項の各表は、NLS_SORT
一般接続属性およびNLS_SORT
のSQL関数でサポートされている値を示します。
基本名 | 拡張名 |
---|---|
ARABIC |
- |
ARABIC_MATCH |
- |
ARABIC_ABJ_SORT |
- |
ARABIC_ABJ_MATCH |
- |
ASCII7 |
- |
AZERBAIJANI |
XAZERBAIJANI |
BENGALI |
- |
BIG5 |
- |
BINARY |
- |
BULGARIAN |
- |
CANADIAN FRENCH |
- |
CATALAN |
XCATALAN |
CROATIAN |
XCROATIAN |
CZECH |
XCZECH |
CZECH_PUNCTUATION |
XCZECH_PUNCTUATION |
DANISH |
XDANISH |
DUTCH |
XDUTCH |
EBCDIC |
- |
EEC_EURO |
- |
EEC_EUROPA3 |
- |
ESTONIAN |
- |
FINNISH |
- |
FRENCH |
XFRENCH |
GERMAN |
XGERMAN |
GERMAN_DIN |
XGERMAN_DIN |
GBK |
- |
GREEK |
- |
HEBREW |
- |
HKSCS |
- |
HUNGARIAN |
XHUNGARIAN |
ICELANDIC |
- |
INDONESIAN |
- |
ITALIAN |
- |
LATIN |
- |
LATVIAN |
- |
LITHUANIAN |
- |
MALAY |
- |
NORWEGIAN |
- |
POLISH |
- |
PUNCTUATION |
XPUNCTUATION |
ROMANIAN |
- |
RUSSIAN |
- |
SLOVAK |
XSLOVAK |
SLOVENIAN |
XSLOVENIAN |
SPANISH |
XSPANISH |
SWEDISH |
- |
SWISS |
XSWISS |
THAI_DICTIONARY |
- |
TURKISH |
XTURKISH |
UKRAINIAN |
- |
UNICODE_BINARY |
- |
VIETNAMESE |
- |
WEST_EUROPEAN |
XWEST_EUROPEAN |
ソート名 | 説明 |
---|---|
CANADIAN_M |
フランス語(カナダ)ソート。補助的な特殊拡張文字が逆順でソートされます。 |
DANISH_M |
デンマーク語ソート。小文字より前に大文字がソートされます。 |
FRENCH_M |
フランス語ソート。補助的な文字が逆順でソートされます。 |
GENERIC_M |
ISO14651 およびUnicode標準等価性ルールに基づく一般的なソート順序。ただし、互換等価性ルールは除きます。 |
JAPANESE_M |
日本語のソートは、SJISキャラクタ・セットのソート順序およびSJISには含まれないEUC文字をサポートしています。 |
KOREAN_M |
韓国語のソートでは、ハングル文字はUnicodeのバイナリ順序に基づいてソートされます。ハンジャ文字は発音順に基づいてソートします。すべてのハングル文字がハンジャ文字の前にソートされます。 |
SPANISH_M |
スペイン語ソート(トラディショナル・ソート)。特殊な短縮文字がソートされます。 |
THAI_M |
タイ語ソート。一部の母音と子音に対する入替え文字がソートされます。 |
SCHINESE_RADICAL_M |
簡体字中国語ソート。プライマリ順序として部首が使用され、セカンダリ順序として画数が使用されます。 |
SCHINESE_STROKE_M |
簡体字中国語ソート。プライマリ順序として画数が使用され、セカンダリ順序として部首が使用されます。 |
SCHINESE_PINYIN_M |
簡体字中国語ソート。順序としてピンインが使用されます。 |
TCHINESE_RADICAL_M |
繁体字中国語ソート。プライマリ順序として部首が使用され、セカンダリ順序として画数が使用されます。 |
TCHINESE_STROKE_M |
簡体字中国語ソートでは、プライマリ順序として画数が使用され、セカンダリ順序として部首が使用されます。補助文字もサポートされています。 |
PL/SQL接続属性は各接続によって設定され、接続が継続している間持続します。これらの属性によって、データベースの動作が制御されます。この項では、表1-5「PL/SQLの初期接続属性」に示したPL/SQLの初期接続属性について説明します。
この属性は、データベースに対してPL/SQLを構成するかどうかを指定します。
PLSQL=1
を指定すると、データベースでPL/SQLの使用を有効にします。PLSQL=0
を指定すると、データベースでPL/SQLの使用を無効にします。
インストール時にPL/SQLサポートが有効になっているTimesTenインストールの場合、デフォルトはPLSQL=1
です。または、データベースを最初に作成するとき、または後で初期接続時にPL/SQLを有効にできます。一度データベースでPL/SQLサポートを有効にすると、後で無効にすることはできません。
データベースでPL/SQLサポートを構成すると、いくつかのPL/SQLパッケージがインストールされます(『Oracle TimesTen In-Memory Database PL/SQLパッケージ・リファレンス』を参照)。
この属性を設定する場合の注意事項は、次のとおりです。
PL/SQLが有効になっているデータベースにアプリケーションが接続する場合に、アプリケーションまたはodbc.ini
ファイルでPLSQL=0
が指定されていると、TimesTenによって警告が返されます。
PL/SQLが有効になっていないデータベースにアプリケーションが接続する場合に、アプリケーションまたはodbc.ini
ファイルでPLSQL=1
が指定されていると、この接続が初期接続か後続の接続かによって結果が異なります。最初の接続の場合、データベースはPL/SQLをサポートするように構成されます。それ以外の場合は、TimesTenによってエラーが返されます。
PLSQL=0
の場合、PL/SQLの初期接続属性および一般接続属性はすべて無視されます。
PLSQL=0
の場合、PL/SQL一般接続属性の値を変更しようとするとエラーが返されます。
PLSQL=1
の場合、その接続に対してLockLevel
=0に設定することをお薦めします。データベース・レベル・ロックが有効な場合、一部のPL/SQL内部ファンクションは実行できません。ttLockLevel
組込みプロシージャを使用して、データベース・レベル・ロックを必要とするトランザクションについてのみ、データベース・レベル・ロックに変更できます。
PL/SQLサポートが有効な場合、DDLCommitBehavior
をOracleのトランザクション・コミット動作(値0
)に設定する必要があります。
PL/SQLを有効にすると(PLSQL=1
)、PL/SQLを使用していなくても、PL/SQLセグメントから割り当てられた固定オーバーヘッドおよび接続ごとのオーバーヘッドの両方が存在することになります。詳細は、「PLSQL_MEMORY_SIZE」を参照してください。
PL/SQLを使用するには、共有メモリー・セグメントが必要です。この共有メモリーには、最近実行されたPL/SQLコード、共有パッケージの状態およびPL/SQLの処理に関連付けられたメタデータが格納されます。この共有メモリー・セグメントは、TimesTenデータベースを格納するセグメントとは別の共有メモリー・セグメントです。
この属性は、この共有メモリー・セグメントが、TimesTenダイレクト・ドライバを利用する各プロセスにロードされる仮想アドレスを指定します。このメモリー・アドレスは、TimesTenを使用中の各プロセスで同一である必要があります。値は16進のアドレスとして指定する必要があります。
PL/SQLの使用が有効になっている場合(PLSQL=1
)に、PLSQL_MEMORY_ADDRESS
に値を指定しないと、TimesTenではプラットフォーム依存のデフォルト値が使用されます。
各プラットフォームのデフォルト値は、次のように設計されています。
TimesTenデータベースおよびアプリケーションの仮想領域の容量を最大限に高める。
仮想アドレス領域の断片化を最小限に抑える。
仮想アドレス領域の他の利用との競合を避ける。
プラットフォーム固有のデフォルトのメモリー・アドレスは、次のとおりです。
オペレーティング・システム | アドレス |
---|---|
32ビットx86プロセッサ上のLinux | 10000000 |
64ビットx86プロセッサ上のLinux | 0000007fa0000000 |
32ビットAIX | c0000000 |
64ビットAIX | 06ffffff00000000 |
64ビットx86プロセッサ上のSolaris | 0000007fa0000000 |
64ビットSPARCプロセッサ上のSolaris | ffffff0000000000 |
32ビットWindows | 5B8C0000 |
64ビットWindows | 000000005b8c0000 |
64ビットHP-UX | 0 |
この属性を設定する場合の注意事項は、次のとおりです。
アプリケーションが複数のTimesTenデータベースにダイレクト・モードで同時に接続する場合、各データベースはPLSQL_MEMORY_ADDRESS
に対して異なる値を使用する必要があります。
この属性の値は、TimesTenによって永続的に保存されます。データベースがTimesTenによって自動的にロードされる状況において、永続的な属性値が指定されます。たとえば、データベースのRamPolicy
が1に設定されている場合、データベースは自動的にロードされます。
PL/SQL共有メモリーを適切なアドレスでマップできない場合、TimesTenによってエラーが返され、データベースへの接続は失敗します。
メモリー・セグメントのサイズは、PLSQL_MEMORY_SIZE
の値によって決定されます。
PL/SQLを使用するには、共有メモリー・セグメントが必要です。この属性は、PL/SQLで使用される共有メモリー・セグメントのサイズをMB単位で指定します。すべての接続でこのメモリー・セグメントを共有します。
この共有メモリーには、最近実行されたPL/SQLコード、共有パッケージの状態およびPL/SQLの処理に関連付けられたメタデータが格納されます。この共有メモリー・セグメントは、TimesTenデータベースを格納するセグメントとは別の共有メモリー・セグメントです。
この属性を設定する場合の注意事項は、次のとおりです。
この属性の値は、TimesTenによって永続的に保存されます。データベースがTimesTenによって自動的にロードされる状況において、永続的な属性値が指定されます。たとえば、データベースのRamPolicyが1に設定されている場合、データベースは自動的にロードされます。
メモリーのデフォルト・サイズは、UNIXシステムは32MB、Windows 32ビット・システムは32MBです。PLSQL=1
の場合、最小サイズは2MBです。ほとんどのPL/SQLユーザーにとっては、このデフォルト・サイズは十分なメモリー量です。PL/SQLを大量に使用するデータベースの場合は、より大きいメモリー・サイズを指定します。メモリー領域に空きがなくなると、PL/SQLの実行中にORA-4031
エラーが発生する可能性があります。
メモリー・セグメントのアドレスは、PLSQL_MEMORY_ADDRESS
の値によって決定されます。
PL/SQLを有効にすると(PLSQL=1
)、PL/SQLを使用していなくても、PL/SQLセグメントから割り当てられた固定オーバーヘッドおよび接続ごとのオーバーヘッドの両方が存在することになります。割り当てられる最小の固定メモリーは約1500KBです。さらに、接続ごとに約40KBのメモリーが割り当てられます。したがって、PL/SQLを有効にする場合のPLSQL_MEMORY_SIZE
に必要な推定の最小メモリー設定は、1500KB + (接続数
×40
)として計算できます。アプリケーションでPL/SQLを使用する場合は、このセグメントに必要な推定の最小メモリーの2倍を割り当てることをお薦めします。アプリケーションでPL/SQLを使用しない場合は、必要な推定の最小メモリーの2倍よりも少なく割り当てることができます。
PL/SQLの一般接続属性は各接続によって設定され、接続が継続している間持続します。これらの属性によって、データベースの動作が制御されます。この項では、表1-6「PL/SQLの一般接続属性」に示したPL/SQLの一般接続属性について説明します。
ALTER SESSION
文(『Oracle TimesTen In-Memory Database SQLリファレンス』を参照)を使用して、PL/SQLパラメータを変更し、接続時にPL/SQLの一般接続属性に割り当てられる値を上書きできます。
PLSCOPE_SETTINGS
は、PL/SQLコンパイラで相互参照情報を生成するかどうかを制御します。すべての相互参照を生成するか、または1つも生成しないかのいずれかになります。
この属性を設定する場合の注意事項は、次のとおりです。
PLSCOPE_SETTINGS
接続属性によって、セッション内のこの属性の初期値が決定されます。この値は、ALTER SESSION
文(『Oracle TimesTen In-Memory Database SQLリファレンス』を参照)によって変更される可能性があります。PLSQL=0
のデータベースでALTER SESSION
文にこの属性が指定されていない場合は、エラーが返されます。次に例を示します。
ALTER SESSION SET PLSCOPE_STTINGS = 'IDENTIFIERS:ALL' ;
接続文字列またはodbc.ini
ファイルでこの属性が指定されていないときに、アプリケーションがPLSQL=0
のデータベースに接続すると、エラーまたは警告は生成されません。
注意: この属性の詳細は、Oracle TimesTen In-Memory Database PL/SQL開発者ガイドを参照してください。 |
この属性では、PL/SQLユニットの条件付きコンパイルを制御するディレクティブを設定し、確認する条件に応じて、PL/SQLプログラムの機能をカスタマイズできます。このことは、特に、アプリケーションが複数のデータベース環境にデプロイされる場合に有効です。考えられる用途としては、デバッグ機能やトレース機能のアクティブ化、データベースのバージョンに基づいた機能設定などがあります。
次の形式を使用します。
PLSQL_CCFLAGS = 'v1:c1,v2:c2,...,vn:cn'
v1
の形式は、引用符で囲まないPL/SQL識別子です。制限はなく、予約語やキーワードも可能です。このテキストでは大/小文字は区別されません。それぞれがフラグまたはフラグ名として認識されます。各vi
は、文字列内で複数回使用可能で、それぞれに異なるフラグ値を持つことができ、様々な種類のフラグ値を使用できます。
c1
は、PL/SQLブール・リテラル、PLS_INTEGER
リテラル、リテラルNULL
のいずれかです。このテキストでは大/小文字は区別されません。それぞれがフラグ値として認識され、フラグ名に対応しています。
設定
PLSQL_CCFLAGS
は次のように設定します。
属性の設定場所 | 属性の表示 | 設定 |
---|---|---|
CまたはJavaプログラム、あるいはUNIX odbc.ini ファイル |
PLSQL_CCFLAGS |
次の形式の文字列リテラル:
デフォルト: NULL |
Windows ODBCデータソース・アドミニストレータ | 「PL/SQL CCFlags」フィールド | 次の形式の文字列リテラル:
デフォルト: NULL |
ALTER SESSION
SQL文(『Oracle TimesTen In-Memory Database SQLリファレンス』を参照)を使用して、セッション内でこの属性を変更できます。
ALTER SESSION SET PLSQL_CCFLAGS = 'v1:c1,v2:c2,...,vn:cn';
この属性では、設定された接続でPL/SQLが使用できるプロセス・ヒープ・メモリーの最大量をMB単位で指定します。
この属性を設定する場合の注意事項は、次のとおりです。
PL/SQLでは、必要となるまで(必要とならないかぎり)このメモリーは割り当てられません。多くのPL/SQLプログラムでは、必要なメモリー量はごく少量です。アプリケーションをどのように記述するかによって、メモリー要件が決定されます。たとえば、PL/SQLコードにサイズの大きなVARRAY
が含まれる場合、大量のメモリーが必要になることがあります。
使用可能な量よりも大きいメモリーを割り当てようとすると、TimesTenによってエラーが返されます。
この値は、ALTER SESSION
文(『Oracle TimesTen In-Memory Database SQLリファレンス』を参照)を使用して変更できます。次に例を示します。
ALTER SESSION SET PLSQL_CONN_MEM_LIMIT = 100;
詳細は、『Oracle TimesTen In-Memory Database PL/SQL開発者ガイド』を参照してください。
この属性は、PL/SQLライブラリ・ユニットのコンパイルに使用する最適化レベルを指定します。このパラメータの設定が高いほど、コンパイラはPL/SQLライブラリ・ユニットをより最適化しようと試みます。
この属性を設定する場合の注意事項は、次のとおりです。
PLSQL_OPTIMIZE_LEVEL
接続属性によって、セッション内のこの属性の初期値が決定されます。この値は、ALTER SESSION
文(『Oracle TimesTen In-Memory Database SQLリファレンス』を参照)によって変更される可能性があります。PLSQL=0
のデータベースでALTER SESSION
文にこの属性が指定されていない場合は、エラーが返されます。次に例を示します。
ALTER SESSION SET PLSQL_OPTIMIZE_LEVEL = 2;
接続文字列またはodbc.ini
ファイルでこの属性が指定されていないときに、アプリケーションがPLSQL=0
のデータベースに接続すると、エラーまたは警告は生成されません。
設定
PLSQL_OPTIMIZE_LEVEL
は次のように設定します。
属性の設定場所 | 属性の表示 | 設定 |
---|---|---|
CまたはJavaプログラム、あるいはUNIX odbc.ini ファイル |
PLSQL_OPTIMIZE_LEVEL |
この属性の設定の詳細は、Oracle TimesTen In-Memory Database PL/SQL開発者ガイドを参照してください。
デフォルト値は |
Windows ODBCデータソース・アドミニストレータ | 「PL/SQL Optimization Level」プルダウン・リスト | この属性の設定の詳細は、Oracle TimesTen In-Memory Database PL/SQL開発者ガイドを参照してください。
デフォルト値は |
この属性は、PL/SQLプロシージャ、無名ブロックおよび関数を含むPL/SQLプログラム・ユニットが自動的に終了されるまでの実行時間を秒数で指定します。
この値は、ALTER SESSION
文(『Oracle TimesTen In-Memory Database SQLリファレンス』を参照)によって変更される可能性があります。この値がALTER SESSION
によって変更された場合、新しい値は現在実行中のすべてのPL/SQLプログラム・ユニットに影響します。次に例を示します。
ALTER SESSION SET PLSQL_TIMEOUT = 10;
注意:
|
TimesTen Cacheの初期接続属性は、TimesTen Cache製品を使用している場合にのみ使用されます。この項では、表1-7「TimesTen Cacheの初期接続属性」に示したTimesTen Cacheの初期接続属性について説明します。
Oracle Databaseサーバーに変更を適用するための非同期ライトスルー伝播で、PL/SQL実行メソッドを使用するか、SQL配列実行メソッドを使用するかを決定します。
デフォルトでは、非同期ライトスルー(AWT)は、PL/SQL実行メソッド(CacheAWTMethod=1
)を使用します。AWTでは、すべての保留中の処理を単一のPL/SQLコレクションにまとめ、Oracle Databaseサーバーに送信して実行します。このメソッドでは、混合トランザクションやTimesTenとOracle Databaseサーバー間にネットワーク遅延がある場合に、AWTのスループットを向上できます。
TimesTenでの変更をOracle Databaseに適用する際のSQL配列実行は、同じタイプの処理を繰り返す場合に適しています。たとえば、表の複数の行に影響する更新をユーザーが行う場合に配列実行は非常に効果的です。更新はグループにまとめられ、一度のバッチ処理でOracle Databaseサーバーに送信されます。
次のいずれかの場合に、PL/SQL実行メソッドは、ユーザーに意識させることなく一時的に配列実行モードになります。
長さが32761バイトを超える文。
BINARY FLOAT
、BINARY DOUBLE
および4000バイトを超える長さのVARCHAR
の各データ型の列を参照する文。
AWTキャッシュ・グループにVARBINARY
列が含まれる場合は、SQL実行メソッドCacheAWTMethod=0
を指定します。
SYSTEMSTATS
表には、実行メソッドが一時的にSQL配列実行モードになった回数に関する情報が含まれています。
注意: アクティブ・スタンバイ・ペア・レプリケーション・スキームのすべてのTimesTenノードでは、同一のAWT実行メソッドを使用してください。 |
設定
CacheAWTMethod
は次のように設定します。
属性の設定場所 | 属性の表示 | 設定 |
---|---|---|
CまたはJavaプログラム、あるいはUNIX odbc.ini ファイル |
CacheAWTMethod |
0 : SQL配列実行メソッドを使用します。
|
Windows ODBCデータソース・アドミニストレータ | 「Cache AWT Method」フィールド | 0 : SQL配列実行メソッドを使用します。
|
TimesTen Cacheの接続属性は、TimesTen Cache製品を使用している場合にのみ使用されます。この項では、TimesTen Cacheのデータ・ストア属性について説明します。
CacheAWTParallelism
は、Oracle Databaseに変更を適用するスレッドの数を示します。この属性はReplicationParallelism
およびReplicationApplyOrdering
と関連性があります。デフォルトは1です。
この属性を設定しない場合、またはデフォルトの1に設定した場合、Oracle Databaseに変更を適用するスレッドの数はReplicationParallelism
に設定された数の2倍になります。CacheAWTParallelism
属性が1に設定されているか設定されていない場合、ReplicationParallelism
で許容される最大値は16
です。
ReplicationParallelism
属性とCacheAWTParallelism
属性の両方が設定されている場合は、CacheAWTParallelism
に設定される値がパラレル伝播で使用するスレッド数を構成します。CacheAWTParallelism
の設定は、パラレル伝播の適用スレッド数を決定し、ReplicationParallelism
の設定は、パラレル・レプリケーションのスレッド数を決定します。
パラレルAWTキャッシュの詳細は、『Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイド』のOracle Database表へのパラレル伝播の構成に関する説明を参照してください。
キャッシュ・グリッドを有効または無効にします。キャッシュ・グループを作成するには、TimesTenデータベースがキャッシュ・グリッドのメンバーである必要があります。デフォルトは1
(有効)です。
設定
CacheGridEnable
は次のように設定します。
属性の設定場所 | 属性の表示 | 設定 |
---|---|---|
CまたはJavaプログラム、あるいはUNIX odbc.ini ファイル |
CacheGridEnable |
0 : キャッシュ・グリッドの外部でキャッシュ・グループを定義できます。
|
Windows ODBCデータソース・アドミニストレータ | 「Cache Grid Enable」チェック・ボックス | 選択解除: キャッシュ・グリッドの外部でキャッシュ・グループを定義できます。
選択(デフォルト): データベース内のすべてのキャッシュ・グループが、キャッシュ・グリッドのメンバーとして定義されている必要があります。 |
キャッシュ・グリッド内のリモート・メンバーからのメッセージ・レスポンスを、アプリケーションが待機する秒数を指定します。
最大待機時間には、LockWait
接続属性の値にこの属性の値を加えた値が含まれます。
TimesTenキャッシュ・グリッドのOracle Databaseからのデータのキャッシュの詳細は、『Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイド』を参照してください。
TimesTen Cacheの一般接続属性は、TimesTen Cache製品を使用している場合にのみ使用されます。この項では、表1-9「TimesTen Cacheの一般接続属性」に示したTimesTen Cacheの一般接続属性について説明します。
この属性は、Oracle DatabaseからTimesTenの動的キャッシュ・グループへのデータの動的ロードを有効または無効にします。デフォルトでは、Oracle Databaseからのデータの動的ロードが有効になっています。
文レベルで動的ロードを有効または無効にして一時的にこの属性の設定を上書きするには、DynamicLoadEnable
オプティマイザ・フラグをttOptSetFlag
組込みプロシージャで設定するか、SQL文で文レベル・オプティマイザ・ヒントTT_DynamicLoadEnable
を使用して設定します。
注意: この属性の値は、データベースへの現在の接続での、すべての動的キャッシュ・グループの動的ロード動作を上書きします。 |
設定
DynamicLoadEnable
は次のように設定します。
属性の設定場所 | 属性の表示 | 設定 |
---|---|---|
CまたはJavaプログラム、あるいはUNIX odbc.ini ファイル |
DynamicLoadEnable |
0 : 現在の接続について、Oracle DatabaseからTimesTenの動的キャッシュ・グループへのデータの動的ロードを無効にします。
|
Windows ODBCデータソース・アドミニストレータ | 「Dynamic Load Enable」フィールド | 0 : 現在の接続について、Oracle DatabaseからTimesTenの動的キャッシュ・グループへのデータの動的ロードを無効にします。
|
この属性は、アプリケーションが動的キャッシュ・グループに対してSQL処理を実行する場合およびSQL処理で動的ロードが使用できない場合の動作を制御します。
値0を設定すると、TimesTenキャッシュ表にあるどんなデータに対してもSQL処理が実行され、エラーを表示することなく、データに基づいた結果が返されます。
値1を設定すると、(動的ロードが必要でない場合でも)動的ロードを使用できないすべての文は、動的ロードに対応していないというエラーを表示して、処理が失敗します。
TimesTenキャッシュ・グループのOracle Databaseからのデータのキャッシュの詳細は、『Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイド』を参照してください。
注意: 文レベルでこの属性の値を上書きするには、DynamicLoadErrorMode オプティマイザ・フラグをttOptSetFlag 組込みプロシージャで設定するか、SQL文で文レベル・オプティマイザ・ヒントTT_DynamicLoadErrorMode を使用して設定します。
詳細は、『Oracle TimesTen In-Memory Database SQLリファレンス・ガイド』の文レベル・オプティマイザ・ヒントに関する説明を参照してください。 |
設定
DynamicLoadErrorMode
は次のように設定します。
属性の設定場所 | 属性の表示 | 設定 |
---|---|---|
CまたはJavaプログラム、あるいはUNIX odbc.ini ファイル |
DynamicLoadErrorMode |
0 (デフォルト): 文は、キャッシュされているデータに対して、エラーを発生せずに処理を実行します。
|
Windows ODBCデータソース・アドミニストレータ | 「DynamicLoadErrorMode」フィールド | 0 (デフォルト): 文は、キャッシュされているデータに対して、エラーを発生せずに処理を実行します。
|
TimesTen Cacheでは、OracleNetServiceName
属性が使用されます。
この属性では、Oracleインスタンスのサービス名が識別されます。
Oracle Database表をキャッシュし、Oracle Databaseとの通信を有効にするには、Oracleサービス名を指定する必要があります。
TimesTen Cacheでは、OraclePWD
属性が使用されます。
この属性の値はOracle Databaseに接続してキャッシュ処理を実行するための、UID
で指定されるユーザーのパスワードです。
設定
この属性は接続文字列で設定する必要があります。Linuxで、次のようにodbc.ini
ファイルを定義したとします。
[myDSN] Datastore=/data/myDSN PermSize=128 DatabaseCharacterSet=AL32UTF8 ConnectionCharacterSet=AL32UTF8
myDSN
に接続することでユーザーttuser
のOraclePWD
を設定するには、次のように指定します。
% ttisql Copyright (c) 1996-2011, Oracle. All rights reserved. Type ? or "help" for help, type "exit" to quit ttIsql. Command> connect "dsn=myDSN;OraclePWD=mypwd"; Connection successful: DSN=beta4;UID=ttuser;DataStore=/data/myDSN;DatabaseCharacterSet=AL32UTF8; ConnectionCharacterSet=AL32UTF8;PermSize=128;TypeMode=0; (Default setting AutoCommit=1) Command>
Windowsでは、Linuxでの設定と同じ方法で接続文字列にOraclePWD
を設定します。
TimesTen Cacheでは、PassThrough
属性が使用されます。
これは、キャッシュ・データベースでのみ実行されるSQL文、およびOracle Databaseに渡されるSQL文を指定します。TimesTen Cacheの詳細は、『Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイド』、および『Oracle TimesTen In-Memory Database SQLリファレンス』のCREATE CACHE GROUPに関する説明を参照してください。
準備されたPassThrough
コマンドを実行する場合、Oracle Databaseの依存オブジェクトのスキーマが準備後に変更されていないと想定しています。スキーマが変更されている場合は、PassThrough
コマンドによってOracle Databaseで予期せぬ結果が発生する可能性があります。
SQL文をOracle Databaseに渡す場合、TimesTenでサポートされるデータ型のみを列定義で使用してください。指定されたデータ型がTimesTenでサポートされていない場合、パススルー文は失敗します。
この属性を使用したOracle Database接続時の分離レベルの変更については、「Isolation」を参照してください。
設定
PassThrough
は次のように設定します。
属性の設定場所 | 属性の表示 | 設定 |
---|---|---|
CまたはJavaプログラム、あるいはUNIX odbc.ini ファイル |
PassThrough |
0 (デフォルト): SQL文はTimesTenに対してのみ実行されます。
|
Windows ODBCデータソース・アドミニストレータ | 「PassThrough」リスト | 0 (デフォルト): SQL文はTimesTenに対してのみ実行されます。
|
Restrictions
PassThrough機能を使用する場合、いくつかの制限を考慮する必要があります。次の制限があります。
問合せがOracle Databaseで実行される必要があるようにPassThrough
属性が設定されている場合は、その問合せは変更されずにOracle Databaseに送信されます。問合せがキャッシュ・グループの表に対してシノニムを使用する場合、問合せが成功するためには、同じ名前のシノニムが対応するOracle Database表に定義されている必要があります。
TimesTen独自の構文を使用するSQL文がOracle Databaseに渡される場合、TimesTenはその構文がOracle Databaseでサポートされていないことを示すエラー・メッセージを返します。
準備されたPassThroughコマンドを実行する場合、Oracle Databaseの依存オブジェクトのスキーマが準備後に変更されていないと想定しています。スキーマが変更されている場合は、予期せぬ結果が発生する可能性があります。
TimesTenはキャッシュを無効にする機能を備えていません。TimesTenはキャッシュされた表が最新の状態であるかを検証しません。TimesTenで問合せの構文が正しく、問合せで参照されるすべての表がキャッシュに存在する場合、キャッシュが最新であるかどうかにかかわらず問合せはTimesTenで実行されます。
OracleのINSERT
、UPDATE
またはDELETE
処理のパススルーは、前述の表で説明するPassThrough
属性の設定によって異なります。TimesTen Cacheは、トリガーやストアド・プロシージャの中に隠されたINSERT
、UPDATE
およびDELETE
処理を検出できません。このため、TimesTenは隠された処理に対してPassThroughルールを適用できません。
PL/SQLブロックをOracle Databaseに渡すことはできません。
読取り専用キャッシュ・グループに対するパススルーのINSERT
、UPDATE
またはDELETE
処理の結果は、トランザクションがコミットされた後、および次の自動リフレッシュ処理が完了した後にのみ反映されます。
TimesTenの同期ライトスルー・キャッシュ・グループにキャッシュされるOracle Database表に対する更新を検出またはブロックするメカニズムはありません。更新がキャッシュ経由で渡された文によって実行されたものであるか、その他のOracle Databaseアプリケーションからのものであるかにかかわらず、変更内容はTimesTen Cacheには反映されません。
Oracle Call Interface(OCI)では、入力パラメータのバインド型を表すメカニズムがサポートされていません。アプリケーションでPassThrough文に正しいSQLのデータ型が指定されているかを確認してください。ODBCドライバにより、CおよびSQLのデータ型がTimesTenに変換され、変換後のデータとSQLのデータ型のコードが表示されます。TimesTenはその情報をOCIに示します。LONG
型およびLONG RAW
型の入力バインド値の長さは4000に制限されます。
すべてのパススルー・レベルにおいて、DDL文のパススルーの実行はTimesTen側ではコミットされません。
RETURN TWOSAFE
を使用してレプリケートされる処理を含むトランザクションでは、PassThrough
に0
より大きい値を設定できません。PassThrough
に0
よりも大きい値が指定されている場合は、エラーが返され、トランザクションをロールバックする必要があります。
PassThrough
を0
、1
、または2
に設定した場合、動的ロード条件が存在するときには次の動作が発生します。
動的ロードは、すべての動的キャッシュ・グループ・タイプのキャッシュ表に対するSELECT
操作で発生可能です。
INSERT
操作、UPDATE
操作またはDELETE
操作に対する動的ロードは、動的非同期ライトスルーまたは動的同期ライトスルー・キャッシュ・グループのキャッシュされた表に対してのみ実行できます。
INSERT文、UPDATE
文、DELETE
文およびSELECT
文の詳細は、『Oracle TimesTen In-Memory Database SQLリファレンス』の「SQL文」
を参照してください。
この属性は、TimesTen CacheでOracle Real Application Clusters (Oracle RAC)を使用するときに、透過的アプリケーション・フェイルオーバー(TAF)および高速アプリケーション通知(FAN)のコールバックのインストールを有効にするかどうかを指定します。
TimesTen Cacheの詳細は、『Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイド』、および『Oracle TimesTen In-Memory Database SQLリファレンス』のCREATE CACHE GROUPに関する説明を参照してください。
TimesTen Client接続属性は、TimesTenクライアント・アプリケーションからTimesTenサーバーに接続する場合にのみ使用されます。この項では、表1-10「TimesTen Client接続属性」に示したTimesTen Clientの接続属性について説明します。
この項に示した属性の他にも、クライアント接続に使用可能で、接続の動作に影響を与えるデータベース属性や一般接続属性があります。これらの属性は次のとおりです。
クライアント属性の値を表示するには、ODBC関数のSQLGetConnectOption
を使用します。この関数の詳細は、『Oracle TimesTen In-Memory Database C開発者ガイド』のSQLSetConnectOptionおよびSQLGetConnectOptionのオプションのサポートに関する説明を参照してください。
TimesTen ClientおよびServerを使用してTimesTenデータベースに接続する場合、TimesTen ClientにはTimesTen Serverを実行しているコンピュータのネットワーク・アドレスとTCPポート番号が必要です。設定を容易にするために、TimesTenではネットワーク・アドレスとポート番号の組合せを含む論理サーバー名を定義できます。
クライアントのDSN定義のTTC_Server
属性に論理サーバー名以外を設定した場合、TimesTen ClientはサーバーがデフォルトのTCP/IPポート番号を使用していると想定します。この場合、サーバーがデフォルト以外のポートを使用していると、ODBC接続文字列にポート番号を指定する必要があります。次に例を示します。
"TTC_SERVER=server_host_name; TTC_SERVER_DSN=Server_DSN;TCP_PORT=server_port"
または
"DSN=Client_DSN;TCP_Port=server_port"
TimesTenではこの属性を使用して、自動フェイルオーバーが発生したときに使用するポート番号を指定します。この属性および関連する属性の値の設定については、TCP_Port
の説明を参照してください。
自動クライアント・フェイルオーバーの詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』を参照してください。
アクティブ/スタンバイ・レプリケーション構成で、自動クライアント・フェイルオーバー・スレッドがフェイルオーバー通知をリスニングするポートのポート範囲を指定します。フェイルオーバー構成では、現在のノードで障害が発生した場合、クライアント・アプリケーションは新しいアクティブ・ノードに自動的に接続できます。
ポート範囲を指定すると、クライアント・システムとサーバー・システムの間のファイアウォールに対応できます。デフォルトでは、TimesTenはオペレーティング・システムで選択されたポートを使用します。
注意: クライアント・フェイルオーバーは、クライアントがアクティブ・スタンバイ・ペアのレプリケーション構成の一部である場合にのみサポートされます。 |
自動クライアント・フェイルオーバーの詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』を参照してください。
TimesTen ClientおよびServerを使用してTimesTenデータベースに接続する場合、TimesTen ClientにはTimesTen Serverを実行しているコンピュータのネットワーク・アドレスとTCPポート番号の指定が必要です。設定を容易にするために、TimesTenではネットワーク・アドレスとポート番号の組合せを含む論理サーバー名を定義できます。この属性に論理サーバー名以外を指定した場合、TimesTen ClientはサーバーがデフォルトのTCP/IPポート番号を使用していると想定します。この場合、サーバーがデフォルト以外のポートを使用していると、ODBC接続文字列にポート番号を指定する必要があります。次に例を示します。
"TTC_SERVER=server_host_name; TTC_SERVER_DSN=Server_DSN;TCP_PORT=server_port"
または
"DSN=Client_DSN;TCP_Port=server_port"
論理サーバー名は一旦定義されると、その名前をクライアントDSNでTTC_Server
属性の値として使用できます。複数のクライアントDSNがTimesTen Serverを実行している同じコンピュータを参照する場合、それぞれのクライアントDSNで同じネットワーク・アドレスおよびポート番号を繰り返し指定するかわりに、TTC_Server
属性の値として同じ論理サーバー名を使用できます。
注意: TimesTenではTTC_Server 属性に論理サーバー名を指定することをお薦めします。ただし、TTC_Server 属性にドメイン名サーバー(DNS)、ホスト名またはIPアドレスを指定することもできます。論理サーバー名を使用せずに、TimesTen Serverがデフォルト以外のポート番号をリスニングする場合は、ODBC接続文字列にそのポート番号を指定する必要があります。次に例を示します。
"TTC_SERVER=server_host_name;TTC_SERVER_DSN=Server_DSN; TCP_PORT=server_port" または "DSN=Client_DSN;TCP_Port=server_port" |
この属性は、自動フェイルオーバーが発生したときに使用する論理サーバー名を指定します。この属性および関連する属性の値設定の詳細は、TTC_Server
の説明を参照してください。
この属性は、TTC_Serverが仮想IPアドレスの場合、TTC_Server
に指定された値と同じ値にすることができます。
クライアントがすでにフェイルオーバーしてTTC_Server2
に接続されている場合、その接続が失敗すると、クライアントはTTC_Server
に接続します。クライアントは、TTC_TIMEOUT
属性が期限切れとなるまで、TTC_Server
とTTC_Server2
に交互に接続を試みます。
注意: クライアント・フェイルオーバーは、クライアントがアクティブ・スタンバイ・ペアのレプリケーション構成の一部である場合にのみサポートされます。 |
自動クライアント・フェイルオーバーの詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』を参照してください。
TTC_Server_DSN
属性は、TimesTen Serverを実行しているコンピュータのサーバーDSNを指定します。
Windowsでは、サーバーDSNはTimesTen Data Managerドライバを使用する、一連のTimesTenシステムDSNです。ODBCデータソース・アドミニストレータを使用して、サーバーDSNを定義します。
UNIXでは、サーバーDSNは/var/TimesTen/
instance
/sys.odbc.ini
ファイルに定義されています。詳細は、ご使用のプラットフォームに関する説明を参照してください。
この属性は、TimesTen Serverを実行しているコンピュータのサーバーDSNを指定します。自動フェイルオーバーが発生したときに使用されるサーバーDSNです。この属性および関連する属性の値設定の詳細は、TTC_Server_DSN
の説明を参照してください。
フェイルオーバーが発生した場合、クライアントがTTC_Server_DSN
に接続できないか、またはDSNへの接続が失われると、クライアントはTTC_Server_DSN2
への接続を試みます。
注意: クライアント・フェイルオーバーは、クライアントがアクティブ・スタンバイ・ペアのレプリケーション構成の一部である場合にのみサポートされます。 |
自動クライアント・フェイルオーバーの詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』を参照してください。
TTC_Timeout
属性は、TimesTen ClientおよびServerの使用によって完了するネットワーク処理に対して、最大時間制限を秒単位で設定します。また、TTC_Timeout
属性では、タイムアウトする前にTimesTen Clientアプリケーションがそれに対応するTimesTen Serverプロセスの結果を待機する最大の秒数も指定します。
クライアント/サーバー接続のクライアント側でのオペレーティング・システムselect()
コールでは、TTC_TIMEOUT
の値が使用されます。SQLExecute()
およびOCIStmtExecute()
関数では、この属性の値は使用されません。
0の値はクライアント/サーバー処理がタイムアウトしないことを示します。この属性の設定はオプションです。この属性を設定しない場合、デフォルトのタイムアウト時間は60秒です。最大のタイムアウト時間は99,999秒です。タイムアウト時には処理が中断され、クライアント・アプリケーションはタイムアウト・エラーを受信し、接続が切断されます。たとえば、クライアント・アプリケーションが長い問合せを実行する場合には、タイムアウト時間を増やすことができます。
アクティブ・スタンバイ・ペアのフェイルオーバー・シナリオの場合、最小値は60秒です。
PL/SQLを使用している場合は、PLSQL_TIMEOUT
の値をTTC_TIMEOUT
マイナス5秒以下に設定してください。.
問合せのタイムアウトは、SQLConnect
またはSQLDriverConnect
ODBCコールのいずれかを使用してデータベースへの接続が確立される前にSQLSetConnectOption
ODBCコールを使用して設定できます。あるいは、データベースへの接続が確立された後にSQLSetConnectOption
またはSQLSetStmtOption
ODBCコールのいずれかをコールすることによって設定できます。
データベースに接続を確立する前に問合せのタイムアウトが設定された場合、その時点ではクライアント・ドライバではネットワークのタイムアウト値が認識されません。このため、次のような場合、接続時に、クライアント・ドライバでは問合せのタイムアウトがネットワークのタイムアウトの値よりもわずかに小さい値に自動的に設定されます。
ネットワークのタイムアウト値が0よりも大きい場合。
問合せのタイムアウト値が0またはネットワークのタイムアウト値以上である場合。
タイムアウト値は、接続が確立された後にttIsql clienttimeout
コマンドをコールすることによって設定できます。データベースへの接続を確立した後で問合せのタイムアウトが設定された場合、ネットワークのタイムアウト値が0よりも大きく、問合せのタイムアウト値がネットワークのタイムアウト値以上であるとき、クライアント・ドライバはエラーを返します。SQLState
はS1000に設定されます。
クライアント/サーバーのプロセス間通信に共有メモリーが使用されている場合、この属性はサポートされません。この属性を設定しても無視されます。
設定
TTC_Timeout
は次のように設定します。
属性の設定場所 | 属性の表示 | 設定 |
---|---|---|
CまたはJavaプログラム、あるいはUNIX ODBC .INIファイル |
TTC_Timeout |
タイムアウト前にTimesTen Clientが接続を待機する秒数を表す、0から99999までの値です。(デフォルト値は60 です。)アクティブ・スタンバイ・ペアのフェイルオーバー・シナリオでの最小値は60です。 |
Windows ODBCデータソース・アドミニストレータ | 「Timeout Interval」フィールド | タイムアウト前にTimesTen Clientが接続を待機する秒数を表す、0から99999までの値です。(デフォルト値は60 です。)アクティブ・スタンバイ・ペアのフェイルオーバー・シナリオでの最小値は60です。 |
サーバー接続属性は、サーバーDSNのみで指定され、初期接続時に読み取られます。『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のTimesTen ServerシステムでのサーバーDSNの定義に関する説明を参照してください。これらの属性を使用して、TimesTenサーバーへの接続数、各DSNに対するサーバー数およびサーバーへのそれぞれの接続のサイズを設定します。これらの属性を使用すると、1つのサーバーに対して複数のクライアント接続を指定できます。デフォルトでは、TimesTenは、1つのサーバーに対する接続を子プロセスごとに1つのみ作成します。
注意: これらの属性はDSNで指定する必要があります。接続文字列で指定しても、属性とその値は無視されます。 |
複数のサーバー接続を指定できるTimesTenメイン・デーモン・オプションもあります。デーモン・オプションとこれらの属性の両方が指定されている場合、属性の値が優先されます。
この項では、表1-11「TimesTen Server接続属性」に示したサーバー接続属性について説明します。
MaxConnsPerServer
属性は、DSNが参照するサーバーへの最大同時接続数を設定します。
サーバーへの多くの接続をサポートするには、TimesTenを実行しているUID
のプロセス当たりのファイル記述子制限に、アクティブな同時子サーバー数を多少超える値を設定する必要があります。これは、予測される同時クライアント接続数をMaxConnsPerServer
で割った値です。
この属性の値は、ttendaemon.options
ファイルの-maxConnsPerServer
オプションの設定より優先されます。詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のTimesTen Serverに対する複数の接続の指定に関する説明を参照してください。
TimesTenデータベースへの最大接続数に対するシステム制限の詳細は、第4章「システム制限」を参照してください。
ServersPerDSN
属性は、ラウンドロビン接続分散を使用する特定のサーバーDSNに対する子サーバー・プロセスの数を指定します。この属性は、TimesTenサーバーがマルチスレッド・モード(MaxConnsPerServer 1
)で動作するように構成されている場合にのみ効果があります。ServersPerDSN
が1に設定された場合、サーバーDSNへの最初のMaxConnsPerServer
クライアント接続は1つの子サーバー・プロセスに割り当てられ、次のMaxConnsPerServer
接続は2つ目の子サーバー・プロセスに割り当てられるといったようになります。ServersPerDSN
がN
(N 1
)に設定された場合、サーバーDSNへの最初のN * MaxConnsPerServer
クライアント接続は、N
個の子サーバー・プロセスにラウンドロビン方式で分散されます。N
* MaxConnsPerServer
を超える追加のクライアント接続が同じサーバーDSNに対して開かれている場合、それらの接続はServersPerDSN=1
の場合のように新しい子サーバー・プロセスに順次割り当てられます。この属性がサーバーDSN定義において設定される場合、そのサーバーDSNのためだけに、-serversPerDSN
デーモン・オプション(ttendaemon.options
ファイルで指定)に指定された任意の値を優先します。-serversPerDSN
およびServersPerDSN
のいずれも設定されない場合は、TimesTenではデフォルト値1
が使用されます。詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のTimesTen Serverに対する複数の接続の指定に関する説明を参照してください。
ServerStackSize
属性の値は、サーバーでの各接続のスタック・サイズを決定します。この属性の値は、MaxConnsPerServer
の値が1よりも大きい場合にのみ意味を持ちます。サーバーごとの接続が1つのみである場合、子サーバーはプロセスのメイン・スタックを使用します。これは、またプラットフォームに依存せず、次の設定で定義されます。
この属性の値は、ttendaemon.options
ファイルの-serverStackSize
オプションの設定より優先されます。詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のTimesTen Serverに対する複数の接続の指定に関する説明を参照してください。
TimesTen Serverを再起動するまで、TimesTen Serverの設定変更は有効になりません。サーバーを再起動するには、ttDaemonAdmin -restartserver
コマンドを使用します。
設定
ServerStackSize
は次のように設定します。
属性の設定場所 | 属性の表示 | 設定 |
---|---|---|
CまたはJavaプログラム、あるいはUNIX odbc.ini ファイル |
ServerStackSize |
有効な値はプラットフォームに依存します。デフォルトは、32-bitプラットフォームの場合は128KB、64-bitプラットフォームの場合は256KBです。
その他の場合、最小値は0です。 通常、 |
Windows ODBCデータソース・アドミニストレータ | 「Server Stack Size」フィールド | 有効な値はプラットフォームに依存します。デフォルトは、32-bitプラットフォームの場合は128KB、64-bitプラットフォームの場合は256KBです。
通常、 |