Isolation

デフォルトでは、TimesTenでは、コミット読取り分離が使用されます。Isolation属性では、接続トランザクションの初期分離レベルを指定します。分離レベルの詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』「分離およびロックによる並行性制御」を参照してください。

この値は、ALTER SESSION文(『Oracle TimesTen In-Memory Database SQLリファレンス』を参照)を使用して変更できます。例:

ALTER SESSION SET ISOLATION_LEVEL=serializable;

CREATE CACHE GROUPALTER CACHE GROUPおよびDROP CACHE GROUP文は、シリアライズ可能分離モードでサポートされません。

パススルーまたは伝播キャッシュ機能が使用されている場合、TimesTenの分離レベルの設定はOracleセッションに継承されます。TimesTenのシリアライズ可能なモードは、Oracleのシリアライズ可能なモードにマップされます。TimesTenのコミット読取りモードは、Oracleのコミット読取りモードにマップされます。PassThrough属性の詳細は、「PassThrough」を参照してください。

PassThroughを3に設定した場合は、ALTER SESSION文を使用してOracle Database接続時の分離レベルを永続的に変更する必要があります。たとえば、DSN repdb1_221に接続するには、次のように実行します。

  1. ttIsqlをコールし、DSNPassThroughレベル3で接続します。

    % ttIsql;
    Command> connect "dsn=repdb1_221;passthrough=3";
    Connection successful:. . .PassThrough=3;
    <default setting Autocommit=1>
    
  2. AutoCommitを無効にします:

    Command> autocommit=0;
    
  3. PassThroughを一時的に0に変更します。

    Command> passthrough=0;
  4. 分離レベルをシリアライズ可能に変更します。

    Command> prepare 1 ALTER SESSION SET ISOLATION_LEVEL=serializable;
             commit;
             exec=1;

必要な権限

この属性の値の変更に権限は必要ありません。

TimesTen ScaleoutおよびTimesTen Classicでの使用

この属性はTimesTen Classicでサポートされています。

TimesTen Scaleoutでは、Isolation=1のみがサポートされています。

設定

Isolationは次のように設定します。

属性の設定場所 属性の表示 設定

CまたはJavaプログラム、あるいはUNIXおよびLinuxシステムのTimesTen Classicのodbc.iniファイル、またはTimesTen Scaleoutのデータベース定義(.dbdef)ファイル

Isolation

0 - シリアライズ可能な分離モードでデータベースに接続します。

1 (デフォルト) - コミット読取りモードでデータベースに接続します。

Windows ODBCデータソース・アドミニストレータ

該当なし