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標準に従うと、ある属性が接続文字列内に複数回出現する場合、指定されている最初の値が使用され、後続値は使用されません。 |
Windowsでは、Falseはチェック・ボックスが選択されないことを意味し、Trueはチェック・ボックスが選択されることを意味します。
UNIXとLinuxシステムでは、Falseは属性値が0に設定されていることを意味し、Trueは属性値が1に設定されていることを意味します。
次の項では、属性のリストの各表にリストしてあるTimesTenの属性について説明します。次の表に、各属性の詳細を説明します。
初期接続属性の値を現在有効な値以外に変更できるのは、インスタンス管理者のみです。(ただし、AutoCreateおよびForceConnectの変更には権限は不要です。)
この項では、次の表を示します。
| 名前 | 説明 | デフォルト |
|---|---|---|
|
|
データベースへの接続の特定の属性を識別する名前。 |
なし |
|
|
物理データベースを指定します。 |
なし |
|
|
データベースによって使用される文字セットを指定します。この属性はデータベースの作成時に必要です。 |
なし |
|
|
データ・ソース名の使用方法を指定するコメント。 |
なし |
|
|
TimesTen ODBCドライバ・マネージャを指定します。 |
なし |
|
|
コミットの準備レコードおよびコミット・レコードの永続性を判別します |
K-safetyが K-safetyが |
|
|
トランザクション・ログ・ファイルを保存するディレクトリ。 |
なし |
|
|
データベースの作成時に、チェックポイント・ファイルのディスク領域が事前に割り当てられることを指定します。 |
1(true) |
|
|
自動パラレル・レプリケーションを有効にします。 |
|
|
|
自動パラレル・レプリケーションで使用可能な追跡数を指定します。 |
4 |
|
|
データベースがディスクに保存されないことを指定します。 |
|
| 名前 | 説明 | デフォルト |
|---|---|---|
|
|
初期接続時に、データベースが存在しない場合は作成することを指定します。 |
|
|
|
バックアップが失敗するまでに蓄積できるログ・ファイルの数を制御します。 |
|
|
|
TimesTenがバックグラウンド・チェックポイントを実行する頻度を秒単位で制御します。 |
|
|
|
バックグラウンド・チェックポイントの間にログに収集するデータ量をMB単位で制御します。 |
|
|
|
チェックポイント処理でデータをディスクに書き込むときの最大速度を制御します。 |
|
|
|
データベースをメモリーにロードする際にチェックポイント・ファイルの読取りに使用されるスレッドの数を制御します。 |
|
|
|
データベースへのユーザー指定の同時接続数の上限を示します。 |
|
|
|
エポック間の秒数を示します。 |
Durabilityが1の場合、デフォルトは0です。(システムは、定期的なエポックを生成しません) Durabilityが0の場合、デフォルトは1です。 |
|
|
障害が発生したデータベースが、対応するサブスクライバ・データベースから正常にリストアされなかった場合に、接続を許可するかどうかを指定します。 |
|
|
|
|
|
|
|
TimesTenリカバリでログ・レコードに問題が発生した場合、データベースへの初期接続を継続するかどうかを指定します。 |
|
|
|
内部ログ・バッファのサイズ(MB単位)。 |
|
|
|
ログ・バッファ・ストランドの数。 |
|
|
|
トランザクション・ログ・ファイルのサイズ(MB単位)。 |
|
|
|
TimesTenによってトランザクション・ログ・ファイルへのログ・データの書込みおよび同期化に使用される方法を制御します。 |
|
|
|
チェックポイント処理で不要なトランザクション・ログ・ファイルが削除されることを指定します。 |
|
|
|
共有データベースに接続しているアプリケーションが、データベースのロード中に実メモリーをロックするかどうかを指定します。 |
|
|
|
接続時に、既存のデータベースを新しいデータベースで上書きすることを指定します。 |
|
|
|
データベースの永続パーティションのサイズ(MB単位)。 |
|
|
|
リカバリ中に索引を再作成するために使用するスレッドの数。 |
4 |
|
|
データベースの一時パーティションのサイズ(MB単位)。 |
|
| 名前 | 説明 | デフォルト |
|---|---|---|
|
|
チャネル作成リクエストが完了するまで待機する時間制限を指定します。 |
30,000ミリ秒 |
|
|
トランザクション制御ブロックのコミット・バッファの最大サイズを指定します。 |
16KB |
|
|
データソースのシンボリック名が存在するかどうかを指定します。 |
プロセス名。 |
|
|
各コミットがエポックを生成するかどうかを指定します。 |
|
|
|
|
|
|
|
アクティブ・スタンバイ・レプリケーション・スキーム内でのデータ定義言語(DDL)文のレプリケーションを有効にします。 |
|
|
|
診断メッセージを生成するかどうかを指定します。 |
|
|
|
コミット処理がログ・レコードをディスクに書き込むことを指定します。 |
|
|
|
共有メモリーのどの部分をコア・ダンプに含めるかを指定します。 |
0 (なし) |
|
|
分離レベルとして、コミット読取りまたはシリアライズ可能のいずれかを指定します。 |
|
|
|
接続が行レベル・ロック(値=0)またはデータベース・レベル・ロック(値=1)のいずれを使用するかを指定します。 |
|
|
|
アプリケーションの接続中のロック待機時間を設定します。 |
|
|
|
接続レベルでオプティマイザ・ヒントを設定します。 |
なし |
|
|
データベースの永続パーティションに対するメモリーが少ない場合に、TimesTenが警告を返すしきい値。 |
90% |
|
|
接続間でコマンドを共有するかどうかを指定します。 |
|
|
「UIDおよびPWD」を参照してください。 |
指定されているUIDに対応するパスワードを指定します。Oracle Databaseからデータをキャッシュする場合、PWDはTimesTenパスワードを指定します。必要に応じて、接続文字列にOracle PWDを指定できます。 |
なし |
|
暗号化されたユーザー・パスワードの値。 |
なし |
|
|
|
問合せが実行前にタイムアウトした場合に、TimesTenが警告を返すかどうかを指定します。 |
|
|
|
レプリケーション追跡に接続を割り当てます。 |
なし |
|
|
データベースがSQL文を実行する必要がある制限時間(秒単位)を指定します。 |
|
|
|
データベースがSQL文を実行する制限時間(ミリ秒単位)を指定します。 |
|
|
|
データベースの一時パーティションに対するメモリーが少ない場合に、TimesTenが警告を返すしきい値。 |
|
|
「UIDおよびPWD」を参照してください。 |
TimesTenサーバー上で定義されているユーザー名を指定します。Oracle Databaseからデータをキャッシュする場合、このUIDが、TimesTenにキャッシュされているOracle Database上のUIDと一致する必要があります。 |
なし |
|
|
即時に接続できない場合、接続の試行を待機することを指定します。 |
|
| 名前 | 説明 | デフォルト |
|---|---|---|
|
|
接続の文字エンコードを指定します。データベースの文字セットとは異なる場合があります。 |
|
|
|
デフォルトの長さセマンティクス構成。 |
|
|
|
|
|
|
|
言語比較に使用される照合順番。 |
|
| 名前 | 説明 | デフォルト |
|---|---|---|
|
|
共有メモリー・セグメントが、TimesTenダイレクト・ドライバを利用する各プロセスにロードされる仮想アドレス。 |
プラットフォーム固有 |
|
|
PL/SQLで使用される共有メモリー・セグメントのサイズ(MB単位)。 |
128 MB |
|
|
オープン・カーソルの数。 |
|
| 名前 | 説明 | デフォルト |
|---|---|---|
|
|
PL/SQLコンパイラで相互参照情報を生成するかどうかを制御します。 |
|
|
|
PL/SQLユニットの条件付きコンパイルを制御します。 |
|
|
|
この接続でPL/SQLが使用できるプロセス・ヒープ・メモリーの最大量をMB単位で指定します。 |
|
|
|
PL/SQLコンパイラがPL/SQLライブラリ・ユニットのコンパイルに使用する最適化レベル。 |
|
|
|
キャッシュするセッション・カーソルの数。 |
|
|
|
PL/SQLプロシージャが自動的に終了されるまでの実行時間(秒数)。 |
|
| 名前 | 説明 | デフォルト |
|---|---|---|
|
|
Oracle Databaseから動的キャッシュ・グループへのデータの透過的ロードを有効または無効にします。 |
1 (動的キャッシュ・グループのロードが有効) |
|
|
透過的ロードに失敗した場合にエラー・メッセージを返すかどうかを指定します。 |
0(エラーを返さない) |
|
|
TimesTenデータベースにデータをロードするOracle DatabaseインスタンスのOracleサービス名。この属性は、キャッシュ・エージェントによってのみ使用されます。 |
なし |
|
|
TimesTenにキャッシュされるOracle Databaseのパスワードを指定します。 |
なし |
|
|
TimesTenでローカルで実行されるSQL文、およびOracle Databaseに渡されて実行されるSQL文を指定します。 |
0 |
|
|
アプリケーション・フェイルオーバー(TAF)および高速アプリケーション通知(FAN)のコールバックのインストールを有効または無効のいずれにするかを指定します。 |
1(コールバックをインストールする) |
|
|
TimesTenデータベースにデータをロードするスタンバイOracle DatabaseインスタンスのOracleサービス名。この属性は、Oracle Active Data Guard構成のキャッシュ・エージェントでのみ使用されます。 |
なし |
| 名前 | 説明 | デフォルト |
|---|---|---|
|
|
クライアント設定に応じて、クライアント・サーバー接続用にTLSで使用できる暗号スイートがリストされます |
なし |
|
|
クライアント・サーバー・プロセスを特定します。 |
0 |
|
|
クライアント・サーバー接続で暗号化を必須にするかどうかを指定します |
|
|
|
SSLクライアント認証が必要かどうかを指定します |
0 |
|
|
TimesTenサーバーがリスニングするポート番号。 |
なし |
|
|
TimesTen Classicの場合、自動フェイルオーバーが発生したときにTimesTenサーバーがリスニングするポート番号。 |
なし |
|
|
クライアントが接続コールまたは切断コールを待機する秒数。 |
20秒 |
|
|
フェイルオーバー・ポート番号の範囲。 |
なし |
|
|
他のすべてのフェイルオーバー・プロシージャが完了した後で、TimesTenが自動再接続を実行するかどうかを指定します。 |
1 |
|
|
クライアントが指定されたリストから代替サーバーをランダムに選択するか、 |
0 |
|
|
TimesTen Scaleoutの場合、クライアント/サーバー接続ではクライアントがどのようにリダイレクトされるかを定義します。 |
1 (任意の使用可能なサーバーへの接続) |
|
|
TimesTen Scaleoutの場合、クライアントがリダイレクトされる回数を制限します。 |
1 |
|
|
クライアント・フェイルオーバーが発生した場合に、アプリケーションがロールバックする必要があるかどうかを示します。 |
1 (有効) |
|
|
TimesTen Serverが実行しているコンピュータの名前または論理TimesTen Server名。 |
なし |
|
|
自動フェイルオーバーが発生したときにTimesTen Serverを実行するシステムの名前または論理TimesTenサーバー名。 |
なし |
|
|
TimesTenデータベースに対応するサーバーDSN。 |
なし |
|
|
TimesTen Classicの場合、自動フェイルオーバーが発生したときのTimesTenデータベースに対応するサーバーDSN。 |
なし |
|
|
後続のプローブ間の時間間隔(ミリ秒)。 |
1000 |
|
|
確認応答のないプローブの送信回数がこの数を超えると、接続が失敗したとみなされ、クライアントに通知されます。 |
2 |
|
|
最後のデータ・パケットが送信されてから最初のプローブまでの期間(ミリ秒)。 |
1000 |
|
|
TimesTen Client/Serverの操作の完了に対するタイムアウト時間(秒単位)。 |
60 |
|
|
ウォレットが格納されているディレクトリへの完全修飾パス。 |
なし |
| 名前 | 説明 | デフォルト |
|---|---|---|
|
|
クライアント設定に応じて、クライアント・サーバー接続用にTLSで使用できる暗号スイートがリストされます |
なし |
|
|
クライアント・サーバー接続で暗号化を必須にするかどうかを指定します |
|
|
|
SSLクライアント認証が必要かどうかを指定します |
0 |
|
|
子TimesTenサーバー・プロセスが処理できる最大同時接続数。 |
1 |
|
|
DSNに指定するTimesTenサーバー・プロセス数。 |
|
|
|
各接続のスレッド・スタックのサイズ(KB単位)。 |
|
|
|
クライアント/サーバー・セッションが再ネゴシエーションされるまでの時間(分)。 |
0 |
|
|
クライアント/サーバー・セッションが再ネゴシエーションされるまでのデータ転送サイズ(MB)。 |
0 |
|
|
ウォレットが格納されているディレクトリへの完全修飾パス。 |
なし |
データ・ストア属性は、データベースの作成時に設定されます。この項では、表2-1「データ・ストア属性」にリストしたデータ・ストア属性について説明します。
これらの属性には、データベースの作成時にインスタンス管理者のみが値を割り当てることができます。
データ・ソース名(DSN)は接続への属性を一意に識別します。これは次の2つの目的に役立ちます。
ODBCドライバ・マネージャの一意の識別子(存在する場合)として、データ・ストア名を特定のODBCドライバに関連付けます。
別名に一意の属性が関連付けられている1つの物理データベースに対する(場合によっては多数の)別名の1つとして使用します。
データベース属性は、データソース名(データベースへの接続)またはデータ・ストア・パス名(データベース)のいずれかに適用できます。
Windowsでは、データソース名およびデータソースに関連付けられたすべての設定情報(データベース・パス名など)は、システムのレジストリに格納されます。ODBCドライバ・マネージャとTimesTenはこの情報を使用します。
データベース・パス名は物理データベースを一意に識別します。これは、データベースの完全修飾ディレクトリ・パス名およびファイル名接頭辞(/disk1/databases/database1など)です。この名前はファイル名ではありません。実際のデータベース・ファイル名には、.ds0や.log0などの接尾辞があります(/disk1/databases/database1.ds0や/disk1/databases/database1.log0など)。
|
ノート: データベースの作成時にデータベースのパスと名前を指定する必要があります。データベースを作成した後は変更できません。 |
データベースの文字セットにより、データを格納する際の文字セットが決定されます。
|
ノート: データベースの作成時のみにデータベースの文字セットを指定する必要があります。データベースを作成した後は変更できません。データベースの作成時にこの属性の値を指定しないと、TimesTenはエラー・メッセージ12701を返します。 |
通常、データ要件に基づいて、データベースの文字セットを選択する必要があります。たとえば、データをUnicodeで使用するか、UNIXおよびLinuxシステム(EUC)またはWindows (SJIS)上で日本語として使用するかを選択します。
ご使用の端末の設定またはデータソースと一致する接続文字セットを選択する必要があります。「ConnectionCharacterSet」を参照してください。
データベースの文字セットと接続文字セットが異なる場合、TimesTenは、接続文字セットに従って内部的にデータを変換します。接続およびデータベースの文字セットが同じ場合、TimesTenはデータ・セットを変換したり解釈する必要はありません。接続およびデータベースの文字セットが一致していると、変換の必要がないため、最高のパフォーマンスを得られます。
この属性を使用するには、サポートされている文字セットを指定してください。サポートされる文字セット名のリストは、次の「サポートされている文字セット」を参照してください。
データベースの文字セットを選択する場合、いくつかの考慮事項があります。これらの考慮事項については、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のデータベース文字セットの選択に関する説明を参照してください。
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性はTimesTen Classicでサポートされています。
この属性はTimesTen Scaleoutでサポートされています。
設定
DatabaseCharacterSet名は次のように設定します。
| 属性の設定場所 | 属性の表示 | 設定 |
|---|---|---|
CまたはJavaプログラム、あるいはUNIXおよびLinuxシステムのTimesTen Classicのodbc.iniファイル、またはTimesTen Scaleoutのデータベース定義(.dbdef)ファイル |
DatabaseCharacterSet |
優先文字セットを指定します。 |
| Windows 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の繁体字中国語。 |
| 名前 | 説明 |
|---|---|
BLT8CP921 |
ラトビア語標準LVS8-92(1) Windows/UNIX/Linux 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の西ヨーロッパ言語とトルコ語。 |
データソース名(DSN)とその属性を識別しやすくするための属性です(オプション)。
Driver属性はTimesTen ODBCドライバの名前を指定します。
たとえば、Windowsシステムでは、この値はTimesTen Client 18.1になります。
UNIXおよびLinuxシステムでは、Driver属性の値は、TimesTen ODBCドライバ共有ライブラリ・ファイルtimesten_home/install/lib/libtten.soのパス名です。
詳細は、Oracle TimesTen In-Memory Databaseオペレーション・ガイドのLinuxおよびUNIXでのTimesTen Classic用のDSNの作成に関する項を参照してください。
一般的な使用例は、次のような標準的なODBCのリファレンス・ドキュメントを参照してください
https://docs.microsoft.com/en-us/sql/odbc/reference/syntax/odbc-api-reference
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性はTimesTen Classicでサポートされています。
この属性はTimesTen Scaleoutでサポートされています。
設定
Driverを次のように設定します。
| 属性の設定場所 | 属性の表示 | 設定 |
|---|---|---|
CまたはJavaプログラム、あるいはUNIXおよびLinuxシステムのTimesTen Classicのodbc.iniファイル、またはTimesTen Scaleoutのデータベース定義(.dbdef)ファイル |
Driver |
ドライバ・マネージャを使用する場合、TimesTen ODBCドライバの共有ライブラリ・ファイルのパス名を指定します。 |
| Windows ODBCデータソース・アドミニストレータ | 「Create New Data Source」ダイアログから、ドライバを選択します。 | TimesTenおよびそのリリースのクライアント・ドライバを指定します。 |
TimesTen Scaleoutの場合、この属性の設定によってコミットの準備レコードおよびコミット・レコードの永続性が決まります。
K-safetyが2に設定されている場合、デフォルト値は0です。
K-safetyが1に設定されている場合、デフォルト値は1です。
K-safetyが1に設定されている場合、Durability=0はサポートされません。
K-safetyの設定の詳細は、『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』のグリッドの作成に関する説明を参照してください。
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性は、TimesTen Classicではサポートされていません。
この属性はTimesTen Scaleoutでサポートされています。
LogDir属性では、データベース・ログが存在する完全修飾ディレクトリ・パス名を指定します。この属性を指定すると、データベースのチェックポイント・ファイルとは別のI/Oパスにトランザクション・ログ・ファイルを配置できます。トランザクション・ログ・ファイルおよびチェックポイント・ファイルを別々のディスクに保存すると、システムのパフォーマンスが向上する場合があります。
Preallocate属性では、データベースの作成時にTimesTenがデータベースのチェックポイント・ファイル用にディスク領域を事前割当てするかどうかを決定します。この属性を設定すると、データベースをファイル・システムに保存するときに、データベース用に十分な領域が保証されます。
TimesTenでは、データベース作成、ttRepAdmin -duplicateおよびttRestoreなど、新しいチェックポイント・ファイルを作成するすべての処理に対してPreallocate属性の設定が考慮されます。
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性はTimesTen Classicでサポートされています。
この属性はTimesTen Scaleoutでサポートされています。
設定
Preallocateは次のように設定します。
| 属性の設定場所 | 属性の表示 | 設定 |
|---|---|---|
CまたはJavaプログラム、あるいはUNIXおよびLinuxシステムのTimesTen Classicのodbc.iniファイル、またはTimesTen Scaleoutのデータベース定義(.dbdef)ファイル |
Preallocate |
0 - データベースの作成時にチェックポイント・ファイルにディスク領域を事前に割り当てません。
|
| Windows ODBCデータソース・アドミニストレータ | 該当なし |
|
ノート: 大きなデータベースのディスク領域の再割当てには長時間かかる場合があります。 |
ReplicationParallelism属性とともに使用すると、パラレル・レプリケーションが有効になります。パラレル・レプリケーションを使用すると、マスター上の複数のトランスミッタがサブスクライバ上の複数のレシーバに送信します。
自動パラレル・レプリケーション: トランザクションの依存性が自動的に強制され、すべての変更がコミット順に適用される、複数のスレッドにわたるパラレル・レプリケーション。これはデフォルトです。
コミット依存性が無効化された自動パラレル・レプリケーション: トランザクションの依存性が自動的に強制されるが、サブスクライバ・データベース上とアクティブ・データベース上でトランザクションのコミット順序が同じであることが強制されない、複数のスレッドにわたるパラレル・レプリケーション。特定の追跡にトランザクションを適用することで、レプリケーションのスループットを向上させることもできます。
パラレル・レプリケーションの構成の詳細は、『Oracle TimesTen In-Memory Database開発者および管理者ガイド』のパラレル・レプリケーションの構成に関する項を参照してください。
この属性はAWTキャッシュ・グループのパラレル伝播も設定します。デフォルトでは、この属性はOracle Databaseへの更新のパラレル伝播を有効化します。パラレルAWTキャッシュについてさらに学習するには、『Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイド』のOracle Database表へのパラレル伝播の構成に関する説明を参照してください。
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性はTimesTen Classicでサポートされています。
この属性は、TimesTen Scaleoutではサポートされていません。
設定
ReplicationApplyOrderingは次のように設定します。
| 属性の設定場所 | 属性の表示 | 設定 |
|---|---|---|
CまたはJavaプログラム、あるいはUNIXおよびLinuxシステムのTimesTen Classicのodbc.iniファイル |
ReplicationApplyOrdering |
0: 自動パラレル・レプリケーションを指定します。自動パラレル・レプリケーションは、クラシック・レプリケーション・スキームとアクティブ・スタンバイ・ペア・レプリケーション・スキームの両方で使用できます。(デフォルト)
|
| Windows ODBCデータソース・アドミニストレータ | 該当なし |
Restrictions
コミット依存性が無効化された自動パラレル・レプリケーションを使用する場合の制限は、次のとおりです。
レプリケーション・スキームは、非同期レプリケーションを使用するアクティブ・スタンバイ・ペアである必要があります。クラシック・レプリケーション・スキームはサポートされていません。
レプリケーション・スキームにはキャッシュ・グループを含めることはできません。
これがサポートされるのは、アクティブとスタンバイの両方のマスターがTimesTenリリース11.2.2.8以降の場合のみです。アクティブとスタンバイの両方のマスターでは、コミット依存性が無効化されている必要があります。
XLAはサポートされていません。
レプリケーション・スキーム内のすべてのデータ・ストアが同じ設定を使用している必要があります。
この属性は、自動パラレル・レプリケーションで使用する追跡数またはトランスミッタ/レシーバ・ペアの数を指定します。
ReplicationParallelismを2から32の数値に設定します。この数値は、LogBufParallelismの半分の値を超えることはできません。この数値は、ソース・データベースでのTRANSMITTERスレッド数およびターゲット・データベースでのRECEIVERスレッド数を示します。ただし、シングル・スレッド・レプリケーションを使用している場合、ReplicationParallelismを1 (デフォルト)に設定します。
自動パラレル・レプリケーションについてさらに学習するには、『Oracle TimesTen In-Memory Databaseレプリケーション・ガイド』のパラレル・レプリケーションの構成に関する説明を参照してください。
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性はTimesTen Classicでサポートされています。
この属性は、TimesTen Scaleoutではサポートされていません。
設定
ReplicationParallelismは次のように設定します。
| 属性の設定場所 | 属性の表示 | 設定 |
|---|---|---|
CまたはJavaプログラム、あるいはUNIXおよびLinuxシステムのTimesTen Classicのodbc.iniファイル |
ReplicationParallelism |
n: 1から32までの値で、パラレルでレプリケートする追跡の数を示します。デフォルトは1です。 |
| Windows ODBCデータソース・アドミニストレータ | 該当なし |
Restrictions
パラレル・レプリケーションを指定する場合の制限および注意事項は、次のとおりです。
パラレル・レプリケーションが有効な場合、ttLogHolds組込みプロシージャのDescription列には、サブスクライバ・ノードごとに追跡が1行に表示されます。
この属性の値は、LogBufParallelism属性の値の半分以下であることを推奨します。ログ・バッファのスレッドより多くのレプリケーション追跡を指定した場合、一部のレプリケーション追跡は空のままになります。
一時データベースを作成するには、この属性を設定します。一時データベースはファイル・システムに保存されません。ただし、一時データ・ストアは共有される場合があるため、データ・ストア・パス名が必要です。最後の接続の切断時に、一時データベースは削除されます。Temporaryデータ・ストア属性を既存の永続データベースに割り当てることはできません。
|
ノート: 一時データベースはバックアップまたはレプリケートできません。 |
インスタンス管理者が作成したデータベースがメモリーにロードされたとき、TimesTenによって初期接続属性が設定され、この設定は、初期接続および後続のすべての接続に対して、このデータベースへの最後の接続がクローズされるまで保持されます。
初期接続属性を変更できるのは、TimesTenデータベースがアンロードされるときのみです。その後、インスタンス管理者は初期接続属性の新しい値に再接続されます。
この項では、表2-2「初期接続属性」に示した初期接続属性について説明します。
初期接続属性の設定と異なる属性を使用してデータベースに接続しようとした場合、新しい接続が拒否されるか、属性値が無視されることがあります。ただし、既存の接続であるサイズのLogFileSizeを指定した後に、新しい接続で別のサイズのLogFileSizeを指定すると、TimesTenは新しい値を無視して警告を返します。
|
ノート: 初期接続属性の値を現在有効な値以外に変更できるのは、インスタンス管理者のみです。初期接続属性の値を変更するには、最初にデータベースを停止してからADMIN権限で接続する必要があります。(ただし、AutoCreateおよびForceConnectの変更には権限は不要です。) |
AutoCreate属性が設定されているデータベースに接続する場合、そのデータベースがまだ存在していなくても、有効な既存のパスを指定しておくと、データベースが自動的に作成されます。AutoCreateを設定すると、TimesTenではデータベースへのパスではなく、データベースが作成されます。AutoCreate属性が設定されていない場合に、存在しないデータベースに接続しようとすると、接続は失敗します。
「Overwrite」も参照してください。
バックアップを開始した後、TimesTenがチェックポイント処理の保留を解除する前に、LogDir属性の値によって定義されたディレクトリに蓄積されるトランザクション・ログ・ファイルの数を制御します。バックアップが完了する前にチェックポイントが開始された場合、バックアップは無効になります。
この属性が設定されていないか、0に設定されている場合、TimesTenでは、バックアップの進行中にCkptFrequency属性およびCkptLogVolume属性(バックグラウンド・チェックポイントの制御)は一時的に無視されます。
この属性は、バックアップを安全に完了するのに十分な値に設定してください。たとえば、バックアップが通常はn秒で完了し、データベースで1秒当たりm個のトランザクション・ログ・ファイルが作成される場合、BackupFailthresholdをn*mより大きい値に設定します。
データベースによって生成される特定の時間単位ごとのログ・ファイル数は、書込みワークロードに正比例し、LogFileSize属性に設定された値に反比例します。
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性はTimesTen Classicでサポートされています。
この属性はTimesTen Scaleoutでサポートされています。
設定
BackupFailThresholdを次のように設定します。
| 属性の設定場所 | 属性の表示 | 設定 |
|---|---|---|
CまたはJavaプログラム、あるいはUNIXおよびLinuxシステムのTimesTen Classicのodbc.iniファイル、またはTimesTen Scaleoutのデータベース定義(.dbdef)ファイル |
BackupFailThreshold |
バックアップが失敗するまでに蓄積できるトランザクション・ログ・ファイルの数を示す、ゼロ以外の整数値を入力します。
デフォルトは |
| Windows ODBCデータソース・アドミニストレータ | 該当なし |
TimesTenがバックグラウンド・チェックポイントを実行する頻度を秒単位で制御します。チェックポイントの条件に使用されるカウンタは、各チェックポイントの開始時にリセットされます。
CkptFrequencyとCkptLogVolumeの両方の属性が0より大きい値に指定されている場合、チェックポイントは2つの条件のいずれかがTrueになったときに実行されます。ttCkptConfig組込みプロシージャによって設定される値は、これらの属性によって設定される値を置換します。
バックグラウンド・チェックポイントの進行中にアプリケーションでチェックポイント処理の実行を試みる場合、TimesTenは、バックグラウンド・チェックポイントが終了するまで待機してから、アプリケーションのチェックポイントを実行します。
TimesTen Scaleoutを使用していて(Durability = 0)、Durability=0で各間隔に少なくとも1つ以上のエポックが発生するようにする場合は、EpochIntervalをCkptFrequencyの値より小さい値に設定します。
この属性の値は「スティッキー」で、値が明示的に変更されないかぎり、データベースのロードからアンロードまで維持されます。デフォルト値はデータベースの作成中にのみ使用されます。後続の初期接続では、データベースに保存された既存の値がデフォルトで使用されます。
この属性の値が0より大きい場合、チェックポイントが失敗すると、TimesTenは30秒に1回チェックポイント処理を試行します。システム領域の不足のためにチェックポイントの失敗が発生した場合、領域が使用可能になり次第、手動でチェックポイント処理を実行することをお薦めします。チェックポイントが成功した後は、バックグラウンド・チェックポイント処理は設定したスケジュールに戻ります。
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性はTimesTen Classicでサポートされています。
この属性はTimesTen Scaleoutでサポートされています。
設定
CkptFrequencyは次のように設定します。
| 属性の設定場所 | 属性の表示 | 設定 |
|---|---|---|
CまたはJavaプログラム、あるいはUNIXおよびLinuxシステムのTimesTen Classicのodbc.iniファイル、またはTimesTen Scaleoutのデータベース定義(.dbdef)ファイル |
CkptFrequency |
TimesTenがバックグラウンド・チェックポイントを実行する頻度を秒単位で入力します。デフォルトは0です。
この属性に値を指定しないと、TimesTenはバックグラウンド・チェックポイントを実行しません。既存のデータベースに対しては、TimesTenは保存された値を使用します。 |
| Windows ODBCデータソース・アドミニストレータ | 該当なし |
バックグラウンド・チェックポイントの間にログに収集するデータ量をMB単位で制御します。チェックポイントの条件に使用されるカウンタは、各チェックポイントの開始時にリセットされます。
CkptFrequencyとCkptLogVolumeの両方の属性が0より大きい値に指定されている場合、チェックポイントは2つの条件のいずれかがTrueになったときに実行されます。ttCkptConfig組込みプロシージャによって設定される値は、これらの属性によって設定される値を置換します。
バックグラウンド・チェックポイントの進行中にアプリケーションでチェックポイント処理の実行を試みる場合、TimesTenは、バックグラウンド・チェックポイントが終了するまで待機してから、アプリケーションのチェックポイントを実行します。
この属性の値は「スティッキー」で、値が明示的に変更されないかぎり、データベースのロードからアンロードまで維持されます。デフォルト値はデータベースの作成中にのみ使用されます。後続の初期接続では、データベースに保存された既存の値がデフォルトで使用されます。
この属性の値が0より大きく、かつCkptFrequency=0である場合、チェックポイントが失敗すると、TimesTenは30秒ごとにチェックポイント処理を試行します。システム領域の不足のためにチェックポイントの失敗が発生した場合、領域が使用可能になり次第、手動でチェックポイント処理を実行することをお薦めします。チェックポイントが成功した後は、バックグラウンド・チェックポイント処理は設定したスケジュールに戻ります。
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性はTimesTen Classicでサポートされています。
この属性はTimesTen Scaleoutでサポートされています。
設定
CkptLogVolumeは次のように設定します。
| 属性の設定場所 | 属性の表示 | 設定 |
|---|---|---|
CまたはJavaプログラム、あるいはUNIXおよびLinuxシステムのTimesTen Classicのodbc.iniファイル、またはTimesTen Scaleoutのデータベース定義(.dbdef)ファイル |
CkptLogVolume |
バックグラウンド・チェックポイント間でトランザクション・ログ・ファイルに蓄積されるデータ量をMB単位で指定します。デフォルトは、LogFileSize属性に指定された値です。
既存のデータベースに対しては、TimesTenは保存された値を使用します。 属性を指定しても値を指定しない場合には、TimesTenはLogFileSize属性に指定された値を使用します。 |
| Windows ODBCデータソース・アドミニストレータ | 該当なし |
チェックポイント処理でデータをディスクに書き込むときの最大速度を制御します。この属性は、ディスクへのチェックポイントの書込みが、他のアプリケーションに支障をきたすような場合に使用すると便利です。
この接続属性で指定された速度は、すべてのバックグラウンド・チェックポイントと、ttCkptおよびttCkptBlockingの組込みプロシージャで開始されたチェックポイントに使用されます。フォアグラウンド・チェックポイント(初期の接続時と最後の接続解除時のチェックポイント)では使用されません。この速度は、MB/秒単位で指定します。
値が0 (ゼロ)の場合、速度は制限されません。これはデフォルトです。この値は、組込みプロシージャttCkptConfigで指定することもできます。その場合は、組込みプロシージャttCkptConfigで設定した値で、この属性で設定されている値が置き換えられます。
この属性の値は「スティッキー」で、値が明示的に変更されないかぎり、データベースのロードからアンロードまで維持されます。デフォルト値はデータベースの作成中にのみ使用されます。後続の初期接続では、データベースに保存された既存の値がデフォルトで使用されます。未指定のままにした(またはWindows ODBCデータソース・アドミニストレータが空の)場合、TimesTenでは保存されている設定が使用されます。この属性を無効にするには、0の値を明示的に指定する必要があります。このリリースに移行された既存のデータベースでは、この値は0に初期化されています。現在の値またはデフォルトの値を使用するには、この属性値を未指定のままにしておく必要があります。
CkptRateを使用する場合の利点および問題の詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のチェックポイント処理速度の設定に関する説明を参照してください。
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性はTimesTen Classicでサポートされています。
この属性はTimesTen Scaleoutでサポートされています。
設定
CkptRateは次のように設定します。
| 属性の設定場所 | 属性の表示 | 設定 |
|---|---|---|
CまたはJavaプログラム、あるいはUNIXおよびLinuxシステムのTimesTen Classicのodbc.iniファイル、またはTimesTen Scaleoutのデータベース定義(.dbdef)ファイル |
CkptRate |
チェックポイントをディスクに書き込む速度の最大値をMB/秒単位で指定します。
値 この属性を指定しない場合、TimesTenはデータベースの作成にデフォルト値( 属性を指定しても値を指定しない場合には、値
|
| Windows ODBCデータソース・アドミニストレータ | 該当なし |
最初の接続またはリカバリの操作などで、データベースをメモリーにロードする際にチェックポイント・ファイルの読取りに使用されるスレッドの数を決定します。
CkptReadThreads属性が1に設定されると、TimesTenはチェックポイント・ファイルを順次読み取ります。CkptReadThreads属性が1より大きい値に設定されると、TimesTenは指定されたスレッド数を使用して、チェックポイント・ファイルを同時に(パラレルに)読み取ります。CkptReadThreads属性が0に設定されているか指定されていない場合、以前に指定された値が使用されます。
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性はTimesTen Classicでサポートされています。
この属性はTimesTen Scaleoutでサポートされています。
データベースへのユーザー指定の同時接続数の上限を示します。TimesTenは、予測される接続ごとに1つのセマフォを割り当てます。接続数がこの属性の値を超えた場合、TimesTenはエラーを返します。
データベースへの現在の接続数を確認するには、ttStatusユーティリティの出力を表示します。
ガイドラインとしては、この値は予測されるアプリケーションの最大接続数に10%を加えた値に設定します。
接続数がこの属性の値を超えたことを示すエラーが表示された場合は、このエラーが表示されなくなるまで値を増やしてください。
PL/SQLを使用していなくても、PL/SQLセグメントから割り当てられた固定オーバーヘッドおよび接続ごとのオーバーヘッドの両方が存在します。詳細は、「PLSQL_MEMORY_SIZE」を参照してください。
|
ノート: すべてのアクティブなデータベースを処理するには、カーネルに十分なセマフォが設定されている必要があります。システムのセマフォの設定の詳細は、Oracle TimesTen In-Memory Databaseインストレーション、移行およびアップグレード・ガイドのオペレーティング・システムの前提条件、およびOracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイドのオペレーティング・システムの前提条件を参照してください。 |
TimesTen Scaleoutでは、この属性を使用して、エポック間の秒数を設定します。
Durabilityが1の場合、この属性のデフォルトは0です。(システムは、定期的なエポックを生成しません)
Durabilityが0の場合、この属性のデフォルトは1です。Durability=0のとき、各間隔に1つ以上のエポックが発生するようにするには、この属性をCkptFrequencyの値未満の値に設定する必要があります。
この属性を0に設定した場合、システムは定期的なエポックを生成しません。アプリケーションでエポックをカスタム間隔で生成するには、アプリケーションでエポックを作成するたびにttEpochCreate組込みプロシージャをコールします。要素が停止している場合、エポック間隔はスキップされることがあります。
各レプリカ・セットで1つの要素が稼働しているかぎり、エポック間でのスキップがK*EpochInterval秒を超えることはありません。
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性は、TimesTen Classicではサポートされていません。
この属性はTimesTen Scaleoutでサポートされています。
RETURN RECEIPTレプリケーションがNONDURABLE TRANSMITオプションで使用されている場合、障害が発生したマスター・データベースは、ttRepAdminユーティリティの-duplicateオプションを使用したサブスクライバ・データベースから状態をリストアすることによってのみリカバリできます。つまり、サブスクライバに転送されたが、ローカルに永続的にはコミットされない一部のトランザクションが失われる可能性があるため、障害が発生したデータベースは起動できず、レプリケーションによって最新状態に戻すことができません。ForceConnect接続は、この制限を上書きします。
ttConfiguration組込みプロシージャは、ForceConnect属性の値を返しません。
ttAdmin -disconnectを使用してデータベースから強制切断できます。強制切断を参照してください。
ttConfiguration組込みプロシージャは、ForceDisconnectEnabled属性の値を返しません。
|
ノート:
|
TimesTenリカバリでログ・レコードに問題が発生した場合、データベースへの初期接続を継続するかどうかを指定します。
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性はTimesTen Classicでサポートされています。
この属性はTimesTen Scaleoutでサポートされています。
設定
LogAutoTruncateは次のように設定します。
| 属性の設定場所 | 属性の表示 | 設定 |
|---|---|---|
CまたはJavaプログラム、あるいはUNIXおよびLinuxシステムのTimesTen Classicのodbc.iniファイル、またはTimesTen Scaleoutのデータベース定義(.dbdef)ファイル |
LogAutoTruncate |
0: ログ・レコードに問題が発生した場合、リカバリを終了し、接続しているアプリケーションにエラーを返します。チェックポイントおよびトランザクション・ログ・ファイルは未変更のままになります。
|
| Windows ODBCデータソース・アドミニストレータ | 該当なし |
TimesTen Classicの場合、LogBufMB属性では、データベースに対する内部トランザクション・ログ・バッファのサイズをMB単位で指定します。
TimesTen Scaleoutの場合、LogBufMB属性では、要素に対する内部トランザクション・ログ・バッファのサイズをMB単位で指定します。
LogBufMBは256MBから4GBまでの値に設定することをお薦めします。メモリー領域が問題の場合は、256MBから開始します。それ以外の場合は、1GBから開始します。
LogBufMBの値を変更する場合は、LogBufMB/LogBufParallelism >= 8という制約を満たすためにLogBufParallelismの値も変更する必要があります。
LogBufMBの値を増やす場合、LogFileSizeの値がLogBufMBの値以上(LogFileSize >= LogBufMB)であることを確認してください。
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性はTimesTen Classicでサポートされています。
この属性はTimesTen Scaleoutでサポートされています。
設定
LogBufMBは次のように設定します。
| 属性の設定場所 | 属性の表示 | 設定 |
|---|---|---|
CまたはJavaプログラム、あるいはUNIXおよびLinuxシステムのTimesTen Classicのodbc.iniファイル、またはTimesTen Scaleoutのデータベース定義(.dbdef)ファイル |
LogBufMB |
n: ログ・バッファのサイズ(MB単位)。
設定されず、データベースまたは要素が存在している場合には、TimesTenはデータベースに保存された値を使用します。 設定されず、データベースまたは要素が作成される場合には、TimesTenはデフォルト値の 最大値は65,536 MB (64GB)です。 |
| Windows ODBCデータソース・アドミニストレータ | 該当なし |
LogBufParallelism属性では、ログがディスクに書き込まれる前にTimesTenがログ・ファイルを書き込むトランザクション・ログ・バッファのストランド数を指定することで、ログ・パフォーマンスを向上させることができます。ストランドはトランザクション・ログ・バッファの使用可能メモリーをいくつかの異なる領域に分割し、それらの領域には異なる接続が同時にアクセスできます。各接続は、これらのストランドを使用して、それぞれに独自のトランザクション・ログ・バッファがあるかのように、データに依存しないDML文をパラレルで実行できます。
各バッファには専用の挿入ラッチがあります。レコードはいずれかのストランドに挿入されます。ログ・フラッシャによって、すべてのストランドからレコードが収集され、ログ・ファイルに書き込まれます。
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)。
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性はTimesTen Classicでサポートされています。
この属性はTimesTen Scaleoutでサポートされています。
設定
LogFileSizeは次のように設定します。
| 属性の設定場所 | 属性の表示 | 設定 |
|---|---|---|
CまたはJavaプログラム、あるいはUNIXおよびLinuxシステムのTimesTen Classicのodbc.iniファイル、またはTimesTen Scaleoutのデータベース定義(.dbdef)ファイル |
LogFileSize |
n: トランザクション・ログ・ファイルのサイズ(MB単位)。デフォルトは、データベースが作成されるときはLogBufMBの値で、後続の接続に対しては0 (現在の実際のサイズ)です。最小サイズは8MBです。
最大値は65,536 MB (64GB)です。 |
| Windows ODBCデータソース・アドミニストレータ | 該当なし |
TimesTenによってトランザクション・ログ・ファイルへのログ・データの書込みおよび同期化に使用される方法を制御します。システムの全体的なスループットは、特に、アプリケーションが大部分のトランザクションを永続的にコミットすることを選択した場合、この属性の値によって大きく影響されます。
一般的に、トランザクションの大部分が永続的にコミットする場合は値1を使用し、それ以外の場合は値0を使用します。
ただし、最良の結果を得るには、アプリケーションとプラットフォームの標準的なワークロードを使用して、両方の値を試してみます。アプリケーションのパフォーマンスはこの属性によって影響を受ける場合がありますが、トランザクションの永続性は影響を受けません。この属性の値を変更しても、トランザクションの永続性には影響を与えません。
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性はTimesTen Classicでサポートされています。
この属性はTimesTen Scaleoutでサポートされています。
設定
LogFlushMethodは次のように設定します。
| 属性の設定場所 | 属性の表示 | 設定 |
|---|---|---|
CまたはJavaプログラム、あるいはUNIXおよびLinuxシステムのTimesTen Classicのodbc.iniファイル、またはTimesTen Scaleoutのデータベース定義(.dbdef)ファイル |
LogFlushMethod |
0(デフォルト): バッファされた書込みを使用してトランザクション・ログ・ファイルにデータを書き込み、必要に応じて明示的な同期化処理を使用してディスクへのログ・データを、永続的コミットなどと同期化します。
|
| Windows ODBCデータソース・アドミニストレータ | 該当なし |
LogPurge属性を設定すると、TimesTenでは、トランザクション・ログ・ファイルが2つのチェックポイント・ファイルに書き込まれ、その内容を必要とするトランザクションがなくなった場合、そのトランザクション・ログ・ファイルが自動的に削除されます。チェックポイントが最初にコールされると、TimesTenによりトランザクション・ログ・ファイルの内容はチェックポイント・ファイルの1つに書き込まれます。チェックポイントが2度目にコールされると、TimesTenはトランザクション・ログ・ファイルの内容をもう1つのチェックポイント・ファイルに書き込みます。
次の条件がすべて満たされた場合、TimesTenはトランザクション・ログ・ファイルを消去します。
トランザクション・ログ・ファイルの内容が2つのチェックポイント・ファイルに書き込まれている。
増分バックアップによってトランザクション・ログ・ファイルが保留されていない。
レプリケーションを使用している場合、トランザクション・ログ・ファイルがすべてのサブスクライバにレプリケートされている。
XLAを使用している場合、XLAのすべてのブックマークがトランザクション・ログ・ファイルより新しい。
XAインタフェースを使用する分散トランザクションでトランザクション・ログ・ファイルが使用されていない。
この属性を0に設定するか選択解除する場合、不要なトランザクション・ログ・ファイルには.arch接尾辞が追加されます。アプリケーションはこれらのファイルを削除できます。
Windowsシステムの場合、TimesTenでは、共有データベースに接続するアプリケーションは、データベースがメモリーにロード中である間と、メモリー内にデータ・ストアが存在するときの、いずれの場合に実メモリーをロックするかを指定できます。データベースに使用される物理メモリーがロックされた場合、オペレーティング・システムの仮想メモリー・サブシステムでは、その他の用途にその物理メモリーを使用することができません。データベースのいずれの部分もページアウトすることはありませんが、RAMで構成されたシステムでは、メモリー不足が発生することがあります。メモリーをロックするとデータベースのロード・パフォーマンスが向上する可能性がありますが、同じコンピュータ上の他のアプリケーションに影響を及ぼす可能性があります。
Linuxの場合、MemoryLock=4はオペレーティング・システムにより許可される機能に基づいてMemoryLockを取得しようとします。Linuxでは、仮想メモリー・サイズ(物理+スワップ)がすべてロックされる可能性があります。TimesTenは、スワップを使用していない場合に最も優れたパフォーマンスを示します。オペレーティング・システムでは実際に使用可能な容量を超えるメモリーのロックを許容するため、ロック可能なメモリーの容量を制限するようにオペレーティング・システムのメモリー管理パラメータを慎重に構成することが重要です。これらのパラメータは、/etc/security/limits.confファイルで構成できます。
AIXでは、MemoryLock属性は実装されていません。
PL/SQLの共有メモリー・セグメントは、MemoryLockの対象ではありません。
Linuxシステムの場合、MemLock設定のgroupnameは、/etc/security/limits.confファイル内のインスタンス管理者と同じ値に設定します。MemLockの値は、TimesTenデータベースの共有メモリー・セグメント以上の大きさに設定します。
権限を表示するには、次のコマンドを実行します。
% ppriv $$
ユーザーID timestenに権限を追加するには、ルートユーザーは次のコマンドを実行します。
# usermod -K defaultpriv=basic,proc_lock_memory timesten
権限の追加後、timestenユーザーは新しいシェルにログインし、メモリーからすべてのTimesTenデータベースをアンロードし、TimesTenデーモンを再起動する必要があります。
TimesTenデーモンを再起動するには、新しいログイン・シェルで次のコマンドを実行します。
% ttDaemonadmin -restart
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性はTimesTen Classicでサポートされています。
この属性はTimesTen Scaleoutでサポートされています。
設定
MemoryLockは次のように設定します。
| 属性の設定場所 | 属性の表示 | 設定 |
|---|---|---|
CまたはJavaプログラム、あるいはUNIXおよびLinuxシステムのTimesTen Classicのodbc.iniファイル、またはTimesTen Scaleoutのデータベース定義(.dbdef)ファイル |
MemoryLock |
0(デフォルト): メモリーをロックしません。
|
| Windows ODBCデータソース・アドミニストレータ | 該当なし |
Overwrite属性が設定され、新しいデータベースと同じデータベース・パス名を持つ既存のデータベースが存在する場合、TimesTenは、使用中でなければ既存のデータベースを破棄し、新しい空のデータベースを作成します。Overwrite属性が設定され、指定したデータベース・パス名を持つデータベースが存在しない場合、TimesTenは、AutoCreate属性が設定されている場合にのみ新しいデータベースを作成します(「AutoCreate」を参照)。AutoCreateが0に設定されている場合には、TimesTenではOverwrite属性が無視されます。Overwrite =1の属性を指定する場合、アプリケーションでは注意が必要です。
必要な権限
インスタンス管理者のみがこの属性の値を変更できます。インスタンス管理者以外のユーザーがOverwrite=1でデータベースに接続しようとすると、TimesTenによってエラーが返されます。
TimesTen Classicの場合、データベースの永続メモリー領域のサイズをMBで示します。
TimesTen Scaleoutの場合、要素の永続メモリー領域のサイズをMBで示します。
最初の接続では、PermSizeを増やすことはできますが、減らすことはできません。永続メモリーの領域サイズを減らそうとすると、TimesTenによって警告が戻されます。データベースが存在しない場合に、PermSizeの値が0または値が指定されてない場合はデフォルト・サイズが使用されることを示します。デフォルト・サイズは32MBです。データベースが存在する場合に、値が0または値が指定されていない場合は既存のサイズが変更されないことを示します。
一度データベースを作成すると、永続パーティションを大きくすることはできますが、小さくすることはできません。Oracle TimesTen In-Memory Databaseオペレーション・ガイドのデータベースのメモリー領域サイズの指定に関する説明を参照してください。
「TempSize」接続属性に関する情報も参照してください。
適切な場合、ttMigrateおよびttDestroyユーティリティを使用して、「Permanent Data Size」を変更することもできます。
RecoveryThreads属性では、リカバリ中に索引を再作成するために使用するスレッドの数を決定します。
RecoveryThreads=1の場合、リカバリ中に、再作成する必要がある索引は順次再作成されます。索引の再作成を処理するのに十分なプロセッサがコンピュータ上にある場合は、この属性を1よりも大きな数に設定すると、リカバリのパフォーマンスを向上させることができます。異なるプロセッサが異なる索引を処理できる場合にのみ、パフォーマンスが向上します。同じ索引内の索引の再作成に並列処理はありません。
RecoveryThreadsの値は、システム上で使用可能なCPUの数までの値です。
データベースの作成時のデフォルトは1です。後続の接続に対しては、データベースをリカバリする必要があり、RecoveryThreadsが未指定または値が0の場合、TimesTenはこの属性の以前の設定を使用します。
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性はTimesTen Classicでサポートされています。
この属性はTimesTen Scaleoutでサポートされています。
TimesTen Classicの場合、TempSizeはデータベースの一時領域に割り当てられるメモリーの合計容量をMBで示します
TimesTen Scaleoutの場合、要素の一時領域に割り当てられるメモリーの合計容量をMBで示します
TempSizeに事前定義されている値はありません。指定しない場合、その値は次の式に従ってPermSizeから決定されます。
PermSizeが64MBより小さい場合: TempSize = 32MB + 上限(PermSize/4MB)。
それ以外の場合: Tempsize = 40MB + 上限(PermSize/8MB)。
TimesTenでは、値は最も近いMBに切り上げられます。
指定した場合、TimesTenでは常にTempSizeの値が使用されます。データベースがロードされるたびに一時データ・パーティションが再作成されるため、ロードのたびにTempSize属性が増減されることがあります。データベースが存在する場合に、値が0または値が指定されていない場合は既存のサイズが変更されないことを示します。TempSizeの最小値は32MBです。
一般接続属性は各接続によって設定され、接続が継続している間持続します。この項では、表2-3「一般接続属性」に示した一般接続属性について説明します。
この属性を使用して、チャネル作成リクエストに対するレスポンスを待機する時間制限(ミリ秒)を決定します。チャネル作成タイムアウトに使用される値は、ChannelCreateTimeout、SQLQueryTimeoutMSecおよびSQLQueryTimeout接続属性に設定されている値を比較することで決定されます。
ChannelCreateTimeout、SQLQueryTimeoutおよびSQLQueryTimeoutMSecが0 (ゼロ)以外の場合、使用されるタイムアウトは、これらの接続属性の最小値です。
ChannelCreateTimeoutが0に設定されている場合、SQLQueryTimeoutの値に関係なく、チャネル・タイムアウト機能は無効になり、チャネルの作成は同期されます。
ChannelCreateTimeoutがゼロ以外の値に設定され、SQLQueryTimeoutまたはSQLQueryTimeoutMSecがすべて0に設定されている場合、ChannelCreateTimeoutの値はチャネル作成のタイムアウトです。
|
ノート: 使用されるタイムアウトがChannelCreateTimeout接続属性で構成されているものと異なる場合、TimesTenはChannelCreateTimeout接続属性に設定されている値を上書きしません。 |
詳細は、Oracle TimesTen In-Memory Databaseオペレーション・ガイドのSQLおよびPL/SQLのタイムアウト値の選択に関する項を参照してください。
チャネル作成のタイムアウトは、TTC_Timeoutに指定した値を超えないようにしてください。この値は、TimesTen Clientアプリケーションが、対応するTimesTen Serverプロセスからの結果を待機するときのタイムアウトになります。この接続属性の詳細は、TTC_Timeoutを参照してください。
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についての情報も参照してください。
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性はTimesTen Classicでサポートされています。
この属性はTimesTen Scaleoutでサポートされています。
設定
CommitBufferSizeMaxを次のように設定します。
| 属性の設定場所 | 属性の表示 | 設定 |
|---|---|---|
CまたはJavaプログラム、あるいはUNIXおよびLinuxシステムのTimesTen Classicのodbc.iniファイル、またはTimesTen Scaleoutのデータベース定義(.dbdef)ファイル |
CommitBufferSizeMax |
0: コミット・バッファは、デフォルトのサイズ(10MB)に構成されます。
|
| Windows ODBCデータソース・アドミニストレータ | 該当なし |
ノート
組込みプロシージャttCommitBufferStatsをコールすると、コミット・バッファ統計はバイトで表されます。ただし、ttConfiguration組込みプロシージャの出力および接続属性CommitBufferSizeMaxによって設定された値はMB単位で表されます。
この属性は、クライアントの接続属性としても使用できます。
この属性を使用すると、任意のデータベース接続にシンボリック名を付けることができます。接続名は1つのプロセス内で一意です。
TimesTenでは、シンボリック名はttIsql、ttXactAdmin、ttStatusなどの様々な管理ユーティリティの接続を特定する場合に使用されます。これは、マルチスレッド・アプリケーション、リモート・クライアントの識別などのように、データベースに対して複数の接続を行うプロセスで特に有効です。
この属性の値は、接続文字列を使用して接続時に動的に定義します。デフォルト値は、接続の実行可能ファイル名です。また、DSN定義で静的に定義することもできます。ConnectionNameに使用する値は、SQL識別子構文ルールに従っている必要があります。
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性はTimesTen Classicでサポートされています。
この属性はTimesTen Scaleoutでサポートされています。
設定
ConnectionNameは次のように設定します。
| 属性の設定場所 | 属性の表示 | 設定 |
|---|---|---|
CまたはJavaプログラム、あるいはUNIXおよびLinuxシステムのTimesTen Classicのodbc.iniファイル、またはTimesTen Scaleoutのデータベース定義(.dbdef)ファイル |
ConnectionName |
接続の名前を表す最大30文字の文字列を入力します。指定した接続名またはデフォルトの接続名がすでに使用されている場合、TimesTenは名前にconnを割り当てます(ここでnは、名前を一意にするための0より大きい整数値です)。指定しない場合は、接続中のプロセスの名前が使用されます。 |
| Windows ODBCデータソース・アドミニストレータ | 「Oracle TimesTen Client DSN Setup」ダイアログの「Connection」フィールド | 接続の名前を表す最大30文字の文字列を入力します。指定した接続名またはデフォルトの接続名がすでに使用されている場合、TimesTenは名前にconnを割り当てます(ここでnは、名前を一意にするための0より大きい整数値です)。指定しない場合は、接続中のプロセスの名前が使用されます。 |
TimesTen Scaleoutの場合、各コミットがエポックを生成するかどうかを指定します。
この接続からのすべてのコミットをエポックにするには、この一般接続属性を1に設定します。デフォルト値は0で、トランザクションにttEpochCreate組込みプロシージャへのコールが含まれている場合を除き、コミットはエポックになりません。
TimesTen Classicは、この属性を無視します。
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性は、TimesTen Classicではサポートされていません。
この属性はTimesTen Scaleoutでサポートされています。
表または順序を、作成時にアクティブ・スタンバイ・ペアのレプリケーション・スキームに含めるかどうかを決定します。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開発者および管理者ガイド』のアクティブ・スタンバイ・ペアの変更に関する説明を参照してください。
DDL操作は自動的にコミットされます。RETURN TWOSAFEが指定されている場合は、エラーおよびタイムアウトが発生する可能性があります(『Oracle TimesTen In-Memory Database開発者および管理者ガイド』のRETURN TWOSAFEに関する説明を参照)。RETURN TWOSAFEタイムアウトが発生すると、LOCAL COMMIT ACTIONが指定されていても、DDLトランザクションはローカルでコミットされます。
DDLのレプリケーションについてさらに学習するには、『Oracle TimesTen In-Memory Database開発者および管理者ガイド』のアクティブ・スタンバイ・ペア内のDDLの変更に関する説明を参照してください。
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性はTimesTen Classicでサポートされています。
この属性は、TimesTen Scaleoutではサポートされていません。
設定
DDLReplicationActionは次のように設定します。
| 属性の設定場所 | 属性の表示 | 設定 |
|---|---|---|
CまたはJavaプログラム、あるいはUNIXおよびLinuxシステムのTimesTen Classicのodbc.iniファイル |
DDLReplicationAction |
INCLUDE (デフォルト): 適切なDDLReplicationLevel値が構成されている場合、表または順序が作成されるとアクティブ・スタンバイ・ペアのスキームに自動的に追加されます。
|
| Windows ODBCデータソース・アドミニストレータ | 該当なし |
アクティブ・スタンバイ・レプリケーション・スキーム内で、データ定義言語(DDL)文のサブセットのレプリケーションを有効にします。
DDLReplicationLevel接続属性の値が1に設定されている場合、表、索引またはシノニムのCREATE文またはDROP文はスタンバイ・データベースにレプリケートされません。ただし、レプリケート表に対してALTER TABLE ADDまたはDROP COLUMNを使用して列の追加または削除を行うことで、それらのアクションがスタンバイ・データベースにレプリケートされます。
DDLReplicationLevel接続属性の値が2に設定されている場合(デフォルト)、次のDDL文(『Oracle TimesTen In-Memory Database SQLリファレンス』を参照)はスタンバイやサブスクライバにレプリケートされます。
CREATE INDEXまたはDROP INDEX
CREATE SYNONYMまたはDROP SYNONYM
CREATE TABLEまたはDROP TABLE (CREATE TABLE AS SELECT以外のグローバル一時表を含む)
DDLReplicationLevel接続属性の値が3に設定されている場合、次のDDL文(『Oracle TimesTen In-Memory Database SQLリファレンス』を参照)および値が2に設定されている場合にレプリケートされたDDL文はスタンバイやサブスクライバにレプリケートされます。
CREATE VIEWまたはDROP VIEW
CREATE SEQUENCEまたは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開発者および管理者ガイド』のアクティブ・スタンバイ・ペア内のDDLの変更に関する説明を参照してください。
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性はTimesTen Classicでサポートされています。
この属性は、TimesTen Scaleoutではサポートされていません。
設定
DDLReplicationLevelは次のように設定します。
| 属性の設定場所 | 属性の表示 | 設定 |
|---|---|---|
CまたはJavaプログラム、あるいはUNIXおよびLinuxシステムのTimesTen Classicのodbc.iniファイル |
DDLReplicationLevel |
1: ALTER TABLE ADD COLUMNおよびALTER TABLE DROP COLUMNをスタンバイ・データベースにレプリケートします。表、索引またはシノニムのCREATE操作およびDROP操作はスタンバイ・データベースにレプリケートされません。
|
| Windows ODBCデータソース・アドミニストレータ | 該当なし |
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接続属性の値は整数です。
デフォルトでは、DurableCommitsは0 (ゼロ)に設定されています。この設定では、ログ・レコードはトランザクションのコミット時にファイル・システムに書き込まれますが、すぐにディスクに書き込まれることはありません。これにより、障害の発生時に一部のコミット済トランザクションが失われる危険はありますが、トランザクションの実行時間が短縮されます。DurableCommitsを1に設定すると、TimesTenによりログ・レコードはトランザクションのコミット時にディスクに書き込まれます。
また、接続でttDurableCommit組込みプロシージャをコールして、選択したトランザクションに対して明示的に永続的コミットを行うこともできます。ttDurableCommitをコールすると、ディスクにログ・バッファがフラッシュされます。ログ・バッファは、すべての接続間で共有されており、すべての接続で実行されたトランザクションのログ・レコードを含みます。
ログ・レコードは、継続的にファイル・システムからディスクにコピーされます。LogFlushMethodを使用して、ファイル・システムがディスクと同期化されるタイミングを制御できます。
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性はTimesTen Classicでサポートされています。
この属性は、TimesTen Scaleoutではサポートされていません。
この属性により、アプリケーションではTimesTen共有メモリーをアプリケーション・コア・ダンプに含めるかどうか、およびそのメモリーのどの部分を含めるかを制御できます
単一のアプリケーション・プロセスから単一のTimesTenデータベースに対して複数の接続が存在する場合、プロセスの最新の接続のIncludeInCore値によって、ダンプするコア・ファイルの部分が判別されます。
クライアント/サーバー接続の場合、設定はTimesTen Serverに渡されてから、ダイレクト・ドライバに渡されます。
TimesTenデーモンは、常にあらゆるものをダンプします。
ここで説明している設定は加算的です。たとえば、DBヘッダーおよびその他の固定割当てと永続領域の場合は、IncludeInCoreに3 (1+2)を設定します。DBヘッダー、その他の固定割当てと永続領域、一時領域およびログ・バッファの場合は、15 (1+2+4+8)を設定します。
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性はTimesTen Classicでサポートされています。
この属性はTimesTen Scaleoutでサポートされています。
設定
IncludeInCoreは次のように設定します。
| 属性の設定場所 | 属性の表示 | 設定 |
|---|---|---|
CまたはJavaプログラム、あるいはUNIXおよびLinuxシステムのTimesTen Classicのodbc.iniファイル、またはTimesTen Scaleoutのデータベース定義(.dbdef)ファイル |
IncludeInCore |
0: このデータベース接続に関連付けられた共有メモリーをすべてのコア・ファイルから除外します。
2: このデータベースの永続領域をコア・ファイルに含めます。
デフォルト値は255です。 |
| Windows ODBCデータソース・アドミニストレータ | N/A |
デフォルトでは、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_181に接続するには、次のように実行します。
ttIsqlをコールし、DSNにPassThroughレベル3で接続します。
% ttIsql; Command> connect "dsn=repdb1_181;passthrough=3"; Connection successful:. . .PassThrough=3; <default setting Autocommit=1>
AutoCommitを無効にします。
Command> autocommit=0;
PassThroughを一時的に0に変更します。
Command> passthrough=0;
分離レベルをシリアライズ可能に変更します。
Command> prepare 1 ALTER SESSION SET ISOLATION_LEVEL=serializable;
commit;
exec=1;
デフォルトでは、TimesTenは同時実行性を最大にする行レベル・ロックを有効にします。行レベル・ロックの場合、トランザクションでは、通常、アクセスする個々の行に対するロックが取得されますが、表全体に対するロックを取得した場合にパフォーマンスが向上するとTimesTenが判断した場合は、表全体に対するロックが取得されます。行レベル・ロックは、最も粒度の高い並行性制御を提供するため、ほとんどのアプリケーションに対して最適です。行レベル・ロックを使用するには、アプリケーションでLockLevel接続属性を0(デフォルト値)に設定する必要があります。Oracle Database表をキャッシュするには、行レベル・ロックを設定する必要があります。ユーザーに対してCREATE、DROPまたはALTERを実行する場合、行レベル・ロックのみを使用できるため、これらの処理を実行する前にロック・レベルを0に設定する必要があります。
この接続であらゆるトランザクションがデータベースに排他アクセスできるように、LockLevel属性を1に設定してデータベース・レベル・ロックを有効にすることができます。これにより、アプリケーションによってはパフォーマンスが向上する場合もあります。
ttLockLevel組込みプロシージャをコールすることで、接続で、希望するロック・レベルを随時変更できます。また、ttLockWait組込みプロシージャをコールすることで、利用できないロックを待機することもできます。異なる接続は異なるレベルのロックと共存できますが、データベース・レベルのロックを使用する接続が1つでもある場合は、同時性が損なわれます。特定のデータベースのすべてのロックのリストを表示するには、ttXactAdminユーティリティを使用します。
アプリケーションでPL/SQLを使用する場合、LockLevel=0を設定し、ttLockLevel組込みプロシージャを使用して、データベース・レベル・ロックを必要とするトランザクションについてのみ、データベース・レベル・ロックに変更します。
アプリケーションの接続中のロック待機時間を設定します。ロック待機時間は、ロックの競合が発生した際に待機する秒数です。小数秒を使用すると、わずかな秒数を表す際に重要な1秒未満のLockWait値を指定できます。次に例を示します。
LockWait = 0.1
これは、1/10秒の待機時間となります。
LockWaitには10分の数秒の精度で0から1,000,000の値を設定できます。デフォルトは10秒です。
LockWait = 10.0
タイムアウトを検出するエージェントのスケジュールにより、実際のロック待機応答時間は不正確で、最大1/10秒超過する場合があります。0(ゼロ)秒のタイムアウトの場合はこの不正確さは該当せず、タイムアウトはすぐにレポートされます。
データベースへの接続数は、ロック競合の解決にかかる時間に影響します。データベースへの接続数が多くなると予測される場合は、ロック待機時間を増やしてください。
接続では組込みプロシージャをコールすることで、ロック待機時間をいつでも変更できます。
特定のデータベースに対するすべてのロックのリストを表示するには、TimesTenユーティリティttXactAdminを使用します。
OptimizerHint接続属性によって、接続のオプティマイザ・ヒントのデフォルトが確立されます。システムのデフォルトと異なるものにできます。この接続属性を使用して設定したオプティマイザ・ヒントは、ユーザー・アプリケーション内のすべてのSQL文に対して設定されます。
この属性の値は、文レベルのオプティマイザ・ヒントと同じ形式の文字列ですが、*+、*/、-+の各デリミタがありません。文字列には、オプティマイザ・ヒント名のみを含めることができます。他のヒント文字列またはコメントと混在させることはできません。
オプティマイザ・ヒントの優先順位は、文レベルのヒント、トランザクション・レベルのヒント、最後がこの接続属性によって設定されたヒントとなります。
クライアント/サーバー・アプリケーションの場合は、クライアント接続で設定された属性が、この属性のサーバーDSN設定よりも優先されます。
セミコロン(;)など一部の記号は、属性値に許可されていません。パラメータにセミコロンが含まれるヒントの場合、同じ名前の複数のヒントは1つのヒントに結合されます。たとえば、
TT_INDEX (t1,i1, 0; t2, i2,0)
のように表現するには、次のようにします。
TT_INDEX (t1,i1,0) TT_INDEX (t2, i2,0 )
接続レベルで複数のヒントを結合するには、それらを同じ行に入力する必要があります。
この属性の値としてサポートされるオプティマイザ・ヒントのリストは、Oracle TimesTen In-Memory Database SQLリファレンスの文レベルのオプティマイザ・ヒントを参照してください。
TimesTenがデータベースのメモリーの永続パーティションについてメモリー不足の警告を発行する、しきい値の割合を示します。このしきい値の10%下より低い割合まで下がると、データベースの永続メモリー不足は解消したものとみなされます。アプリケーションは、組込みプロシージャttWarnOnLowMemoryをコールしてメモリー不足の警告を受信する必要があります。
複数の接続で同じコマンドを実行する場合、それらの接続は、1つのコマンド・ロックによって制御される共通のコマンド構造にアクセスします。コマンドの共有およびロックへの競合を回避するには、PrivateCommandsを使用します。これにより、一時領域の使用は増加しますが、スケールは改善されます。
デフォルトではPrivateCommandsは無効で、コマンドは共有されます。
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性はTimesTen Classicでサポートされています。
この属性はTimesTen Scaleoutでサポートされています。
PWDCryptには対応するPWD値の暗号化された値が含まれています。PWDの値はクリアテキスト(特殊文字は使用不可)で、UNIXおよびLinuxシステムの場合は.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」の項の「ユーティリティに必要なユーザー認証」を参照してください。
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性はTimesTen Classicでサポートされています。
この属性はTimesTen Scaleoutでサポートされています。
SQL文の実行時間が指定した値を超えたときに、デーモン・ログに警告を書き込むには、この属性を使用します。キャッシュ・エージェントによって実行されるSQL文には、問合せしきい値を設定できません。QueryThresholdの値は、すべての接続に適用されます。この値は、レプリケーション・エージェントまたはキャッシュ・エージェントによって実行されるSQL文を除いて、すべてのSQL文に適用されます。
この属性の値には、0(ゼロ)以上の任意の整数を指定できます。デフォルト値は0です。値が0 (ゼロ)の場合は警告が発行されないことを示します。秒単位で指定します。
追跡ベース・パラレル・レプリケーションを管理する場合、レプリケーション追跡に接続を割り当てることができます。接続によって発行されたすべてのトランザクションは、追跡が変更されないかぎり、この追跡に割り当てられます。
追跡ベース・パラレル・レプリケーションを開始するには、ReplicationParallelism属性の値を設定して、パラレルで適用されるレプリケーションの追跡数を指定する必要があります。ReplicationApplyOrderingも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文を実行する必要がある制限時間(秒単位)を指定するには、この属性を使用します。
この属性によって、Oracle Databaseで処理中のTimesTen Cache操作が停止されることはありません。このような操作には、PassThrough文、フラッシング、手動ロード、手動リフレッシュ、同期ライトスルーおよび伝播が含まれます。
SQLQueryTimeoutおよびSQLQueryTimeoutMSec属性はどちらも、1つのタイムアウト値(ミリ秒)に内部的にマップされます。これらの属性に異なる値が指定された場合は、1つの値のみが保持されます。
詳細は、Oracle TimesTen In-Memory Databaseオペレーション・ガイドのSQLおよびPL/SQLのタイムアウト値の選択に関する項を参照してください。
|
ノート:
|
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性はTimesTen Classicでサポートされています。
この属性はTimesTen Scaleoutでサポートされています。
設定
SQLQueryTimeoutは次のように設定します。
| 属性の設定場所 | 属性の表示 | 設定 |
|---|---|---|
CまたはJavaプログラム、あるいはUNIXおよびLinuxシステムのTimesTen Classicのodbc.iniファイル、またはTimesTen Scaleoutのデータベース定義(.dbdef)ファイル |
SQLQueryTimeout |
n: データベースがSQL問合せを実行する必要がある制限時間(秒単位)です。nの値には、0 (ゼロ)以上の任意の整数を指定できます。デフォルト値は0です。値が0 (ゼロ)の場合は問合せがタイムアウトしないことを示します。 |
| Windows ODBCデータソース・アドミニストレータ | 該当なし |
データベースがSQL文を実行する必要がある制限時間(ミリ秒単位)を指定するには、この属性を使用します。
この属性によって、Oracle Databaseで処理中のTimesTen Cache操作が停止されることはありません。このような操作には、PassThrough文、フラッシング、手動ロード、手動リフレッシュ、同期ライトスルーおよび伝播が含まれます。
SQLQueryTimeoutおよびSQLQueryTimeoutMsec属性はどちらも、1つのタイムアウト値(ミリ秒)に内部的にマップされます。これらの属性に異なる値が指定された場合は、1つの値のみが保持されます。
詳細は、Oracle TimesTen In-Memory Databaseオペレーション・ガイドのSQLおよびPL/SQLのタイムアウト値の選択に関する項を参照してください。
|
ノート:
|
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性はTimesTen Classicでサポートされています。
この属性はTimesTen Scaleoutでサポートされています。
設定
SQLQueryTimeoutMsecは次のように設定します。
| 属性の設定場所 | 属性の表示 | 設定 |
|---|---|---|
CまたはJavaプログラム、あるいはUNIXおよびLinuxシステムのTimesTen Classicのodbc.iniファイル、またはTimesTen Scaleoutのデータベース定義(.dbdef)ファイル |
SQLQueryTimeoutMSec |
n: データベースがSQL問合せを実行する制限時間(ミリ秒単位)です。nの値には、0 (ゼロ)以上の任意の整数を指定できます。デフォルト値は0です。値が0 (ゼロ)の場合は問合せがタイムアウトしないことを示します。 |
| Windows ODBCデータソース・アドミニストレータ | 該当なし |
TimesTenがデータベースのメモリーの一時パーティションについてメモリー不足の警告を発行する、しきい値の割合を示します。このしきい値の10%下より低い割合まで下がると、データベースの一時メモリー不足は解消したものとみなされます。アプリケーションは、組込みプロシージャttWarnOnLowMemoryをコールしてメモリー不足の警告を受信する必要があります。「ttWarnOnLowMemory」を参照してください。
ユーザーIDおよびパスワードは、TimesTenに内部的に識別されるユーザーが入力する必要があります。または、PWDCrypt属性を使用して、暗号化されたパスワードを入力することができます。TimesTenの処理によっては、処理を実行するユーザーのUIDとPWDを要求されることがあります。
TimesTenクライアント/サーバー・アプリケーションでは、UIDおよびPWDは、クライアントDSN設定または接続文字列のいずれかで指定します。接続文字列で指定されたUIDおよびPWDの値は、クライアントDSN設定で指定された値より優先されます。
一般に、UID接続属性が指定されていない場合、UIDはオペレーティング・システムで識別されるユーザー名とみなされ、TimesTenでパスワードを入力するように求められることはありません。
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 ScaleoutおよびTimesTen Classicでの使用
これらの属性はTimesTen Classicでサポートされています。
これらの属性はTimesTen Scaleoutでサポートされています。
設定
UIDおよびPWDは次のように設定します。
| 属性の設定場所 | 属性の表示 | 設定 |
|---|---|---|
CまたはJavaプログラム、あるいはUNIXおよびLinuxシステムのTimesTen Classicのodbc.iniファイル、またはTimesTen Scaleoutのデータベース定義(.dbdef)ファイル |
UID |
ユーザーIDを指定する文字列です。 |
CまたはJavaプログラム、あるいはUNIXおよびLinuxシステムのTimesTen Classicのodbc.iniファイル、またはTimesTen Scaleoutのデータベース定義(.dbdef)ファイル |
PWD |
ユーザーIDに対応するパスワードを指定する文字列です。 |
| Windows ODBCデータソース・アドミニストレータ | 「Oracle TimesTen Client DSN Setup」ダイアログの「User ID」および「Password」フィールド | ユーザーIDを指定する文字列です。 |
アプリケーションがTimesTenデータベースへの接続を要求したときに、データベースの同時ロード/リカバリなどが原因で接続できない場合、通常、TimesTenは競合している接続が完了するまで待機します。場合によっては、アプリケーションがデータベースに接続するのに時間がかかることがあります。WaitForConnect属性をオフに設定しておくと、データベースにすぐに接続できない場合、TimesTenはただちにエラーを返します。エラーの説明については、『Oracle TimesTen In-Memory Databaseエラー・メッセージおよびSNMPトラップ』の警告およびエラーに関する項で該当するエラー・メッセージ番号の説明を参照してください。
NLS接続属性は各接続によって設定され、接続が継続している間持続します。これらの属性は、データベースのグローバリゼーションの動作を制御します。この項では、表2-4「NLS一般接続属性」に示したNLS一般接続属性について説明します。
ALTER SESSION文(『Oracle TimesTen In-Memory Database SQLリファレンス』を参照)を使用して、NLSパラメータを変更し、接続時にこれらの属性に割り当てられる値を上書きできます。
ConnectionCharacterSetは、クライアントの接続属性としても使用できます。
この属性は、接続用の文字コードを指定しますが、データベース文字セットとは異なる文字コードを指定できます。これは、データベースへの接続が複数あるときや、そのうちの1つ以上の接続でデータベースで指定されているものとは異なる文字セットが必要な場合に便利です。
接続文字セットにより、データが表示または参照される際の文字セットが決定されます。
通常、ご使用の端末の設定またはデータソースと一致する接続文字セットを選択する必要があります。データ要件に基づいて、データベースの文字セットを選択することが必要です。たとえば、データをUnicodeで使用するか、UNIXまたはLinux (EUC)またはWindows (SJIS)上で日本語として使用するかを選択します。
データベースの文字セットと接続文字セットが異なる場合、TimesTenは、接続文字セットに従って内部的にデータを変換します。接続およびデータベースの文字セットが同じ場合、TimesTenはデータ・セットを変換したり解釈する必要はありません。接続およびデータベースの文字セットが一致していると、変換の必要がないため、最高のパフォーマンスを得られます。
パラメータおよびSQL問合せのテキストを接続に送信するには、接続文字セットであることが必要です。接続中に返される結果やエラー・メッセージは、接続文字セットとして返されます。
この属性は、DatabaseCharacterSet用に使用される値と同じ値を使用します。サポートされている文字セット名のリストは、「サポートされている文字セット」を参照してください。
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性はTimesTen Classicでサポートされています。
この属性はTimesTen Scaleoutでサポートされています。
設定
ConnectionCharacterSetは次のように設定します。
| 属性の設定場所 | 属性の表示 | 設定 |
|---|---|---|
CまたはJavaプログラム、あるいはUNIXおよびLinuxシステムのTimesTen Classicのodbc.iniファイル、またはTimesTen Scaleoutのデータベース定義(.dbdef)ファイル |
ConnectionCharacterSet |
ConnectionCharacterSetのデフォルト値はUS7ASCIIです。 |
| Windows ODBCデータソース・アドミニストレータ | 「Oracle TimesTen Client DSN Setup」ダイアログの「Connection CharacterSet」リスト・フィールド | ConnectionCharacterSetのデフォルト値はUS7ASCIIです。 |
TimesTenではNLS_LENGTH_SEMANTICS属性を使用して、長さセマンティクス構成のデフォルトを設定します。長さセマンティクスを設定することで、キャラクタ文字列の長さがどのように定義されるかが決まります。長さは文字列(バイト数)として処理できます。
NLS_LENGTH_SEMANTICSは、ALTER SESSION SQL文(『Oracle TimesTen In-Memory Database SQLリファレンス』を参照)を使用して変更できます。
NLS_NCHAR_CONV_EXCP属性は、NCHAR/NVARCHAR2データとCHAR/VARCHAR2データの間で暗黙的または明示的なキャラクタ・タイプの変換が行われる際、データ損失が発生した場合にエラーを報告するかどうかを指定します。変換できない文字には置換文字が代用されます。
CHARとNCHAR間の暗黙的および明示的な変換がサポートされています。
NLS_NCHAR_CONV_EXCPは、ALTER SESSION SQL文(『Oracle TimesTen In-Memory Database SQLリファレンス』を参照)を使用して変更できます。
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性はTimesTen Classicでサポートされています。
この属性はTimesTen Scaleoutでサポートされています。
設定
NLS_NCHAR_CONV_EXCPは次のように設定します。
| 属性の設定場所 | 属性の表示 | 設定 |
|---|---|---|
CまたはJavaプログラム、あるいはUNIXおよびLinuxシステムのTimesTen Classicのodbc.iniファイル、またはTimesTen Scaleoutのデータベース定義(.dbdef)ファイル |
NLS_NCHAR_CONV_EXCP |
0 (デフォルト): キャラクタ・タイプの変換時にデータ損失が発生した場合、エラーを報告しません。
|
| Windows ODBCデータソース・アドミニストレータ | 該当なし |
NLS_SORT属性では、言語比較に使用する照合順番を指定します。「サポートされている言語ソート」に示されている値を使用できます。これらの値はいずれも各値に_CIを付加することで、大/小文字を区別せずにソートを実行するように変更できます。アクセント記号および大/小文字を区別せずにソートするには、値に_AIを付加します。
TimesTenでは、マテリアライズド・ビューおよびキャッシュ・グループに対して、この属性を接続文字列またはDSN定義で使用するのではなく、SQL関数のNLSSORTを使用して照合順番を明示的に指定することをお薦めします。
文字比較を含む演算では、言語の大/小文字を区別する照合順番がサポートされています。大/小文字を区別しないソートは、DISTINCT値の解釈に影響することがあります。
NLS_SORTを行うと、様々な処理に影響する可能性があります。照合順番を区別する、サポートされている処理は次のとおりです。
MIN、MAX
BETWEEN
=、<>、>、>=、<、<=
DISTINCT
CASE
GROUP BY
HAVING
ORDER BY
IN
LIKE
BINARY以外のNLS_SORT設定を行うと、文字処理のパフォーマンスに重大な影響を及ぼす可能性があります。
NLS_SORTは、ALTER SESSION SQL文(『Oracle TimesTen In-Memory Database SQLリファレンス』を参照)を使用して変更できます。
|
ノート: 主キー索引は常にBINARY照合順番に従います。BINARY以外のNLS_SORT等価検索では、主キー索引を使用できません。 |
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性はTimesTen Classicでサポートされています。
この属性はTimesTen Scaleoutでサポートされています。
設定
NLS_SORTは次のように設定します。
| 属性の設定場所 | 属性の表示 | 設定 |
|---|---|---|
CまたはJavaプログラム、あるいはUNIXおよびLinuxシステムのTimesTen Classicのodbc.iniファイル、またはTimesTen Scaleoutのデータベース定義(.dbdef)ファイル |
NLS_SORT |
言語のソート順序またはBINARY(デフォルト)を指定します。 |
| Windows ODBCデータソース・アドミニストレータ | 該当なし |
この項の各表は、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接続属性は各接続によって設定され、接続が継続している間持続します。これらの属性によって、データベースの動作が制御されます。この項では、表2-5「PL/SQLの初期接続属性」に示したPL/SQLの初期接続属性について説明します。
PL/SQLを使用するには、共有メモリー・セグメントが必要です。この共有メモリーには、最近実行されたPL/SQLコード、共有パッケージの状態およびPL/SQLの処理に関連付けられたメタデータが格納されます。この共有メモリー・セグメントは、TimesTenデータベースを格納するセグメントとは別の共有メモリー・セグメントです。
この属性は、この共有メモリー・セグメントが、TimesTenダイレクト・ドライバを利用する各プロセスにロードされる仮想アドレスを指定します。このメモリー・アドレスは、TimesTenを使用中の各プロセスで同一である必要があります。値は16進のアドレスとして指定する必要があります。
PLSQL_MEMORY_ADDRESSに値を指定しなかった場合、TimesTenはプラットフォーム依存のデフォルト値を使用します。
各プラットフォームのデフォルト値は、次のように設計されています。
TimesTenデータベースおよびアプリケーションの仮想領域の容量を最大限に高める。
仮想アドレス領域の断片化を最小限に抑える。
仮想アドレス領域の他の利用との競合を避ける。-64
プラットフォーム固有のデフォルトのメモリー・アドレスは、次のとおりです。
| オペレーティング・システム | アドレス |
|---|---|
| Linux x86-64 | 0000005000000000 |
| AIX | 06ffffff00000000 |
| Windows | 000000005b8c0000 |
| 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に設定されている場合、データベースは自動的にロードされます。
ほとんどのPL/SQLユーザーにとっては、このデフォルト・サイズは十分なメモリー量です。PL/SQLを大量に使用するデータベースの場合は、より大きいメモリー・サイズを指定します。メモリー領域に空きがなくなると、PL/SQLの実行中にORA-4031エラーが発生する可能性があります。
メモリー・セグメントのアドレスは、PLSQL_MEMORY_ADDRESSの値によって決定されます。
PL/SQLを使用していなくても、PL/SQLセグメントから割り当てられた固定オーバーヘッドおよび接続ごとのオーバーヘッドの両方が存在します。割り当てられる最小の固定メモリーは約1500KBです。さらに、接続ごとに約40KBのメモリーが割り当てられます。したがって、必要な推定最小メモリー設定を計算すると、1500 KB (number_of_connections * 40)以上になります。アプリケーションでPL/SQLを使用する場合は、このセグメントに必要な推定の最小メモリーの2倍を割り当てることをお薦めします。アプリケーションでPL/SQLを使用しない場合は、必要な推定の最小メモリーの2倍よりも少なく割り当てることができます。
この属性は、1つのセッションで一度にオープンできるPL/SQLカーソルの最大数を指定します。これはセッションが過剰な数のカーソルをオープンしないようにするために使用します。デフォルトは50 PL/SQLカーソルです。
この属性の値の更新は、現行の接続ではなく次の接続で有効になります。
この値を減らし、現在オープン・カーソルの数が新しい設定以上である場合、オープン・カーソルの合計数が新しい設定より少なくなるまで、新しいカーソルはオープンできません(つまり、現在オープンしているカーソルの一部をクローズする必要があります)。
0の値は、PL/SQLカーソルをオープンできないことを示します。(ただし、PL/SQLコードを含むキャッシュされたPL/SQLカーソルがある場合は、それらを実行できます。)
|
ノート: この属性の機能は、Oracle DatabaseのOPEN_CURSORSと同じです。 |
PL/SQLの一般接続属性は各接続によって設定され、接続が継続している間持続します。これらの属性によって、データベースの動作が制御されます。この項では、表2-6「PL/SQLの一般接続属性」に示したPL/SQLの一般接続属性について説明します。
ALTER SESSION文(『Oracle TimesTen In-Memory Database SQLリファレンス』を参照)を使用して、PL/SQLパラメータを変更し、接続時にPL/SQLの一般接続属性に割り当てられる値を上書きできます。
PLSCOPE_SETTINGSは、PL/SQLコンパイラで相互参照情報を生成するかどうかを制御します。すべての相互参照を生成するか、または1つも生成しないかのいずれかになります。可能な値は、IDENTIFIERS:NONEまたはIDENTIFIERS:ALLです。
PLSCOPE_SETTINGS接続属性によって、セッション内のこの属性の初期値が決定されます。この値は、ALTER SESSION文(『Oracle TimesTen In-Memory Database SQLリファレンス』を参照)を使用して変更できます。次に例を示します。
ALTER SESSION SET PLSCOPE_STTINGS = 'IDENTIFIERS:ALL' ;
この属性では、PL/SQLユニットの条件付きコンパイルを制御するディレクティブを設定し、確認する条件に応じて、PL/SQLプログラムの機能をカスタマイズできます。このことは、特に、アプリケーションが複数のデータベース環境にデプロイされる場合に有効です。考えられる用途としては、デバッグ機能やトレース機能のアクティブ化、データベースのバージョンに基づいた機能設定などがあります。
次の形式を使用します。
PLSQL_CCFLAGS = 'v1:c1,v2:c2,...,vn:cn'
v1の形式は、引用符で囲まないPL/SQL識別子です。制限はなく、予約語やキーワードも可能です。このテキストでは大/小文字は区別されません。それぞれがフラグまたはフラグ名として認識されます。各viは、文字列内で複数回使用可能で、それぞれに異なるフラグ値を持つことができ、様々な種類のフラグ値を使用できます。
c1は、PL/SQLブール・リテラル、PLS_INTEGERリテラル、リテラル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;
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性はTimesTen Classicでサポートされています。
この属性はTimesTen Scaleoutでサポートされています。
設定
PLSQL_CONN_MEM_LIMITは次のように設定します。
| 属性の設定場所 | 属性の表示 | 設定 |
|---|---|---|
CまたはJavaプログラム、あるいはUNIXおよびLinuxシステムのTimesTen Classicのodbc.iniファイル、またはTimesTen Scaleoutのデータベース定義(.dbdef)ファイル |
PLSQL_CONN_MEM_LIMIT |
MB単位の整数値。デフォルト値は100です。0に設定すると、制限がなくなります。 |
| Windows ODBCデータソース・アドミニストレータ | 該当なし |
ノート
PL/SQL変数によって消費されるメモリー量は、他のプログラミング言語で類似の変数によって消費される量とほぼ同じです。たとえば、次のような文字列の大きな配列を考えてみます。
type chararr is table of varchar2(32767)
index by binary_integer;
big_array chararr;
配列にそれぞれ100バイトの文字列が100,000個配置される場合、約12MBのメモリーが消費されます。
PL/SQLブロックの変数によって消費されるメモリーは、ブロックの実行中に使用され、その後解放されます。プロシージャやファンクション内ではなくPL/SQLパッケージの指定内または本体内の変数によって消費されるメモリーは、パッケージの存続期間使用されます。PL/SQLプロシージャやファンクション(パッケージ内で定義されているものなど)内の変数によって消費されるメモリーは、そのプロシージャやファンクションの存続期間使用されます。ただし、いずれの場合も、PL/SQLによって解放されたメモリーはオペレーティング・システムに戻されません。かわりに、PL/SQLによって保持され、将来PL/SQLが起動されたときに再利用されます。アプリケーションとTimesTenの接続が切断されると、メモリーは解放されます。
この属性は、PL/SQLライブラリ・ユニットのコンパイルに使用する最適化レベルを指定します。このパラメータの設定が高いほど、コンパイラはPL/SQLライブラリ・ユニットをより最適化しようと試みます。可能な値は、0、1、2または3です。
PLSQL_OPTIMIZE_LEVEL接続属性によって、セッション内のこの属性の初期値が決定されます。この値は、ALTER SESSION文(『Oracle TimesTen In-Memory Database SQLリファレンス』を参照)を使用して変更できます。次に例を示します。
ALTER SESSION SET PLSQL_OPTIMIZE_LEVEL = 2;
この属性は、キャッシュするセッション・カーソルの数を指定します。ユーザーは、キャッシュ内で現在不要な領域を解放するように設定を調整できます。
PLSQL_SESSION_CACHED_CURSORSは、ALTER SESSION SQL文(『Oracle TimesTen In-Memory Database SQLリファレンス』を参照)を使用して変更できます。
ALTER SESSION SET PLSQL_SESSION_CACHED_CURSORS=25;
|
ノート: この属性の機能は、Oracle DatabaseのSESSION_CACHED_CURSORSと同じです。 |
この属性は、PL/SQLプロシージャ、無名ブロックおよび関数を含むPL/SQLプログラム・ユニットが自動的に終了されるまでの実行時間を秒数で指定します。
この値は、ALTER SESSION文(『Oracle TimesTen In-Memory Database SQLリファレンス』を参照)を使用して変更できます。この値がALTER SESSIONによって変更された場合、新しい値は現在実行中のすべてのPL/SQLプログラム・ユニットに影響します。次に例を示します。
ALTER SESSION SET PLSQL_TIMEOUT = 10;
|
ノート:
|
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性はTimesTen Classicでサポートされています。
この属性はTimesTen Scaleoutでサポートされています。
TimesTen Cacheの初期接続属性は、TimesTen Cache製品を使用している場合にのみ使用されます。この項では、表2-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 Cacheの接続属性は、TimesTen Cache製品を使用している場合にのみ使用されます。この項では、TimesTen Cacheのデータ・ストア属性について説明します。
CacheAWTParallelismは、Oracle Databaseに変更を適用するスレッドの数を示します。この属性はReplicationParallelismおよびReplicationApplyOrderingと関連性があります。
この属性を設定しない場合、またはデフォルトの1に設定した場合、Oracle Databaseに変更を適用するスレッドの数はReplicationParallelismに設定された数の2倍になり、最大値は31です。
ReplicationParallelism属性とCacheAWTParallelism属性の両方が設定されている場合は、CacheAWTParallelismに設定される値がパラレル伝播で使用するスレッド数を構成します。CacheAWTParallelismの設定は、パラレル伝播の適用スレッド数を決定し、ReplicationParallelismの設定は、パラレル・レプリケーションのスレッド数を決定します。
CacheAWTParallelismは、AWTキャッシュ・グループがあるときにのみ影響を及ぼします。
パラレルAWTキャッシュについてさらに学習するには、『Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイド』のOracle Database表へのパラレル伝播の構成に関する説明を参照してください。
UseCacheConnPool接続属性を使用してキャッシュ接続プールを有効にします。
キャッシュ接続プールは、クライアント/サーバー・アプリケーションからのみ開始でき、動的な読取り専用キャッシュ・グループ用に開始された動的ロードにのみ使用されます。
キャッシュ接続プールについてさらに学習するには、『Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイド』の動的なロード・リクエストのためのOracleデータベースのキャッシュ接続プールの管理に関する項を参照してください。
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性はTimesTen Classicでサポートされています。
この属性は、TimesTen Scaleoutではサポートされていません。
設定
UseCacheConnPoolは次のように設定します。
| 属性の設定場所 | 属性の表示 | 設定 |
|---|---|---|
CまたはJavaプログラム、あるいはUNIXおよびLinuxシステムのTimesTen Classicのodbc.iniファイル |
UseCacheConnPool |
2 - 有効: Oracleデータベースからの動的ロードを必要とする文ごとに、ロードが完了して接続がキャッシュ接続プールに戻された後、Oracleへの接続が解放されます。
直接接続から動的ロードを実行すると、機能が有効化されていない場合と同じように動的ロードが処理されます。
|
| Windows ODBCデータソース・アドミニストレータ | N/A |
TimesTen Cacheの一般接続属性は、TimesTen Cache製品を使用している場合にのみ使用されます。この項では、表2-9「TimesTen Cacheの一般接続属性」に示したTimesTen Cacheの一般接続属性について説明します。
この属性は、Oracle DatabaseからTimesTenの動的キャッシュ・グループへのデータの動的ロードを有効または無効にします。デフォルトでは、Oracle Databaseからのデータの動的ロードが有効になっています。
文レベルで動的ロードを有効または無効にして一時的にこの属性の設定を上書きするには、DynamicLoadEnableオプティマイザ・フラグをttOptSetFlag組込みプロシージャで設定するか、SQL文で文レベル・オプティマイザ・ヒントTT_DynamicLoadEnableを使用して設定します。
|
ノート: この属性の値は、データベースへの現在の接続での、すべての動的キャッシュ・グループの動的ロード動作を上書きします。 |
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性はTimesTen Classicでサポートされています。
この属性は、TimesTen Scaleoutではサポートされていません。
設定
DynamicLoadEnableは次のように設定します。
| 属性の設定場所 | 属性の表示 | 設定 |
|---|---|---|
CまたはJavaプログラム、あるいはUNIXおよびLinuxシステムのTimesTen Classicのodbc.iniファイル |
DynamicLoadEnable |
0: 現在の接続について、Oracle DatabaseからTimesTenの動的キャッシュ・グループへのデータの動的ロードを無効にします。
|
| Windows ODBCデータソース・アドミニストレータ | 該当なし |
この属性は、アプリケーションが動的キャッシュ・グループに対して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リファレンス・ガイド』の文レベル・オプティマイザ・ヒントに関する説明を参照してください。 |
TimesTen Cacheでは、OracleNetServiceName属性が使用されます。
この属性では、Oracleインスタンスのサービス名が識別されます。
Oracle Database表をキャッシュし、Oracle Databaseとの通信を有効にするには、Oracleサービス名を指定する必要があります。
TimesTenキャッシュはOraclePWD属性を使用してOracleデータベースに接続し、キャッシュ操作を実行します。
Oracle Databaseユーザーのユーザー名は、TimesTenキャッシュ・マネージャのユーザー名と同じで、ユーザー名はUIDで指定されます(パスワードはTimesTenでPWDによって指定されます)。したがって、この属性の値は、UIDで指定されたユーザーのパスワードです。
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性はTimesTen Classicでサポートされています。
この属性は、TimesTen Scaleoutではサポートされていません。
設定
この属性は接続文字列で設定する必要があります。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; (Default setting AutoCommit=1)
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」を参照してください。
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性はTimesTen Classicでサポートされています。
この属性は、TimesTen Scaleoutではサポートされていません。
設定
PassThroughは次のように設定します。
| 属性の設定場所 | 属性の表示 | 設定 |
|---|---|---|
CまたはJavaプログラム、あるいはUNIXおよびLinuxシステムのTimesTen Classicのodbc.iniファイル |
PassThrough |
0(デフォルト): SQL文はTimesTenに対してのみ実行されます。
|
| Windows ODBCデータソース・アドミニストレータ | 該当なし |
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 Cacheでは、StandbyNetServiceName属性が使用されます。
この属性は、Oracle Active Data Guard環境のスタンバイOracleインスタンスのサービス名を識別します。
Oracle Database表をキャッシュし、スタンバイOracle Databaseとの通信を有効にするには、Oracleサービス名を指定する必要があります。
TimesTen Client接続属性は、TimesTenクライアント・アプリケーションからTimesTenサーバーに接続する場合にのみ使用されます。この項では、表2-10「TimesTen Client接続属性」に示したTimesTen Clientの接続属性について説明します。
この項に示した属性の他にも、クライアント接続に使用可能で、接続の動作に影響を与えるデータベース属性や一般接続属性があります。これらの属性は次のとおりです。
クライアント属性の値を表示するには、次のようにします。
ODBC 3.5では、ODBC関数SQLGetConnectAttrを使用します。この機能についてさらに学習するには、『Oracle TimesTen In-Memory Database C開発者ガイド』のODBC 3.5 SQLSetConnectAttrおよびSQLGetConnectAttrの属性サポートに関する説明を参照してください
ODBC 2.5では、ODBC関数SQLGetConnectOptionを使用します。この関数についてさらに学習するには、『Oracle TimesTen In-Memory Database C開発者ガイド』のODBC 2.5 SQLSetConnectOptionおよびSQLGetConnectOptionのオプションのサポートに関する説明を参照してください。
CipherSuites属性は、クライアント設定に応じて、使用できる暗号スイートをリストします。SSL_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256またはSSL_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384、あるいはその両方をカンマ区切りで望ましい順に指定します。デフォルト設定はありません。
この属性は、クライアントとサーバーの両方に対して設定する必要があります。TLSを使用するには、サーバーおよびクライアント設定に1つ以上の共通スイートが含まれている必要があります。
詳細は、Oracle TimesTen In-Memory Databaseセキュリティ・ガイドのクライアント/サーバーのTLSの構成に関する項を参照してください。
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性はTimesTen Classicでサポートされています。
この属性は、TimesTen Scaleoutではサポートされていません。
設定
CipherSuitesは次のように設定します。
| 属性の設定場所 | 属性の表示 | 設定 |
|---|---|---|
CまたはJavaプログラム、あるいはUNIXおよびLinuxシステムのTimesTen Classicのodbc.iniファイル |
CipherSuites | SSL_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256、SSL_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384、あるいはその両方をカンマ区切りで望ましい順に指定します。 |
| Windows ODBCデータソース・アドミニストレータ | 「Oracle TimesTen Client DSN Setup」ダイアログの「CipherSuites」フィールド。 | SSL_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256、SSL_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384、あるいはその両方をカンマ区切りで望ましい順に指定します。 |
ClientServer接続属性を使用してクライアント・サーバー・プロセスを識別します。
クライアント/サーバー環境では、TimesTenは、クライアントからの着信リクエストを処理するために複数のTimesTen子サーバー・プロセスを持つことができます。特定のキャッシュ接続プールの組込みプロシージャの特定の子サーバー・プロセスを識別するには、ChildServer接続属性を指定します。
各子サーバー・プロセスは、ChildServer=n接続属性で割り当てられた数字により識別されます。ここで、nは、1から実行中の子サーバー・プロセスの数の範囲までの数です。子サーバー・プロセスに接続したら、特定の子サーバー・プロセス用のttCacheConnPoolGet('current')またはttCacheConnPoolApply組込みプロシージャを実行できます。
ClientServer接続属性についてさらに学習するには、『Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイド』の動的なロード・リクエストのためのOracleデータベースのキャッシュ接続プールの管理に関する項を参照してください。
Encryption属性は、クライアント・サーバー接続で暗号化を必須にするかどうかを指定します。
この属性は、クライアントとサーバーの両方に対して設定する必要があります。暗号の設定は、ほとんどの場合、クライアントとサーバーの両方で同じである必要があります。
詳細は、Oracle TimesTen In-Memory Databaseセキュリティ・ガイドのクライアント/サーバーのTLSの構成に関する項を参照してください。
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性はTimesTen Classicでサポートされています。
この属性は、TimesTen Scaleoutではサポートされていません。
設定
Encryptionは次のように設定します。
| 属性の設定場所 | 属性の表示 | 設定 |
|---|---|---|
CまたはJavaプログラム、あるいはUNIXおよびLinuxシステムのTimesTen Classicのodbc.iniファイル |
Encryption |
|
| Windows ODBCデータソース・アドミニストレータ | 「Oracle TimesTen Client DSN Setup」ダイアログの「Encryption」フィールド。 |
|
SSLClientAuthentication属性は、SSLクライアント認証が必要(1の設定)であるか不要(デフォルトの0の設定)であるかを指定します。クライアント認証を使用する場合、サーバーはクライアントから提示されたアイデンティティを検証し、クライアント・ウォレット内のアイデンティティ(公開キーまたは秘密キー)を要求します。
クライアント認証の設定にかかわらず、サーバー認証が実行され、クライアントがサーバーを検証します。
この属性は、クライアントとサーバーの両方に対して設定する必要があります。クライアント認証の設定にかかわらず、サーバー認証が実行され、クライアントがサーバーを検証します。
詳細は、Oracle TimesTen In-Memory Databaseセキュリティ・ガイドのクライアント/サーバーのTLSの構成に関する項を参照してください。
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性はTimesTen Classicでサポートされています。
この属性は、TimesTen Scaleoutではサポートされていません。
設定
SSLClientAuthenticationは次のように設定します。
| 属性の設定場所 | 属性の表示 | 設定 |
|---|---|---|
CまたはJavaプログラム、あるいはUNIXおよびLinuxシステムのTimesTen Classicのodbc.iniファイル |
SSLClientAuthentication |
1: クライアント認証が必要です
|
| Windows ODBCデータソース・アドミニストレータ | 「Oracle TimesTen Client DSN Setup」ダイアログの「SSL Client Authentication」フィールド。 | 1: クライアント認証が必要です
|
TimesTen ClientおよびServerを使用してTimesTenデータベースに接続する場合、TimesTen ClientにはTimesTen Serverを実行しているコンピュータのネットワーク・アドレスとTCPポート番号が必要です。
TTC_Server接続属性、ODBC接続文字列または論理サーバー定義で値を指定しないかぎり、デフォルトのTCP/IPポート番号はTCP_Portとして想定されます。詳細は、TTC_ServerまたはTTC_Server1を参照してください。
TimesTen Serverがデフォルト以外のポート番号をリスニングしている場合は、次のいずれかの方法でポート番号を指定する必要があります。
TimesTen Classicを使用している場合は、ネットワーク・アドレスとポート番号のペアを含む論理サーバー定義内でポート番号を指定できます。論理サーバーの定義の詳細は、Oracle TimesTen In-Memory Databaseオペレーション・ガイドの論理サーバー名の定義に関する説明を参照してください。
次を使用して、TTC_Server接続属性内のポート番号を指定できます。
TTC_SERVER=server_host_name/server_port;
ODBC接続文字列でポート番号を指定できます。
"TTC_SERVER=server_host_name;TTC_SERVER_DSN=Server_DSN; TCP_PORT=server_port"
または:
"DSN=Client_DSN;TCP_Port=server_port"
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性はTimesTen Classicでサポートされています。
この属性はTimesTen Scaleoutでサポートされています。
設定
TCP_Portは次のように設定します。
| 属性の設定場所 | 属性の表示 | 設定 |
|---|---|---|
| CまたはJavaプログラム | TCP_Port |
サーバーがリスニングするポート番号を指定します。 |
Windows ODBCデータソース・アドミニストレータおよびUNIXまたはLinuxシステムttconnect.iniファイル。詳細は、Oracle TimesTen In-Memory Databaseオペレーション・ガイドのLinuxおよびUNIXでの論理サーバー名の作成と構成に関する項を参照してください。 |
「Oracle TimesTen Logical Server Name Setup」ダイアログ・ボックスの「TCP_Port」。 | サーバーがリスニングするポート番号を指定します。 |
TimesTen Classicの場合、TimesTenはこの属性を使用して、自動フェイルオーバーが発生したときに使用するポート番号を指定します。(これは、TimesTen Scaleoutには必要ありません。)この属性および関連する属性の値の設定については、TCP_Portの説明を参照してください。
適切なTTC_ServerN接続属性、ODBC接続文字列または論理サーバー定義で値を指定しないかぎり、デフォルトのTCP/IPポート番号はTCP_Port2およびTCP_PortNとして想定されます。詳細は、TTC_ServerまたはTTC_Server1を参照してください。
TCP_PortNに未指定の値は、TCP_PORT (またはTCP_PORT1)の値を継承します。たとえば、TTC_Server2を指定して、TTC_Server_DSN2とTCP_Port2を指定しない場合、TTC_Server_DSN2はTTC_Server_DSN値に設定され、TCP_Port2はTCP_Port値に設定されます。
自動クライアント・フェイルオーバーの詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』の自動クライアント・フェイルオーバーの使用に関する説明を参照してください。
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性はTimesTen Classicでサポートされています。
この属性はTimesTen Scaleoutでサポートされています。
設定
TCP_Port2、TCP_PortNは次のように設定します。
| 属性の設定場所 | 属性の表示 | 設定 |
|---|---|---|
| CまたはJavaプログラム | TCP_Port2, TCP_PortN |
サーバーがリスニングするフェイルオーバー・ポート番号を指定します。 |
Windows ODBCデータソース・アドミニストレータおよびUNIXまたはLinuxシステムttconnect.iniファイル。詳細は、Oracle TimesTen In-Memory Databaseオペレーション・ガイドのLinuxおよびUNIXでの論理サーバー名の作成と構成に関する項を参照してください。 |
TTC_Server2、TTC_ServerN.も指定する場合は、接続文字列にTCP_Port2、TCP_PortNを指定します。 | サーバーがリスニングするフェイルオーバー・ポート番号を指定します。 |
TTC_ConnectTimeout属性は、クライアントがSQLDriverConnectまたはSQLDisconnectリクエストを待機する最大秒数を指定します。これは、それらのリクエストに対するTTC_Timeoutの値を上書きします。接続リクエストが、問合せリクエストに指定されたタイムアウトとは異なる時間枠でタイムアウトするようにする場合は、TTC_ConnectTimeoutを設定します。たとえば、接続に長時間かかることがわかっているが、他のすべての問合せに短いタイムアウトを設定する場合は、接続に長いタイムアウトを設定できます。
値0はタイムアウトがないことを意味します。負の値は、TTC_Timeoutの設定値まで遅延します。TTC_Timeoutと同様に、タイムアウトに達すると、SQLDisconnectをコールしなくても、接続およびその関連するソケットがクローズされます。
TTC_ConnectTimeoutは、クライアント接続文字列またはクライアントDSNのいずれかで設定できます。
詳細は、Oracle TimesTen In-Memory Databaseオペレーション・ガイドのSQLおよびPL/SQLのタイムアウト値の選択に関する項を参照してください。
TTC_Timeoutも参照してください。
アクティブ/スタンバイ・レプリケーション構成で、自動クライアント・フェイルオーバー・スレッドがフェイルオーバー通知をリスニングするポートのポート範囲を指定します。フェイルオーバー構成では、現在のノードで障害が発生した場合、クライアント・アプリケーションは新しいアクティブ・ノードに自動的に接続できます。
ポート範囲を指定すると、クライアント・システムとサーバー・システムの間のファイアウォールに対応できます。デフォルトでは、TimesTenはオペレーティング・システムで選択されたポートを使用します。
自動クライアント・フェイルオーバーの詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』の自動クライアント・フェイルオーバーの使用に関する説明を参照してください。
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性はTimesTen Classicでサポートされています。
この属性はTimesTen Scaleoutでサポートされています。
設定
TTC_FailoverPortRangeは次のように設定します。
| 属性の設定場所 | 属性の表示 | 設定 |
|---|---|---|
CまたはJavaプログラム、あるいはUNIXおよびLinuxシステムのTimesTen Classicのodbc.iniファイル、またはTimesTen Scaleoutのデータベース定義(.dbdef)ファイル |
TTC_FailoverPortRange |
ポート番号の下位値および上位値をlowervalue—uppervalueの形式で指定します。 |
| Windows ODBCデータソース・アドミニストレータ | 「Oracle TimesTen Client DSN Setup」ダイアログの「Failover Port Range」フィールド。 | ポート番号の下位値および上位値をlowervalue—uppervalueの形式で指定します。 |
TimesTenクライアントがフェイルオーバー後にサーバーに自動的に再接続しないかどうかを指定します。これを1 (有効)に設定した場合、TimesTenは再接続を除いて通常のすべてのクライアント・フェイルオーバー処理を実行するように指示されます。(たとえば、文ハンドルおよび接続ハンドルは無効とマークされます。)これは、アプリケーションが独自の接続プーリングを実行したり、フェイルオーバー後にデータベースへの独自の再接続を管理する場合に便利です。デフォルト値は0 (再接続)です。
このオプションの自動クライアント・フェイルオーバーを構成する必要があります。詳細は、Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイドのクライアント接続のフェイルオーバーに関する項を参照してください。
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性はTimesTen Classicでサポートされています。
この属性はTimesTen Scaleoutでサポートされています。
設定
TTC_NoReconnectOnFailoverは次のように設定します。
| 属性の設定場所 | 属性の表示 | 設定 |
|---|---|---|
CまたはJavaプログラム、あるいはUNIXおよびLinuxシステムのTimesTen Classicのodbc.iniファイル、またはTimesTen Scaleoutのデータベース定義(.dbdef)ファイル |
TTC_NoReconnectOnFailover |
0 = フェイルオーバー後にクライアントはサーバーに再接続します(デフォルト)。
|
| Windows ODBCデータソース・アドミニストレータ | 「Oracle TimesTen Client DSN Setup」ダイアログ・ボックスの「No reconnect on failover」フィールド。 | 0 = フェイルオーバー後にクライアントはサーバーに再接続します(デフォルト)。
|
TimesTenクライアントが必要に応じてTTC_ServerN属性設定に指定されているリストから代替サーバーを選択することを指定します。選択したサーバーにクライアントが接続できない場合、クライアントはリストされているサーバーのいずれかに正常に接続するまでリダイレクトし続けます。選択したサーバーのいずれにもクライアントが接続できない場合、TimesTenはエラーを返します。
1 (デフォルト): 最初に、TTC_ServerN接続属性によって指定されているフェイルオーバー・サーバーのリストがランダム化されます。その後、最初の接続およびその後の任意のクライアント・フェイルオーバー・リクエストで、クライアントはランダム化されたリストから順次選択します。
0: クライアントはTTC_ServerN接続属性で指定された最初のサーバーを選択します。
自動クライアント・フェイルオーバーの詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』の自動クライアント・フェイルオーバーの使用に関する説明を参照してください。
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性はTimesTen Classicでサポートされています。
この属性はTimesTen Scaleoutでサポートされています。
設定
TTC_Random_Selectionは次のように設定します。
| 属性の設定場所 | 属性の表示 | 設定 |
|---|---|---|
CまたはJavaプログラム、あるいはUNIXおよびLinuxシステムのTimesTen Classicのodbc.iniファイル、またはTimesTen Scaleoutのデータベース定義(.dbdef)ファイル |
TTC_Random_Selection |
0 = クライアントは、TTC_ServerN属性に指定された最初のサーバーを選択します。
|
| Windows ODBCデータソース・アドミニストレータ | 該当なし |
TimesTen Scaleoutの場合、TTC_REDIRECTではクライアントがどのようにリダイレクトされるかを定義します。これを0に設定し、目的のデータ・インスタンスへの初期接続試行が失敗した場合は、エラーが返され、それ以上の接続試行が実行されません。これは、その接続での後続のフェイルオーバーに影響しません。
自動リダイレクト: デフォルトでは、この接続属性は1に設定されます。これにより、現在のホストがビジーか使用不可である場合、クライアント接続はグリッド内の使用可能ないずれかのデータ・インスタンスに自動的にリダイレクトされるようになります。接続は、クライアント接続の数が最も少ないホストにリダイレクトされます。
単一のレプリカ・セット内の要素: クライアントが単一のレプリカ・セット内の要素に接続するようにする場合は(目的のデータがこのレプリカ・セット内に含まれているため)、TTC_REDIRECT接続属性を0に設定します。その後、クライアントはDSNで示されているホスト、または同じレプリカ・セットに要素があるホストにのみ接続します。接続が拒否された場合は、接続エラーが返されます。
TTC_Redirect_Limit属性は、クライアントがリダイレクトされる回数を制限します。グリッド内のホストの数は、パフォーマンス上の理由から、リダイレクトされるクライアント接続試行の数を制限するサイズにすることもできます。TTC_Redirect_Limit接続属性を接続リダイレクトの試行回数に設定できます。たとえば、TTC_Redirect_Limit=10を設定すると、他のホストへのクライアント接続リダイレクトの試行回数が10回に制限されます。クライアントがこの試行回数内に接続しないと、接続エラーが返されます。
TimesTen Scaleoutの場合、TTC_Redirect_Limitはクライアントがリダイレクトされる回数を制限します。
これは、グリッド内のホストの数を、パフォーマンス上の理由から、リダイレクトされるクライアント接続試行の数を制限するようにする場合に便利です。
たとえば、TTC_Redirect_Limit=10を設定すると、他のホストへのクライアント接続リダイレクトの試行回数が10回に制限されます。クライアントがこの試行回数内に接続しないと、接続エラーが返されます。
|
ノート: 制限なしという設定はありませんが、非常に大きい整数に設定できます。 |
TimesTen Classicの場合は、クライアント・フェイルオーバーが発生したときにアプリケーションをロールバックする必要があるかどうかを示します。デフォルト設定の1 (有効)では、トランザクションの途中でフェイルオーバーが発生した場合、接続ハンドルおよび関連付けられたすべての文ハンドルで「transaction must roll back」エラーが発生します。これにより、SQL操作が失敗した可能性があることが明示的に示されます。アプリケーションは、続行する前に、トランザクションをロールバックする必要があります。
0に設定するとエラーがあっても示されないため、データの損失に気付かない可能性もあります。0の設定は、下位互換性のために必要な場合にのみ使用してください。
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性はTimesTen Classicでサポートされています。
この属性はTimesTen Scaleoutでサポートされています。
設定
TTC_RollbackRequiredOnFailoverは次のように設定します。
| 属性の設定場所 | 属性の表示 | 設定 |
|---|---|---|
CまたはJavaプログラム、あるいはUNIXおよびLinuxシステムのTimesTen Classicのodbc.iniファイル、またはTimesTen Scaleoutのデータベース定義(.dbdef)ファイル |
TTC_RollbackRequiredOnFailover |
1 (デフォルト) - ロールバックが必要です
0 - ロールバックは必要ありません |
| Windows ODBCデータソース・アドミニストレータ | 「Oracle TimesTen Client DSN Setup」ダイアログ・ボックスの「Rollback required on failover」フィールド。 | 1 (デフォルト) - ロールバックが必要です
0 - ロールバックは必要ありません |
TimesTen ClientおよびServerを使用してTimesTenデータベースに接続する場合、TimesTen ClientにはTimesTen Serverを実行しているコンピュータのネットワーク・アドレスとTCPポート番号の指定が必要です。指定するネットワーク・アドレスは、ドメイン・ネーム・サーバー(DNS)、ホスト名またはIPアドレスです。
TimesTen Serverがデフォルト以外のポート番号をリスニングしている場合は、次のいずれかの方法でポート番号を指定する必要があります。
次を使用して、TTC_Server接続属性内のポート番号を指定できます。
TTC_SERVER=server_host_name/server_port;
ODBC接続文字列でポート番号を指定できます。
"TTC_SERVER=server_host_name;TTC_SERVER_DSN=Server_DSN; TCP_PORT=server_port"
または:
"DSN=Client_DSN;TCP_Port=server_port"
TimesTen Classicを使用する場合、ttconnect.iniファイルの論理サーバー定義内でポート番号を指定できます。
詳細は、TCP_Portを参照してください。
次の点に注意してください。
TimesTen Scaleout: TimesTen ScaleoutにはTTC_ServerまたはTTC_Server1のいずれかを使用できます。TTC_Server接続属性を定義する場合、値は初期接続にのみ使用されます。
TimesTen Classic: ttconnect.iniファイルにネットワーク・アドレスとポート番号のペアを含むTimesTen Classicを使用して、TTC_Server属性の論理サーバー名を指定できます。ttconnect.iniファイルで論理サーバー名を定義したら、その名前をクライアントDSN定義のTTC_Server属性の値として使用できます。複数のクライアントDSNがTimesTen Serverを実行している同じコンピュータを参照する場合、それぞれのクライアントDSNで同じネットワーク・アドレスおよびポート番号を繰り返し指定するかわりに、TTC_Server属性の値として同じ論理サーバー名を使用できます。詳細は、Oracle TimesTen In-Memory Databaseオペレーション・ガイドのLinuxおよびUNIXでの論理サーバー名の作成と構成に関する項を参照してください。
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性はTimesTen Classicでサポートされています。
この属性はTimesTen Scaleoutでサポートされています。
設定
TTC_ServerまたはTTC_Server1は次のように設定します。
| 属性の設定場所 | 属性の表示 | 設定 |
|---|---|---|
CまたはJavaプログラム、あるいはUNIXおよびLinuxシステムのTimesTen Classicのodbc.iniファイル、またはTimesTen Scaleoutのデータベース定義(.dbdef)ファイル |
TTC_Server、TTC_Server1 |
論理サーバーを指定する文字列です。 |
| Windows ODBCデータソース・アドミニストレータ | 「Oracle TimesTen Client DSN Setup」ダイアログの「Server Name or Network Address」フィールド。 | 論理サーバーを指定する文字列です。 |
TimesTen Classicの場合、この属性には、自動フェイルオーバーが発生したときに使用する論理サーバー名を指定します。この属性および関連する属性の値設定の詳細は、「TTC_ServerまたはTTC_Server1」を参照してください。
TimesTen Classicでアクティブ・スタンバイ・ペアのレプリケーション・スキームとともに自動クライアント・フェイルオーバーを使用する場合は、TTC_Server2のみを定義できます。その後、クライアントは、接続が成功するか、TTC_TIMEOUT属性が期限切れになるまで、TTC_ServerとTTC_Server2への接続を交互に試行します。
他のタイプの自動クライアント・フェイルオーバーの場合は、TTC_ServerN接続属性(N >= 2)でフェイルオーバー・サーバーのリストを指定できます。TimesTenは、TTC_Server2、TTC_Server3、TTC_Server4などとして構成された、指定されたフェイルオーバー・サーバーのこのリストを必要に応じて繰り返し実行できます。クライアントが指定できるサーバーの最大数は999です。
TTC_ServerN、TTC_Server_DSNNおよびTCP_PortNに未指定の値は、TTC_Server (すなわち、TTC_Server1)、TTC_Server_DSN (またはTTC_Server_DSN1)およびTCP_PORT (またはTCP_PORT1)の値をそれぞれ継承します。たとえば、TTC_Server2を指定して、TTC_Server_DSN2とTCP_Port2を指定しない場合、TTC_Server_DSN2はTTC_Server_DSN値に設定され、TCP_Port2はTCP_Port値に設定されます。
フェイルオーバー・サーバーは連続的に構成する必要があります。フェイルオーバー・サーバーを構成する際に番号をスキップすると、TimesTenでは欠落している定義が自動的に作成され、TTC_Serverで識別されるサーバーに割り当てられます。この場合、クライアントが同じサーバーに複数回フェイルオーバーされる場合があります。
クライアント・フェイルオーバーにアクティブ・スタンバイ・ペアのレプリケーション・スキームを使用すると、TTC_ServerまたはTTC_Server1およびTTC_Server2接続属性は、仮想IPアドレスの場合と同じ設定になる可能性があります。仮想IPアドレスは異なるホストに動的に移動できるため、両方の接続属性が同じ定義を持つことができますが、異なるデータベースを参照することもできます。
自動クライアント・フェイルオーバーの詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』の自動クライアント・フェイルオーバーの使用に関する説明を参照してください。
TimesTen ScaleoutおよびTimesTen Classicでの使用
これらの属性はTimesTen Classicでサポートされています。
これらの属性はTimesTen Scaleoutでサポートされています。
設定
TTC_Server2またはTTC_ServerNは次のように設定します。
| 属性の設定場所 | 属性の表示 | 設定 |
|---|---|---|
CまたはJavaプログラム、あるいはUNIXおよびLinuxシステムのTimesTen Classicのodbc.iniファイル、またはTimesTen Scaleoutのデータベース定義(.dbdef)ファイル |
TTC_Server2、TTC_ServerN |
自動フェイルオーバーが発生したときに使用される論理サーバーを指定する文字列です。 |
| Windows ODBCデータソース・アドミニストレータ | 「Oracle TimesTen Client DSN Setup」ダイアログの「Failover Server Name or Network Address」フィールドでは、TTC_Server2接続属性を構成します。 |
自動フェイルオーバーが発生したときに使用される論理サーバーを指定する文字列です。 |
TTC_Server_DSN属性は、TimesTen Serverを実行しているコンピュータのサーバーDSNを指定します。
この項の詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のTimesTenクライアント・システムでのクライアントDSNの作成に関する項を参照してください。
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性はTimesTen Classicでサポートされています。
この属性はTimesTen Scaleoutでサポートされています。
設定
TTC_Server_DSNは次のように設定します。
| 属性の設定場所 | 属性の表示 | 設定 |
|---|---|---|
CまたはJavaプログラム、あるいはUNIXおよびLinuxシステムのTimesTen Classicのodbc.iniファイル、またはTimesTen Scaleoutのデータベース定義(.dbdef)ファイル |
TTC_Server_DSN |
サーバー上に存在するDSNを指定する文字列です。 |
| Windows ODBCデータソース・アドミニストレータ | 「Oracle TimesTen Client DSN Setup」ダイアログの「Server DSN」フィールド。 | サーバー上に存在するDSNを指定する文字列です。 |
TimesTen Classicの場合、この属性はTimesTen Serverを実行しているコンピュータのサーバーDSNを指定します。(これは、TimesTen Scaleoutには必要ありません。)自動フェイルオーバーが発生したときに使用されるサーバーDSNです。この属性および関連する属性の値設定の詳細は、TTC_Server_DSNの説明を参照してください。
フェイルオーバーが発生した場合、クライアントがTTC_Server_DSNに接続できないか、DSNへの接続が失われると、クライアントはTTC_Server_DSN2またはTTC_Server_DSNnへの接続を試みます。
TTC_Server_DSNnに未指定の値は、TTC_Server_DSN (またはTTC_Server_DSN1)の値を継承します。たとえば、TTC_Server2を指定して、TTC_Server_DSN2とTCP_Port2を指定しない場合、TTC_Server_DSN2はTTC_Server_DSN値に設定され、TCP_Port2はTCP_Port値に設定されます。
自動クライアント・フェイルオーバーの詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』の自動クライアント・フェイルオーバーの使用に関する説明を参照してください。
TimesTen ScaleoutおよびTimesTen Classicでの使用
これらの属性はTimesTen Classicでサポートされています。
これらの属性はTimesTen Scaleoutでサポートされています。
設定
TTC_Server_DSN2またはTTC_Server_DSNnは次のように設定します。
| 属性の設定場所 | 属性の表示 | 設定 |
|---|---|---|
CまたはJavaプログラム、またはUNIXおよびLinuxシステムのODBC.INIファイル |
TTC_Server_DSN2, TTC_Server_DSNn |
自動フェイルオーバーが発生したときに使用される、サーバー上に存在するDSNを指定する文字列です。 |
| Windows ODBCデータソース・アドミニストレータ | 「Oracle TimesTen Client DSN Setup」ダイアログの「Failover Server DSN」フィールド(TTC_Server_DSN2の場合のみ)。 |
自動フェイルオーバーが発生したときに使用される、サーバー上に存在するDSNを指定する文字列です。 |
TTC_TCP_KEEPALIVE_INTVL_MS属性では、後続のプローブ間の時間間隔(ミリ秒)を設定します。
デフォルトでは、接続に失敗した場合、TimesTen Scaleoutは別のアクティブなサーバーにクライアント接続を送信します。接続が稼働しているか、失敗したかを確認する方法の一環として、TCPソケットがチェックされます。TCP接続が開始されると、一連のタイマーが接続に関連付けられます。これらのタイマーは、TimesTen ScaleoutがいつTCPソケットをチェックして、接続が稼働しているか失敗したかを判別するかを示します。
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性はTimesTen Classicでサポートされています。
この属性はTimesTen Scaleoutでサポートされています。
設定
TTC_TCP_KEEPALIVE_INTVL_MSは次のように設定します。
| 属性の設定場所 | 属性の表示 | 設定 |
|---|---|---|
CまたはJavaプログラム、あるいはUNIXおよびLinuxシステムのTimesTen Classicのodbc.iniファイル、またはTimesTen Scaleoutのデータベース定義(.dbdef)ファイル |
TTC_TCP_KEEPALIVE_INTVL_MS |
正の整数値。デフォルトは1000です。 |
| Windows ODBCデータソース・アドミニストレータ | 「Oracle TimesTen Client DSN Setup」ダイアログの「TCP KeepAlive Interval」フィールド。 | 正の整数値。デフォルトは1000です。 |
確認応答のないプローブの送信回数がTTC_TCP_KEEPALIVE_PROBES属性に設定した数を超えると、接続が失敗したとみなされ、クライアントに通知されます。
デフォルトでは、接続に失敗した場合、TimesTen Scaleoutは別のアクティブなサーバーにクライアント接続を送信します。接続が稼働しているか、失敗したかを確認する方法の一環として、TCPソケットがチェックされます。TCP接続が開始されると、一連のタイマーが接続に関連付けられます。これらのタイマーは、TimesTen ScaleoutがいつTCPソケットをチェックして、接続が稼働しているか失敗したかを判別するかを示します。
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性はTimesTen Classicでサポートされています。
この属性はTimesTen Scaleoutでサポートされています。
設定
TTC_TCP_KEEPALIVE_PROBESは次のように設定します。
| 属性の設定場所 | 属性の表示 | 設定 |
|---|---|---|
CまたはJavaプログラム、あるいはUNIXおよびLinuxシステムのTimesTen Classicのodbc.iniファイル、またはTimesTen Scaleoutのデータベース定義(.dbdef)ファイル |
TTC_TCP_KEEPALIVE_PROBES |
正の整数値。デフォルトは2です。 |
| Windows ODBCデータソース・アドミニストレータ | 「Oracle TimesTen Client DSN Setup」ダイアログの「TCP KeepAlive Probes」フィールド。 | 正の整数値。デフォルトは2です。 |
TTC_TCP_KEEPALIVE_TIME_MS属性では、最後のデータ・パケットが送信されてから最初のプローブまでの期間(ミリ秒)を設定します。
デフォルトでは、接続に失敗した場合、TimesTen Scaleoutは別のアクティブなサーバーにクライアント接続を送信します。接続が稼働しているか、失敗したかを確認する方法の一環として、TCPソケットがチェックされます。TCP接続が開始されると、一連のタイマーが接続に関連付けられます。これらのタイマーは、TimesTen ScaleoutがいつTCPソケットをチェックして、接続が稼働しているか失敗したかを判別するかを示します。
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性はTimesTen Classicでサポートされています。
この属性はTimesTen Scaleoutでサポートされています。
設定
TTC_TCP_KEEPALIVE_TIME_MSは次のように設定します。
| 属性の設定場所 | 属性の表示 | 設定 |
|---|---|---|
CまたはJavaプログラム、あるいはUNIXおよびLinuxシステムのTimesTen Classicのodbc.iniファイル、またはTimesTen Scaleoutのデータベース定義(.dbdef)ファイル |
TTC_TCP_KEEPALIVE_TIME_MS |
正の整数値。デフォルトは1000です。 |
| Windows ODBCデータソース・アドミニストレータ | 「Oracle TimesTen Client DSN Setup」ダイアログの「TCP KeepAlive Time」フィールド。 | 正の整数値。デフォルトは1000です。 |
TTC_Timeout属性は、TimesTen ClientおよびServerの使用によって完了するネットワーク処理に対して、最大時間制限を秒単位で設定します。また、TTC_Timeout属性では、タイムアウトする前にTimesTen Clientアプリケーションがそれに対応するTimesTen Serverプロセスの結果を待機する最大の秒数も指定します。たとえば、クライアント・アプリケーションが長い問合せを実行する場合には、タイムアウト時間を増やすことができます。
クライアント/サーバー接続のクライアント側でのオペレーティング・システムselect()コールでは、TTC_Timeoutの値が使用されます。SQLExecute()関数およびOCIStmtExecute()関数はそうではありません。
0の値はクライアント/サーバー処理がタイムアウトしないことを示します。この属性を設定しない場合、デフォルトのタイムアウト時間は60秒です。最大のタイムアウト時間は99,999秒です。タイムアウトになると、操作は中断し、クライアント・アプリケーションはタイムアウト・エラーを受信し、接続は終了し、ソケットはクローズします(SQLDisconnectへのコールはありません)。
アクティブ・スタンバイ・ペアのフェイルオーバー・シナリオの場合、最小値は60秒です。
タイムアウト値は、接続が確立された後にttIsql clienttimeoutコマンドをコールすることによって設定できます。データベースへの接続を確立した後で問合せのタイムアウトが設定された場合、ネットワークのタイムアウト値が0よりも大きく、問合せのタイムアウト値がネットワークのタイムアウト値以上であるとき、クライアント・ドライバはエラーを返します。SQLStateはS1000に設定されます。
クライアント/サーバーのプロセス間通信に共有メモリーが使用されている場合、この属性はサポートされません(設定は無視されます)。
TTC_Timeout、SQLQueryTimeout、PLSQL_TIMEOUTの間の関係の詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のSQLおよびPL/SQLタイムアウト値の選択に関する説明を参照してください。
TTC_Timeoutは、TTC_ConnectTimeoutによる接続および切断のリクエストによって上書きされることがあります。TTC_ConnectTimeoutを参照してください。
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性はTimesTen Classicでサポートされています。
この属性はTimesTen Scaleoutでサポートされています。
設定
TTC_Timeoutは次のように設定します。
| 属性の設定場所 | 属性の表示 | 設定 |
|---|---|---|
CまたはJavaプログラム、あるいはUNIXおよびLinuxシステムのTimesTen Classicのodbc.iniファイル、またはTimesTen Scaleoutのデータベース定義(.dbdef)ファイル |
TTC_Timeout |
タイムアウト前にTimesTen Clientが操作の完了を待機する秒数を表す、0から99999までの値です。(デフォルト値は60です。)アクティブ・スタンバイ・ペアのフェイルオーバー・シナリオでの最小値は60です。 |
| Windows ODBCデータソース・アドミニストレータ | 「Oracle TimesTen Client DSN Setup」ダイアログの「Network Timeout」フィールド。 | タイムアウト前にTimesTen Clientが操作の完了を待機する秒数を表す、0から99999までの値です。(デフォルト値は60です。)アクティブ・スタンバイ・ペアのフェイルオーバー・シナリオでの最小値は60です。 |
Wallet属性は、生成した証明書を配置した完全修飾ディレクトリ・パス名を指定します(クライアントと同じディレクトリ・パスを使用することをお薦めします)。デフォルトの場所はありません。相対パスを指定する場合、timesten_home/infoディレクトリに対する相対パスになります。
この属性は、クライアントとサーバーの両方に対して設定する必要があります。クライアントとサーバーの両方に同じパスを設定する必要があります。
詳細は、Oracle TimesTen In-Memory Databaseセキュリティ・ガイドのクライアント/サーバーのTLSの構成に関する項を参照してください。
サーバー接続属性は、サーバーDSNのみで指定され、初期接続時に読み取られます。Oracle TimesTen In-Memory Databaseオペレーション・ガイドのLinuxまたはUNIXシステムにおけるTimesTen Server用のサーバーDSNの定義に関する項を参照してください。これらの属性を使用して、TimesTenサーバーへの接続数、各DSNに対するサーバー数およびサーバーへのそれぞれの接続のサイズを設定します。これらの属性を使用すると、1つのサーバーに対して複数のクライアント接続を指定できます。デフォルトでは、TimesTenは、1つのサーバーに対する接続を子プロセスごとに1つのみ作成します。
|
ノート: これらの属性はDSNで指定する必要があります。接続文字列で指定しても、属性とその値は無視されます。 |
複数のサーバー接続を指定できるTimesTenメイン・デーモン・オプションもあります。デーモン・オプションとこれらの属性の両方が指定されている場合、属性の値が優先されます。
この項では、表2-11「TimesTen Server接続属性」に示したサーバー接続属性について説明します。
CipherSuites属性は、クライアント設定に応じて、使用できる暗号スイートをリストします。SSL_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256またはSSL_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384、あるいはその両方をカンマ区切りで望ましい順に指定します。デフォルト設定はありません。
この属性は、クライアントとサーバーの両方に対して設定する必要があります。TLSを使用するには、サーバーおよびクライアント設定に1つ以上の共通スイートが含まれている必要があります。
詳細は、Oracle TimesTen In-Memory Databaseセキュリティ・ガイドのクライアント/サーバーのTLSの構成に関する項を参照してください。
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性はTimesTen Classicでサポートされています。
この属性は、TimesTen Scaleoutではサポートされていません。
設定
CipherSuitesは次のように設定します。
| 属性の設定場所 | 属性の表示 | 設定 |
|---|---|---|
CまたはJavaプログラム、あるいはUNIXおよびLinuxシステムのTimesTen Classicのodbc.iniファイル |
CipherSuites | SSL_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256、SSL_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384、あるいはその両方をカンマ区切りで望ましい順に指定します。 |
| Windows ODBCデータソース・アドミニストレータ | 「Oracle TimesTen Client DSN Setup」ダイアログの「Encryption」フィールド。 | SSL_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256、SSL_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384、あるいはその両方をカンマ区切りで望ましい順に指定します。 |
Encryption属性は、クライアント・サーバー接続で暗号化を必須にするかどうかを指定します。
この属性は、クライアントとサーバーの両方に対して設定する必要があります。暗号の設定は、ほとんどの場合、クライアントとサーバーの両方で同じである必要があります。
詳細は、Oracle TimesTen In-Memory Databaseセキュリティ・ガイドのクライアント/サーバーのTLSの構成に関する項を参照してください。
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性はTimesTen Classicでサポートされています。
この属性は、TimesTen Scaleoutではサポートされていません。
設定
Encryptionは次のように設定します。
| 属性の設定場所 | 属性の表示 | 設定 |
|---|---|---|
CまたはJavaプログラム、あるいはUNIXおよびLinuxシステムのTimesTen Classicのodbc.iniファイル |
Encryption |
|
| Windows ODBCデータソース・アドミニストレータ | 「Oracle TimesTen Client DSN Setup」ダイアログの「Encryption」フィールド。 |
|
SSLClientAuthentication属性は、SSLクライアント認証が必要(1の設定)であるか不要(デフォルトの0の設定)であるかを指定します。クライアント認証を使用する場合、サーバーはクライアントから提示されたアイデンティティを検証し、クライアント・ウォレット内のアイデンティティ(公開キーまたは秘密キー)を要求します。
クライアント認証の設定にかかわらず、サーバー認証が実行され、クライアントがサーバーを検証します。
この属性は、クライアントとサーバーの両方に対して設定する必要があります。クライアント認証の設定にかかわらず、サーバー認証が実行され、クライアントがサーバーを検証します。
詳細は、Oracle TimesTen In-Memory Databaseセキュリティ・ガイドのクライアント/サーバーのTLSの構成に関する項を参照してください。
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性はTimesTen Classicでサポートされています。
この属性は、TimesTen Scaleoutではサポートされていません。
設定
SSLClientAuthenticationは次のように設定します。
| 属性の設定場所 | 属性の表示 | 設定 |
|---|---|---|
CまたはJavaプログラム、あるいはUNIXおよびLinuxシステムのTimesTen Classicのodbc.iniファイル |
SSLClientAuthentication |
1: クライアント認証が必要です
|
| Windows ODBCデータソース・アドミニストレータ | 「Oracle TimesTen Client DSN Setup」ダイアログの「SSL Client Authentication」フィールド。 | 1: クライアント認証が必要です
|
MaxConnsPerServer属性は、DSNが参照するサーバーへの最大同時接続数を設定します。
サーバーへの多くの接続をサポートするには、TimesTenを実行しているUIDのプロセス当たりのファイル記述子制限に、アクティブな同時子サーバー数を多少超える値を設定する必要があります。これは、予測される同時クライアント接続数をMaxConnsPerServerで割った値です。MaxConnsPerServerの詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のData Manager DSNまたはサーバーDSNの接続属性に関する項を参照してください。
この属性の値は、timesten.confファイルのmax_conns_per_server属性の値の設定よりも優先されます。詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のTimesTen Serverに対する複数の接続の指定に関する説明を参照してください。
TimesTenデータベースへの最大接続数に対するシステム制限の詳細は、第6章「システム制限」を参照してください。
TimesTen Serverを再起動するまで、TimesTen Serverの設定変更は有効になりません。サーバーを再起動するには、ttDaemonAdmin -restartserverコマンドを使用します。
ServersPerDSN属性は、ラウンドロビン接続分散を使用する特定のサーバーDSNの子サーバー・プロセスの数を指定します。
この属性は、TimesTenサーバーがマルチスレッド・モードで動作するように構成されている(MaxConnsPerServer 1)場合にのみ効果があります。ServersPerDSNが1に設定されている場合、サーバーDSNへの最初のMaxConnsPerServerクライアント接続は1つの子サーバー・プロセスに割り当てられ、次のMaxConnsPerServer接続は2番目の子サーバー・プロセスに割り当てられます(以下同様)。詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のData Manager DSNまたはサーバーDSNの接続属性に関する項を参照してください。
この属性の値は、timesten.confファイルのservers_per_dsn属性の値の設定よりも優先されます。詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のTimesTen Serverに対する複数の接続の指定に関する説明を参照してください。
TimesTen Serverを再起動するまで、TimesTen Serverの設定変更は有効になりません。サーバーを再起動するには、ttDaemonAdmin -restartserverコマンドを使用します。
ServerStackSize属性の値は、サーバーでの各接続のスタック・サイズを決定します。この属性の値は、MaxConnsPerServerの値が1よりも大きい場合にのみ意味を持ちます。サーバーごとの接続が1つのみである場合、子サーバーはプロセスのメイン・スタックを使用します。これは、またプラットフォームに依存せず、次の設定で定義されます。
通常、ServerStackSize属性を設定する必要はありません。ただし、ttcserverプロセスでアクセス違反(Windows)またはコア・ダンプ(LinuxおよびUNIX)が繰返し発生する場合は、ServerStackSize属性を1024 KB以上に増やすことを検討できます。
この属性の値は、timesten.confファイルのserver_stack_size属性の設定よりも優先されます。詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のTimesTen Serverに対する複数の接続の指定に関する説明を参照してください。
TimesTen Serverを再起動するまで、TimesTen Serverの設定変更は有効になりません。サーバーを再起動するには、ttDaemonAdmin -restartserverコマンドを使用します。
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性はTimesTen Classicでサポートされています。
この属性はTimesTen Scaleoutでサポートされています。
設定
ServerStackSizeは次のように設定します。
| 属性の設定場所 | 属性の表示 | 設定 |
|---|---|---|
CまたはJavaプログラム、あるいはUNIXおよびLinuxシステムのTimesTen Classicのodbc.iniファイル、またはTimesTen Scaleoutのデータベース定義(.dbdef)ファイル |
ServerStackSize |
有効な値はプラットフォームに依存します。デフォルトは768 KBです。
その他の場合、最小値は0です。 |
| Windows ODBCデータソース・アドミニストレータ | 該当なし |
SSLRenegotiationPeriod属性は、セッションの再ネゴシエーションが実行されるまでの期間を分単位で指定します。デフォルト設定は0で、期間に基づく再ネゴシエーションは行われません。
TimesTen Serverを再起動するまで、TimesTen Serverの設定変更は有効になりません。サーバーを再起動するには、ttDaemonAdmin -restartserverコマンドを使用します。
SSLRenegotiationSizeとSSLRenegotiationPeriodの両方がゼロ以外の値に設定されている場合は、どちらか先に発生した設定によって再ネゴシエーションが行われます。
詳細は、Oracle TimesTen In-Memory Databaseセキュリティ・ガイドのクライアント/サーバーのTLSの構成に関する項を参照してください。
SSLRenegotiationSize属性は、セッションの再ネゴシエーションが実行されるまでに、クライアントとサーバー間のいずれかの方向で行われるデータ転送のMB数を指定します。デフォルト設定は0で、転送されたMB数に基づく再ネゴシエーションは行われません。
TimesTen Serverを再起動するまで、TimesTen Serverの設定変更は有効になりません。サーバーを再起動するには、ttDaemonAdmin -restartserverコマンドを使用します。
SSLRenegotiationSizeとSSLRenegotiationPeriodの両方がゼロ以外の値に設定されている場合は、どちらか先に発生した設定によって再ネゴシエーションが行われます。
詳細は、Oracle TimesTen In-Memory Databaseセキュリティ・ガイドのクライアント/サーバーのTLSの構成に関する項を参照してください。
Wallet属性は、生成した証明書を配置した完全修飾ディレクトリ・パス名を指定します(クライアントと同じディレクトリ・パスを使用することをお薦めします)。デフォルトの場所はありません。相対パスを指定する場合、timesten_home/infoディレクトリに対する相対パスになります。
この属性は、クライアントとサーバーの両方に対して設定する必要があります。クライアントとサーバーの両方に同じパスを設定する必要があります。
詳細は、Oracle TimesTen In-Memory Databaseセキュリティ・ガイドのクライアント/サーバーのTLSの構成に関する項を参照してください。