ヘッダーをスキップ
Oracle TimesTen In-Memory Databaseオペレーション・ガイド
リリース7.0
E05167-03
  目次へ
目次
索引へ
索引

前へ
前へ
次へ
次へ
 

トランザクションの処理

ttIsqlユーティリティには、トランザクションを管理するためのいくつかの組込みコマンドが用意されています。次に、これらのコマンドの概要を示します。

デフォルトでは、ttIsqlを起動すると、自動コミット機能が有効になります。このモードでは、データ・ストアに対するすべてのSQL操作が自動的にコミットされます。自動コミット機能を無効にするには、引数0を指定してttIsqlの組込みコマンドautocommitを実行します。

自動コミットが無効になっている場合は、ttIsqlのcommitコマンド、commitdurableコマンド、またはrollbackコマンドを実行して、トランザクションを手動でコミットまたはロールバックする必要があります。commitdurableコマンドを実行すると、データ・ストア障害が発生した場合でも、トランザクションの結果が保持されます。

isolationコマンドを使用すると、現行の接続のトランザクション独立性プロパティを変更できます。独立性は、トランザクションの開始時にのみ変更できます。isolationコマンドには、READ_COMMITTEDまたはSERIALIZABLEのいずれかを定数として指定できます。isolationコマンドを引数を指定しないで実行すると、現在の分離レベルがレポートされます。

sqlquerytimeoutコマンドでは、SQL文のタイムアウト間隔を設定します。SQL文の実行時間がsqlquerytimeoutで設定した秒数を超えると、SQL文は実行されず、6111エラーが生成されます。詳細は、『Oracle TimesTen In-Memory Database Java開発者およびリファレンス・ガイド』のSQL文を実行する場合のタイムアウト値の設定に関する説明、および『Oracle TimesTen In-Memory Database C開発者およびリファレンス・ガイド』のSQL文を実行する場合のタイムアウト値の設定に関する説明を参照してください。


注意: TimesTenのロールバック機能および問合せタイムアウト機能を使用しても、Oracleで処理中のキャッシュ接続操作が停止されることはありません。このような操作には、PassThrough文、フラッシング、手動ロード、手動リフレッシュ、同期WRITETHROUGH、伝播および透過的ロードが含まれます。

次に、ttIsqlの組込みトランザクション管理コマンドの一般的な使用例を示します。

例5.14

E:\>ttIsql

ttIsql (c) 1996-2006, Oracle.  All rights reserved.

Type ? or "help" for help, type "exit" to quit ttIsql.

All commands must end with a semicolon character.

Command> connect "DSN=MY_DSN";

Connection successful: DSN=MY_DSN;DataStore=E:\ds\MY_DSN;DRIVER=E:\WINNT\System32\
TTdv70.dll;

(Default setting AutoCommit=1)

Command> autocommit 0;

Command> CREATE TABLE LOOKUP (KEY NUMBER NOT NULL PRIMARY KEY, VALUE CHAR (64));

Command> commit;

Command> INSERT INTO LOOKUP VALUES (1, 'ABC');

1 row inserted.

Command> SELECT * FROM LOOKUP;

< 1, ABC                                                               >

1 row found.

Command> rollback;

Command> SELECT * FROM LOOKUP;

0 rows found.

Command> isolation;

isolation = READ_COMMITTED

Command> commitdurable;

Command> sqlquerytimeout 10;

Command> sqlquerytimeout;

Query timeout = 10 seconds

Command> disconnect;

Disconnecting...

Command> exit;

Done.

E:\>