ヘッダーをスキップ
Oracle® TimesTen In-Memory Databaseリファレンス
11gリリース2 (11.2.2)
B66447-09
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

2 組込みプロシージャ

TimesTen組込みプロシージャによって、標準のODBCおよびJDBC機能が拡張されます。これらのプロシージャは、ODBCまたはJDBCのプロシージャ・コール・インタフェースを使用してコールできます。プロシージャは、次の例に示すとおり、SQL文と同様に実行されます。

次のODBCのSQLExecDirectコールはttOpsSetFlag組込みプロシージャを起動し、オプティマイザに対して、コマンドを準備するときに一時ハッシュ索引を作成しないように指示します。

SQLExecDirect (hstmt, (SQLCHAR*)
       "{CALL ttOptSetFlag ('TmpHash', 0)}", SQL_NTS);

このコールは、次のJDBCコールと同等です。

CallableStatement cstmt = con.prepareCall 
          ("{CALL ttOptSetFlag ('TmpHash', 0)}");
cstmt.execute();

TimesTen組込みプロシージャは、次の例に示すとおり、CALLとともにEXECUTE IMMEDIATE文を使用してPL/SQLからコールすることもできます。この文の詳細は、『Oracle TimesTen In-Memory Database PL/SQL開発者ガイド』を参照してください。

たとえば、組込みプロシージャttConfigurationをコールするには、PL/SQLレコード型を作成した後、SELECT INTOを実行してそのレコード型に値を入れます。ttConfigurationでは複数の行が返されるため、BULK COLLECTを使用します。

Command> DECLARE
       >   TYPE ttConfig_record IS RECORD
       >      (name varchar2(255), value varchar2 (255));
       >   TYPE ttConfig_table IS TABLE OF ttConfig_record;
       > v_ttConfigs ttConfig_table;
       > BEGIN
       >  EXECUTE IMMEDIATE  'CALL ttConfiguration'
       >   BULK COLLECT into v_ttConfigs;
       >  DBMS_OUTPUT.PUT_LINE ('Name: ' || v_ttConfigs(1).name
       >    || ' Value: ' || v_ttConfigs(1).value);
       > end;
       > /
Name: CacheGridEnable Value: 0
 
PL/SQL procedure successfully completed.

注意:

組込みプロシージャの文字列パラメータ値は、値がNULLである場合を除き、この例で示すように一重引用符で囲む必要があります。

ttAgingLRUConfig

説明

このプロシージャは、Least Recently Used(LRU)エージング・ポリシーを指定して定義されたすべての通常の表にLRUエージング属性を設定します。キャッシュ表の場合、エージング・ポリシーはルート表に定義されますが、キャッシュ・グループのすべての表に適用されます。エージング・ポリシーは、CREATE TABLEまたはALTER TABLE SQL文を使用して、エージング・ポリシーが作成または変更されるときに表に定義されます。

LRUエージング機能を使用すると、使用頻度が最も少ないデータを削除して、指定したしきい値以下にデータベースの使用サイズを保持できます。

使用中のデータベース領域が指定されているしきい値を超えると、データが削除されます。キャッシュ・グループの場合、エージングはキャッシュ・インスタンス全体のルート表で定義されます。AUTOREFRESH属性が指定されていると、キャッシュ・グループが動的である場合を除いて、キャッシュ・グループにLRUエージングを指定できません。AUTOREFRESH属性を指定したキャッシュ・グループが明示的にロードされている場合は、時間ベース・エージングを使用してください。

必要な権限

このプロシージャには、現在の値を問い合せるための権限は必要ありません。現在の値を変更するには、ADMIN権限が必要です。

構文

ttAgingLRUConfig([LowUsageThreshHold],
[HighUsageThreshHold], [AgingCycle])

パラメータ

ttAgingLRUConfigには、次のオプションのパラメータがあります。

パラメータ データ型 説明
lowUsageThreshold BINARY_FLOAT データベースのPermSize割合の下限値を設定、表示またはリセットします(小数で指定)。これはしきい値範囲の最小値であり、この値を下回るとLRUエージングが停止します。デフォルトは80%です。
highUsageThreshold BINARY_FLOAT データベースのPermSize割合の上限値を設定、表示またはリセットします(小数で指定)。これはしきい値範囲の最大値であり、この値を上回るとLRUエージングがアクティブになります。デフォルトは90%です。
agingCycle TT_INTEGER エージングが実行されるサイクル間隔(分単位)を設定、表示またはリセットします。デフォルトは1分です。このプロシージャを使用してエージングのサイクル間隔を変更すると、サイクルは、このプロシージャがコールされる時間に基づいてリセットされます。たとえば、このプロシージャを午後12時にコールし、15分のサイクルを指定すると、エージングは、12時15分、12時30分、12時45分というように実行されます。

サイクルが値0に設定されると、エージングは1秒に一度実行されます。


結果セット

ttAgingLRUConfigは次の結果を返します。

データ型 説明
lowUsageThreshold BINARY_FLOAT NOT NULL データベースのPermSize割合の下限値に関する現在の設定(小数)。
highUsageThreshold BINARY_FLOAT NOT NULL データベースのPermSize割合の上限値に関する現在の設定(小数)。
agingCycle TT_INTEGERNOT NULL エージング・サイクル間の時間に関する現在の設定(分単位)。

エージングしきい値の下限を75%、上限を95%、エージング・サイクル間隔を5分に設定するには、次のように実行します。

CALL ttAgingLRUConfig (.75, .90, 5);
<.7500000, .9000000, 5>

LRUエージング・ポリシーを指定して定義したすべての表の現在のLRUエージング・ポリシーを表示するには、パラメータなしでttAgingLRUConfigをコールします。

Call ttAgingLRUConfig();

表がデフォルトのしきい値およびエージング・サイクルで定義される場合、プロシージャは次の結果を返します。

<.8000000, .9000000, 1>
1 row found.

しきい値の下限を60%、エージング・サイクルを5分に変更し、しきい値の上限は変更しない場合は、次のようにします。

Call ttAgingLRUConfig (60,,5);
< .6000000, .9000000, 5 >
1 row found.

注意

このプロシージャの値は、システム障害が発生した後でも維持されます。

パラメータを指定せずにこのプロシージャをコールすると、現在のLRUエージング属性設定が返されます。

関連項目


ttAgingScheduleNow
『Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイド』

ttAgingScheduleNow

説明

このプロシージャは、エージング・サイクルの値にかかわらずエージング・プロセスを開始します。進行中のエージング・プロセスが存在しないかぎり、プロシージャがコールされた直後にエージング・プロセスが開始されます。その場合、組込みプロシージャをコールしたときに進行中だったエージング・プロセスが完了すると、新しいエージング・プロセスが開始されます。

このプロシージャをコールすると、エージングは1回だけ行われます。このプロシージャではエージング属性は変更されません。以前のエージングの状態はそのままです。たとえば、ttAgingScheduleNowをコールしたときにエージングの状態がOFFの場合、エージング・プロセスが開始されます。エージングが完了したときに、エージングの状態がOFFの場合、エージングは続行されません。エージングを続行するには、エージング・サイクルの値に基づいて次にエージングが行われるように、ttAgingScheduleNowを再度コールするか、エージングの状態をONに変更する必要があります。

エージングがONになっている表の場合は、ttAgingScheduleNowがコールされた時点にエージング・サイクルがリセットされます。たとえば、午後12時にこのプロシージャをコールし、15分のエージング・サイクルを指定すると、エージングは、すぐに実行された後、12時15分、12時30分、12時45分というように再度実行されます。

このプロシージャをcronジョブなどの外部スケジューラで使用する場合や手動で実行する場合、このプロシージャは、進行中のエージング・プロセスがないときはプロシージャの実行時に、または現在のエージング・プロセスが完了するとすぐにエージング・プロセスを開始します。外部スケジューラがttAgingScheduleNowプロシージャを実行するか、または手動でコールしたときにのみエージングを行う場合は、エージングの状態をOFFに設定します。

エージングは、1秒ごとに起動して処理が必要かどうかをチェックするバックグラウンド・スレッドによって実行されます。ttAgingScheduleNowをコールしても、指定された表がエージング・スレッドによって処理されるのは次の1秒間になります。組込みプロシージャがコールされたときにエージング・スレッドが別の表を処理していた場合は、指定された表の処理が開始されるまでに多少時間がかかる可能性があります。エージング・スレッドによって削除がコミットされるまで、行は表示されています。

必要な権限

このプロシージャでは、エージングを実行する表に対するDELETE権限、または表を指定しない場合はDELETE ANY TABLE権限が必要です。

構文

ttAgingScheduleNow ('tblname')

パラメータ

ttAgingScheduleNowには、次のパラメータがあります。

パラメータ データ型 説明
tblname TT_CHAR (61) エージング・プロセスを開始する表の名前です。

tblNameを省略すると、エージング・プロセスがエージング・ポリシーで定義されたすべての表で開始されます。

表名の指定にシノニムは使用できません。


結果セット

ttAgingScheduleNowは結果を返しません。

LRUエージングおよび時間ベース・エージングの両方が定義された表を含む、すべての表でエージングをスケジュールするには、パラメータ値を指定せずにttAgingScheduleNowをコールします。

CALL ttAgingScheduleNow ();

この例では、時間ベースのエージング・ポリシーを指定し、エージングの状態をOFFに設定した表agingexを作成します。エージング・プロセスを1回起動するために、ttIsqlユーティリティを使用してttAgingScheduleNowをコールします。行は表から削除されます。ttAgingScheduleNowをコールした後も、エージングの状態はOFFのままです。エージングを続行するには、表を変更し、エージング状態をOFFに設定します。

Command> CREATE TABLE agingex (col1 TT_INTEGER PRIMARY KEY NOT NULL, 
    ts TIMESTAMP NOT NULL) 
    AGING USE ts LIFETIME 1 MINUTES CYCLE 30 MINUTES OFF;

Command> DESCRIBE agingex;

Table TTUSER.AGINGEX:
Columns:
  *COL1             TT_INTEGER NOT NULL
   TS               TIMESTAMP (6) NOT NULL
Aging use TS lifetime 1 minute cycle 30 minutes off
1 table found.
(primary key columns are indicated with *)

Command> INSERT INTO agingex VALUES (1, SYSDATE);
1 row inserted.

Command> INSERT INTO agingex VALUES (2, SYSDATE);
1 row inserted.

Command> SELECT * FROM agingex;
< 1, 2011-03-25 13:06:29.000000 >
< 2, 2011-03-25 13:06:42.000000 >
2 rows found.

Command> CALL ttAgingScheduleNow ('agingex');

Command> SELECT * FROM agingex;
0 rows found.

関連項目


ttAgingLRUConfig
『Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイド』

ttApplicationContext

説明

このプロシージャは、アプリケーション固有のデータをXLAリーダーに渡すために、次の更新レコード(UPDATEまたはコミット)に対するアプリケーション定義のコンテキストを設定します。

必要な権限

このプロシージャには、権限は必要ありません。

構文

ttApplicationContext (cmd)

パラメータ

ttApplicationContextには、次のパラメータがあります。

パラメータ データ型 説明
cmd VARBINARY(16384) NOT NULL XLAリーダーに渡されるコンテキスト情報。

結果セット

ttApplicationContextは結果を返しません。

CALL ttApplicationContext (0x123);

関連項目


『Oracle TimesTen In-Memory Database C開発者ガイド』のXLAリファレンスに関する説明

ttBackupStatus

説明

このプロシージャは、データベースの現在のバックアップまたは最後のバックアップに関する情報が含まれる単一の行を返します。バックアップが進行中の場合は、この情報は現在のバックアップのものになります。バックアップが行われていない場合は、この情報は最後に実行されたバックアップのものになります。

最後に初期接続を行った後にデータベースをバックアップしていない場合は、statusフィールドが0になり、その他の列はNULLになります。

必要な権限

このプロシージャには、ADMIN権限が必要です。

構文

ttBackupStatus ()

パラメータ

ttBackupStatusにパラメータはありません。

結果セット

ttBackupStatusは次の結果を返します。

データ型 説明
status TT_INTEGERNOT NULL バックアップの現在の進捗状況または最後のバックアップの完了状態を表すINTEGERコード。値は次のいずれかです。

0: 最後の初期接続の後、データベースで実行されたバックアップはありません。

1: バックアップは現在進行中です。

2: 最後のバックアップは正常に完了しました。

3: 最後のバックアップは失敗しました。この場合、エラー列には失敗を示すエラー・コードが含まれています。

destination TT_INTEGER 実行されたバックアップのタイプ。データベースで実行されたバックアップがない場合、値はNULLです。次のいずれかの値です。

0: ファイルへのバックアップの書込みが行われているか、行われました。

1: ストリームへのバックアップの書込みが行われているか、行われました。

2: レプリケーション複製のかわりにバックアップが実行されているか、実行されました。

backupType TT_INTEGER バックアップのタイプ(全体または増分のいずれか)。データベースで実行されたバックアップがない場合、値はNULLです。次のいずれかの値です。

0 - 増分バックアップ。

1 - 全体バックアップ。

startTime TT_TIMESTAMP バックアップを開始した時間。データベースで実行されたバックアップがない場合、値はNULLです。
endTime TT_TIMESTAMP バックアップが完了した時間。この値がNULLで、startTimeNULL以外の場合、バックアップは進行中です。
backupLFN TT_INTEGER バックアップ・ポイントのトランザクション・ログ・ファイル番号。データベースで実行されたバックアップがない場合、値はNULLです。
backupLFO TT_BIGINT バックアップ・ポイントのトランザクション・ログ・ファイルのオフセット。データベースで実行されたバックアップがない場合、値はNULLです。
error TT_INTEGER バックアップが失敗した場合、この列に失敗の理由が示されます。値は、TimesTenエラー番号のいずれかです。データベースで実行されたバックアップがない場合、値はNULLです。
processId TT_INTEGER バックアップを実行しているプロセスまたはデーモンのID(特定できる場合)。

CALL ttBackupStatus ();
< 2, 2, 1, 2005-08-12 13:10:32.587557, 
2005-08-12 13:10:33.193269, 1, 1531840, 0, 6968 >
1 row found.

注意

現在のバックアップまたは最後のバックアップ以外の以前のバックアップに関する情報は返されません。

データベースが起動または停止されると、返される情報は永続的ではなくなります。

ttBlockInfo

説明

このプロシージャは、データベース内の永続ブロックおよびブロックレベルでの断片化の量に関する情報を提供します。

必要な権限

このプロシージャには、権限は必要ありません。

構文

ttBlockInfo()

パラメータ

ttBlockInfoにパラメータはありません。

結果セット

ttBlockInfoは次の結果セットを返します。

データ型 説明
TotalBlocks TT_BIGINTNOT NULL データベースのブロックの合計数。
FreeBlocks TT_BIGINTNOT NULL データベースの空きブロックの合計数。
FreeBytes TT_BIGINTNOT NULL 空きブロックの合計サイズ。
LargestFree TT_BIGINTNOT NULL 最大の空きブロックのサイズ。

CALL ttBlockInfo();
< 288, 3, 128711700, 128698596 >
1 row found.

ttBookmark

説明

このプロシージャは、TimesTenトランザクション・ログに関する情報を返します。トランザクション・ログ内のレコードは、次の整数のペアによって識別されます。

  • トランザクション・ログ・ファイル番号。

  • そのトランザクション・ログ・ファイルのオフセット。

トランザクション・ログ・ファイル番号は、トランザクション・ログ・ファイルに指定されたファイル・システム名に対応します。たとえば、トランザクション・ログ・ファイルSalesData.log29のトランザクション・ログ・ファイル番号は29です。

ttBookmarkの結果行では、次の3つのログ・レコードが識別されます。

  • 最後に書き込まれたログ・レコードの識別。

  • 最後にディスクに書き込まれたログ・レコードの識別。

  • レプリケーション・ブックマーク。レプリケーション・ブックマークとは、更新が別のシステムへレプリケートされていないことを示す、最も古いログ・レコードのことです。

必要な権限

このプロシージャには、権限は必要ありません。

構文

ttBookmark()

パラメータ

ttBookmarkにパラメータはありません。

結果セット

ttBookmarkは次の結果セットを返します。

データ型 説明
writeLFN TT_INTEGER 最後に書き込まれたトランザクション・ログ・ファイル。
writeLFO TT_BIGINT トランザクション・ログ・ファイルに最後に書き込まれたオフセット。
forceLFN TT_INTEGER 最後にディスクに書き込まれたトランザクション・ログ・ファイル。
forceLFO TT_BIGINT 最後にディスクに書き込まれたトランザクション・ログ・ファイルのオフセット。
holdLFN TT_INTEGER レプリケーション・ブックマークのトランザクション・ログ・ファイル。
holdLFO TT_BIGINT レプリケーション・ブックマークのログのオフセット。

CALL ttBookmark ();

ttCacheAllowFlushAwtSet

説明

ttCacheAllowFlushAwtSet組込みプロシージャは、AWTキャッシュ・グループに対してFLUSH CACHE GROUP文を実行できるようにし、『Oracle TimesTen In-Memory Database開発者および管理者ガイド』のキャッシュ・グループに非同期データが存在する場合に関する項に示すように、特定のリカバリ・シナリオでのみ使用されます。

enableFlushパラメータを1に設定している場合、ttCacheAllowFlushAwtSet組込みプロシージャを実行する前にAutocommitを無効に設定します(そうしない場合、このパラメータは、組込みプロシージャの実行後、直接自動的に0にリセットします)。その後、FLUSH CACHE GROUP文を実行してttCacheAllowFlushAwtSet組込みプロシージャを実行した後にコミットを実行して、enableFlushパラメータを0にリセットします。

必要な権限

このプロシージャには、権限は必要ありません。

構文

ttCacheAllowFlushAwtSet (enableFlush)

パラメータ

ttCacheAllowFlushAwtSetには、次のパラメータがあります。

パラメータ データ型 説明
enableFlush TT_INTEGER 0: AWTキャッシュ・グループに対してFLUSH CACHE GROUP文を実行できません(これは意図した制約です)。

1 - AWTキャッシュ・グループに対してFLUSH CACHE GROUP文を実行でき、『Oracle TimesTen In-Memory Database開発者および管理者ガイド』のキャッシュ・グループに非同期データが存在する場合に関する項に示すように、リカバリでのみ実行されます。


結果セット

ttCacheAllowFlushAwtSetは結果を返しません。

次の例では、ttCacheAllowFlushAwtSet組込みプロシージャを実行して、marketbasket AWTキャッシュ・グループに対して最初にFLUSH CACHE GROUP文の実行を許可し、その後禁止する方法を示します。

Command> set autocommit off;
Command> CALL ttCacheAllowFlushAwtSet(1);
Command> FLUSH CACHE GROUP marketbasket;
Command> CALL ttCacheAllowFlushAwtSet(0);
Command> COMMIT;

関連項目


『Oracle TimesTen In-Memory Database開発者および管理者ガイド』のキャッシュ・グループに非同期データが存在する場合に関する説明を参照してください。

ttCacheAutorefIntervalStatsGet

説明

ttCacheAutorefIntervalStatsGet組込みプロシージャは、特定の自動リフレッシュ間隔の過去10回の自動リフレッシュ・サイクルについての統計情報を返します。

必要な権限

このプロシージャには、権限は必要ありません。

構文

ttCacheAutorefIntervalStatsGet (autoRefInterval, isStatic)

パラメータ

ttCacheAutorefIntervalStatsGetには、次のパラメータがあります。

パラメータ データ型 説明
autoRefInterval TT_BIGINTNOT NULL autorefreshIntervalは統計を収集するキャッシュ・グループ(この自動リフレッシュ間隔値のキャッシュ・グループ)を指定します。

自動リフレッシュ間隔(ミリ秒単位)の整数値は、自動リフレッシュの頻度を示すために自動リフレッシュ・キャッシュ・グループが作成されたときに最初に指定した値と同じ値です。

isStatic TT_INTEGER 指定された間隔の値で静的キャッシュ・グループの情報を取得するか、動的キャッシュ・グループの情報を取得するかを示します。

0 - 動的キャッシュ・グループ

1: 静的(非動的)キャッシュ・グループ

デフォルトは静的です。


結果セット

ttCacheAutorefIntervalStatsGetは、特定の自動リフレッシュ間隔の過去10回の自動リフレッシュ・サイクルについての統計情報を返します。

データ型 説明
autorefInterval TT_BIGINT 自動リフレッシュ間隔(ミリ秒)。
isStatic TT_INTEGER 指定された間隔値で静的キャッシュ・グループまたは動的キャッシュ・グループの情報を示します。

0 - 動的キャッシュ・グループ

1: 静的(非動的)キャッシュ・グループ

autorefNumber TT_BIGINT 自動リフレッシュ番号。
startTimestamp TT_TIMESTAMP 自動リフレッシュ開始時間。
selectLimit TT_BIGINT 増分自動リフレッシュ・キャッシュ・グループの行の制限セットを選択します。
numRows TT_BIGINT リフレッシュされる行数。
numOps TT_BIGINT 実行されたSQL操作数。
numCommits TT_BIGINT コミット数。
commitBufSize TT_BIGINT 最大コミット・バッファ・サイズ(バイト)。
commitBufMaxReached TT_BIGINT コミット処理に使用されたメモリー量(バイト)。
commitBufNumOverflows TT_BIGINT 各トランザクションに対してオーバーフローしたコミット・バッファの回数。
totalNumRows TT_BIGINT 自動リフレッシュ・スレッドが開始してからリフレッシュされた行数。
totalNumOps TT_BIGINT 自動リフレッシュ・スレッドが開始してからSQL操作が実行された回数。
totalNumCommits TT_BIGINT 自動リフレッシュ・スレッドが開始してからのコミット数。
totalNumRollbacks TT_BIGINT 自動リフレッシュ・スレッドが開始してからのロールバック数。
totalNumSnapshotOld TT_BIGINT 自動リフレッシュ・スレッドが開始してから受信した「Snapshot too old」エラーの数。

次の例では、静的であり7秒の間隔があると定義された自動リフレッシュ・キャッシュ・グループの統計を取得するための、ttCacheAutorefIntervalStatsGet組込みプロシージャを実行する方法を示しています。

Command> call ttCacheAutorefIntervalStatsGet(7000,1);

< 7000, 1, 41, 2013-04-25 15:17:00.000000, 0, 0, 0, 1, 0, 0, <NULL>, 
132121, 132121, 13, 21, 0, 0, 0, 0 >
< 7000, 1, 40, 2013-04-25 15:16:53.000000, 0, 0, 0, 1, 0, 0, <NULL>, 
132121, 132121, 12, 21, 0, 0, 0, 0 >
< 7000, 1, 39, 2013-04-25 15:16:46.000000, 0, 0, 0, 1, 0, 0, <NULL>, 
132121, 132121, 11, 21, 0, 0, 0, 0 >
< 7000, 1, 38, 2013-04-25 15:16:39.000000, 0, 0, 0, 1, 0, 0, <NULL>, 
132121, 132121, 10, 21, 0, 0, 0, 0 >
< 7000, 1, 37, 2013-04-25 15:16:32.000000, 0, 6305, 6305, 1, 0, 131072, 
<NULL>, 132121, 132121, 9, 21, 0, 0, 0, 0 >
< 7000, 1, 36, 2013-04-25 15:16:24.000000, 0, 15616, 15616, 1, 0, 131072, 
<NULL>, 125816, 125816, 8, 21, 0, 0, 0, 0 >
< 7000, 1, 35, 2013-04-25 15:16:17.000000, 0, 18176, 18176, 1, 0, 131072, 
<NULL>, 110200, 110200, 7, 21, 0, 0, 0, 0 >
< 7000, 1, 34, 2013-04-25 15:16:10.000000, 0, 14336, 14336, 1, 0, 131072, 
<NULL>, 92024, 92024, 6, 21, 0, 0, 0, 0 >
< 7000, 1, 33, 2013-04-25 15:16:03.000000, 0, 15360, 15360, 1, 0, 131072, 
<NULL>, 77688, 77688, 5, 21, 0, 0, 0, 0 >
< 7000, 1, 32, 2013-04-25 15:15:56.000000, 0, 11520, 11520, 1, 0, 131072, 
<NULL>, 62328, 62328, 4, 21, 0, 0, 0, 0 >

10 rows found.

注意

このプロシージャは、TimesTen Cacheでのみ使用可能です。

関連項目


ttCacheAutorefreshSelectLimit
ttCacheAutorefreshXactLimit
『Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイド』の増分自動リフレッシュ読取り専用キャッシュ・グループを使用する際の大規模なトランザクションの実行の向上に関する説明および増分自動リフレッシュ読取り専用キャッシュ・グループを使用する際の選択制限の構成に関する説明

ttCacheAutorefresh

説明

このプロシージャは、指定されたキャッシュ・グループと同じ自動リフレッシュ間隔を共有することで関連付けられている一連のキャッシュ・グループに対して、即時自動リフレッシュを開始します。通常は、この関連付けられた一連のキャッシュ・グループは、自動で同時にリフレッシュされます。自動リフレッシュ・プロセスへの影響は、指定されたキャッシュ・グループと同じリフレッシュ間隔を持つに新しいキャッシュ・グループを追加する場合と同じです。このプロシージャは、Oracle Databaseで更新が発生した場合に、次のスケジュールされた自動リフレッシュの前にキャッシュ・グループを更新したいときに役立ちます。

既存のトランザクションにロックされている表オブジェクトがあり、それらの表オブジェクトが自動リフレッシュの対象となる一連のキャッシュ・グループに属している場合、このプロシージャは何もアクションを行わずにエラーを返します。このプロシージャは、そのセッションで他の処理を実行する前にコミットまたはロールバックが必要であるという条件を設定します。

必要な権限

このプロシージャには、CACHE_MANAGERまたはADMIN権限が必要です。

構文

ttCacheAutorefresh ('cgOwner', 'cgName', synchronous)

パラメータ

ttCacheAutorefreshには、次のパラメータがあります。

パラメータ データ型 説明
cgOwner VARCHAR2 (30) キャッシュ・グループの所有者の名前。
cgName VARCHAR2 (30) NOT NULL キャッシュ・グループの名前。
synchronous TT_INTEGER データを同期または非同期のどちらで更新するかを指定します。

0またはNULL: 非同期モード。プロシージャはすぐに戻ります。

1 - 同期モード。プロシージャは、すべての関連付けられたキャッシュ・グループでリフレッシュ処理が完了した後に戻ります。


結果セット

ttCacheAutorefreshは結果を返しません。

この例では、testcacheキャッシュ・グループおよび同じ自動リフレッシュ間隔を持つすべてのキャッシュ・グループに対して自動リフレッシュを行います。プロシージャは同期して戻ります。

Command> call ttcacheautorefresh('user1','testcache', 1);

注意

指定したキャッシュ・グループAUTOREFRESHの状態をONにする必要があります。一方、関連付けられた他のキャッシュ・グループの状態は任意で、自動リフレッシュの状態がONになっていない場合はリフレッシュされません。指定した関連キャッシュ・グループの自動リフレッシュは処理できません。このプロシージャをアクティブ・スタンバイ・ペアのスタンバイ・ノードに対してコールすることはできません。

このプロシージャは、TimesTen Cacheでのみ使用可能です。

ttCacheAutorefreshLogDefrag

説明

ttCacheAutorefreshLogDefrag組込みプロシージャは、キャッシュ自動リフレッシュ表のトリガー・ログ領域を圧縮します。

使用方法の詳細は、『Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイド』の表領域での変更ログ表のデフラグに関する説明を参照してください。

必要な権限

このプロシージャには、CACHE_MANAGER権限が必要です。

構文

ttCacheAutorefreshLogDefrag ('action')

パラメータ

ttCacheAutorefreshLogDefragには、次のパラメータがあります。

パラメータ データ型 説明
action VARCHAR (50) NOT NULL 許容値は次のとおりです。

Compact: トリガー・ログ領域のみをデフラグします。

CompactAndReclaim: トリガー・ログ領域およびトランザクション・コミット・バッファ(再利用領域)をデフラグします。

注意: 再利用フェーズでは短時間トリガー・ログ表をロックします。これにより、ワークロードの実表への書込みが一時停止する場合があります。


結果セット

ttCacheAutorefreshLogDefragは結果を返しません。

次の例では、コールはトリガー・ログ領域のみを圧縮またはデフラグします。

Command> call ttCacheAutorefreshLogDefrag('Compact');

注意

このプロシージャは、TimesTen Cacheでのみ使用可能です。

ttCacheAutorefreshStatsGet

説明

このプロシージャは、指定されたキャッシュ・グループで実行された過去10回の自動リフレッシュ・トランザクションに関する情報を返します。この情報は、AUTOREFRESHの状態がONまたはPAUSEDで、キャッシュ・エージェントが実行中である場合のみ返されます。

この組込みプロシージャが返す情報は、次の場合に常にリセットされます。

  • キャッシュ・エージェントが再起動された場合

  • 状態がOFFに設定されてからONまたはPAUSEDに戻された場合

  • キャッシュ・グループが削除されて再作成された場合

必要な権限

このプロシージャには、権限は必要ありません。

構文

ttCacheAutorefreshStatsGet ('cgOwner', 'cgname')

パラメータ

ttCacheAutorefreshStatsGetには、次のパラメータがあります。

パラメータ データ型 説明
cgOwner VARCHAR2 (30) キャッシュ・グループの所有者の名前。
cgName VARCHAR2 (30) NOT NULL 自動リフレッシュに関する情報を返すキャッシュ・グループの名前。

結果セット

ttCacheAutorefreshStatsGet組込みプロシージャは、自動リフレッシュ・モードがFULLのキャッシュ・グループには、列情報のサブセットのみを返します。入手できない情報に対しては列値0が返されます。

ttCacheAutorefreshStatsGetは次の結果を返します。

列名 列型 説明 完全自動リフレッシュで返されるか
cgId TT_BIGINT キャッシュ・グループID。 Y
startTimestamp TT_TIMESTAMP この時間隔で自動リフレッシュが開始された時間のタイムスタンプ。次の注意を参照してください。 Y
cacheAgentUpTime TT_BIGINT この時間隔で自動リフレッシュ・トランザクションが開始されてからのキャッシュ・エージェントの経過時間(ミリ秒)。この値は累積値で、キャッシュ・エージェント・プロセスが開始されるとリセットされます。次の注意を参照してください。 Y
autorefNumber TT_BIGINT キャッシュ・グループの自動リフレッシュ番号は、キャッシュ・エージェントの開始後にこのキャッシュ・グループが何回増分リフレッシュされたかを示します。キャッシュ・エージェントの開始時に、この番号は0に初期化されます。 Y
autorefDuration TT_BIGINT この自動リフレッシュ・トランザクションで経過した時間(ミリ秒)。 Y
autorefNumRows TT_BIGINT この自動リフレッシュで自動リフレッシュされた行数。ルート表および子表の行を含む、すべての行が含まれます。

複数の表が含まれるキャッシュ・グループの場合、子表の行は複数回更新されます。したがって、自動リフレッシュされる行の数は、Oracle Databaseで更新される行の数を超える場合があります。

N
numOracleBytes TT_BIGINT この自動リフレッシュ・トランザクションでOracle Databaseから転送されたバイト数。 N
autorefNumRootTblRows TT_BIGINT この自動リフレッシュ・トランザクションで自動リフレッシュされたルート表の行数。 Y
autorefQueryExecDuration TT_BIGINT Oracle Databaseで自動リフレッシュ問合せの実行にかかった時間(ミリ秒)。 N
autorefQueryFetchDuration TT_BIGINT 自動リフレッシュ問合せでOracle Databaseからの行フェッチにかかった時間(ミリ秒)。 N
autorefTtApplyDuration TT_BIGINT TimesTenによる自動リフレッシュの適用にかかった時間(ミリ秒)。 N
totalNumRows TT_BIGINT キャッシュ・エージェントの起動後に自動リフレッシュされた行の合計数。

自動リフレッシュされる行の総数は、Oracle Databaseで更新される行の数とは異なる場合があります。これはログのマーキングの遅延によるもので、一部の更新は自動リフレッシュされて複数回カウントされる場合があります。

N
totalNumOracleBytes TT_BIGINT キャッシュ・エージェントの起動後にOracle Databaseから転送された総バイト数。 N
totalNumRootTblRows TT_BIGINT キャッシュ・エージェントの起動後に自動リフレッシュされたルート表の行の合計数。 Y
totalDuration TT_BIGINT キャッシュ・エージェントの起動後の自動リフレッシュの合計経過時間(ミリ秒)。 Y
status VARCHAR2 (128) 現在の自動リフレッシュの状態を説明する文字列。次の注意を参照してください。このフィールドでサポートされている値は次のとおりです。

Complete

inProgress

Failed

Y
numlogrows TT_BIGINT この自動リフレッシュでOracle Databaseからフェッチされた行数。 Y
totalnumlogrows TT_BIGINT この自動リフレッシュでOracle Databaseからフェッチされた行の累積数。 Y
autorefLogFragmentationPct TT_BIGINT 最低レベルの表使用率(パーセント)。表使用率が指定されたパーセントよりも低い場合には、表は圧縮されます。 Y
autorefLogFragmentationTs TT_TIMESTAMP 使用率または断片率が最後に計算されたときのタイムスタンプ。 Y
autorefLogDefragGcnt TT_BIGINT 表が圧縮された回数。 Y

この例では、testcacheは、1つの表を持ち、増分自動リフレッシュ時間隔が10秒のREADONLYキャッシュ・グループです。

Command> call ttcacheautorefreshstatsget('user1','testcache');

< 1164260, 2011-07-23 15:43:52.000000, 850280, 44, 
0, 75464, 528255, 75464, 310, 110, 6800, 1890912, 
12439795, 1890912, 160020, InProgress, 2, 74 >
< 1164260, 2011-07-23 15:43:33.000000, 831700, 43, 
13550, 108544, 759808, 108544, 1030, 230, 12290, 1815448, 
11911540, 1815448, 160020, Complete, 2, 72 >
< 1164260, 2011-07-23 15:43:12.000000, 810230, 42, 
17040, 115712, 809984, 115712, 610, 330, 16090, 1706904, 
11151732, 1706904, 146470, Complete, 2, 70>
< 1164260, 2011-07-23 15:42:52.000000, 790190, 41, 
14300, 94208, 659456, 94208,560, 320, 13410, 1591192, 
10341748, 1591192, 129430, Complete, 2, 68 >
< 1164260, 2011-07-23 15:42:32.000000, 770180, 40, 
12080, 99328, 695296, 99328,450, 290, 11340, 1496984, 
9682292, 1496984, 115130, Complete, 2, 66 >
< 1164260, 2011-07-23 15:42:12.000000, 750130, 39, 
10380, 86016, 598368, 86016,430, 230, 9720, 1397656, 
8986996, 1397656, 103050, Complete, 2, 64 >
< 1164260, 2011-07-23 15:41:52.000000, 730130, 38, 
13530, 112640, 700768, 112640, 530, 220, 12780, 1311640, 
8388628, 1311640, 92670, Complete, 2, 62 >
< 1164260, 2011-07-23 15:41:32.000000, 710120, 37, 
9370, 56320, 326810, 56320, 310, 160, 8900, 1199000, 
7687860, 1199000, 79140, Complete, 2, 60 >
< 1164260, 2011-07-23 15:41:22.000000, 700120, 36, 
2120, 10240, 50330, 10240, 50, 200, 1870, 1142680, 
7361050, 1142680, 69770, Complete, 2, 58 >
< 1164260, 2011-07-23 15:41:12.000000, 690110, 35, 
0, 0, 0, 0, 0, 0, 0, 1132440, 7310720, 1132440, 
67650, Complete, 2, 56 >
10 rows found.

注意

ここでレポートされているほとんどの列値は、キャッシュ・グループ・レベルで収集されます。たとえば、autorefDurationおよびautorefNumRowsには、指定したキャッシュ・グループの情報のみが含まれます。このルールの例外は、列値cacheAgentUpTime、startTimestampおよびautorefreshStatusです。これらの値は、自動リフレッシュ時間隔レベルでレポートされます。

StartTimestampは、自動リフレッシュ時間隔における自動リフレッシュの開始時に取得されます。キャッシュ・グループは、時間隔の自動リフレッシュが開始されるとただちにin progress状態になります。時間隔のすべてのキャッシュ・グループの自動リフレッシュが完了すると、completeとマークされます。

このプロシージャは、TimesTen Cacheでのみ使用可能です。

ttCacheAutorefreshSelectLimit

説明

Oracle Databaseの実表を自動リフレッシュ変更ログ表の制限された行数と結合するために増分自動リフレッシュを設定することは、選択制限の設定として知られています。これはttCacheAutorefreshSelectLimit組込みプロシージャで実行できます。

必要な権限

このプロシージャにはADMINまたはCACHE_MANAGER権限が必要です。

構文

ttCacheAutorefreshSelectLimit ( autorefreshInterval, value )

パラメータ

ttCacheAutorefreshSelectLimitには、次のパラメータがあります。

パラメータ データ型 説明
autorefreshInterval TT_VARCHAR (30) NOT NULL autorefreshIntervalvalueを適用するキャッシュ・グループ(この自動リフレッシュ間隔値のキャッシュ・グループ)を指定します。

自動リフレッシュ間隔(ミリ秒単位)の整数値は、自動リフレッシュの頻度を示すために自動リフレッシュ・キャッシュ・グループが作成されたときに最初に指定した値と同じ値です。

value TT_VARCHAR(30) valueは、キャッシュ表に適用する自動リフレッシュ変更ログ・ファイルから選択した行数の制限を示します。これらの変更は自動リフレッシュ変更ログ表のすべての行が適用されるまで、増分的に適用されます。

値が変更された場合、その変更は次の自動リフレッシュ・サイクルの開始時に適用されます。

valueは次のいずれかになります。

  • 'ON': 自動リフレッシュ変更ログ表から一度に最大1000行選択してすべての自動リフレッシュ・サイクルに適用します。

  • number: 自動リフレッシュ・サイクル時に自動リフレッシュ変更ログ表からのユーザー指定の最大行数を選択します。ユーザーが制限サイズを2000に指定した場合、自動リフレッシュは自動リフレッシュ変更ログ表から最大2000行を一度に選択します。負の数字を指定した場合には、エラーが返されます。

  • 'OFF': 選択制限を無効にします。増分自動リフレッシュは自動リフレッシュ・サイクル時に変更ログ表からすべての行を選択します。

  • NULL: 指定したvalueNULLまたは指定されていない場合、現在の設定が返されます。


結果セット

ttCacheAutorefreshSelectLimitは特定の自動リフレッシュ間隔に設定された次の選択制限の値を返します。

データ型 説明
autorefreshInterval TT_VARCHAR(30) autorefreshIntervalはキャッシュ・グループ(この自動リフレッシュ間隔値のキャッシュ・グループ)を指定します。
value TT_VARCHAR(30) 現在のvalueは、キャッシュ表に適用する自動リフレッシュ変更ログ・ファイルから選択された行数を示します。

NULL値を指定するか、パラメータを指定しないことで現在の設定を表示できます。次の例では間隔値が7秒の増分自動リフレッシュ・キャッシュ・グループの設定を表示します。

Command> call ttCacheAutorefreshSelectLimit('7000', NULL);
< 7000, 2000 >
1 row found.
Command> call ttCacheAutorefreshSelectLimit('7000');
< 7000, 2000 >
1 row found.

次の例では間隔値が7秒の増分自動リフレッシュ・キャッシュ・グループに対して選択制限を2000行に設定しています。

Command> call ttCacheAutorefreshSelectLimit('7000', '2000');
< 7000, 2000 >
1 row found.

注意

  • このプロシージャは、TimesTen Cacheでのみ使用可能です。

  • ttCacheAutotrefreshSelectLimit組込みプロシージャは、キャッシュ・グループが増分自動リフレッシュを設定した静的読取り専用キャッシュ・グループとして定義されている1つの表を含む単一のキャッシュ・グループに定義した間隔のみに選択制限を設定できます。

  • ttCacheAutorefreshSelectLimitの設定は、レプリケートまたは複製されません。ユーザーは、アクティブ・ノードおよびスタンバイ・ノードの両方において組込みを実行する必要があります。

  • その間隔のすべてのキャッシュ・グループを削除した場合、設定はリセットされません。

  • ttMigratettBackupttRestore組込みプロシージャは、ttCacheAutorefreshSelectLimitの設定を保存しません。

  • キャッシュ・グループ自動リフレッシュ間隔を変更する場合、キャッシュ・グループに対してttCacheAutorefreshSelectLimitの実行を介して以前設定された内容は変更されません。ttCacheAutorefreshSelectLimit組込みプロシージャでキャッシュ・グループの選択制限のみを変更できます。

関連項目


ttCacheAutorefIntervalStatsGet
『Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイド』の増分自動リフレッシュ読取り専用キャッシュ・グループを使用する際の選択制限の構成に関する説明

ttCacheAutorefreshXactLimit

説明

このプロシージャは、指定された自動リフレッシュ間隔内で、単一表のキャッシュ・グループに対して即時自動リフレッシュを行う間隔を指定し、指定された数の操作の後にコミットします。

このプロシージャは、Oracle Databaseで更新が発生した場合に、次のスケジュールされた自動リフレッシュの前にキャッシュ・グループで更新をリフレッシュしたいときに役立ちます。

再利用バッファ・サイズを変更するには、ttDBConfig組込みプロシージャを使用します。

必要な権限

このプロシージャには、CACHE_MANAGERまたはADMIN権限が必要です。

構文

ttCacheAutorefreshXactLimit ('IntervalValue', 'Value')

パラメータ

ttCacheAutorefreshXactLimitには、次のパラメータがあります。

パラメータ データ型 説明
intervalValue VARCHAR2 (50) NOT NULL 自動リフレッシュ・キャッシュ・グループの実行が定義される間隔をミリ秒の単位で指定します。IntervalValueは、自動リフレッシュ・キャッシュ・グループが作成されたときに指定された、自動リフレッシュの頻度を示すミリ秒単位の整数です。
value VARCHAR2 (200) Valueは、次のいずれかになります。
  • 'ON': 256回の操作後ごとに自動リフレッシュがコミットされるようにします。

  • 'OFF': 自動リフレッシュ・キャッシュ・グループのトランザクション制限を無効にし、自動リフレッシュが単一のトランザクションを使用するように設定し直します。

  • number: 何回の操作後にコミットするかを示します。たとえば、ユーザーが1024を指定した場合、トランザクションで1024回の操作ごとに自動リフレッシュをコミットします。負の数字を指定した場合には、エラーが返されます。

  • NULL: 値がNULL、0または指定されない場合には、現在の設定が返されます。


結果セット

ttCacheAutorefreshXactLimitは次の結果を返します。

データ型 説明
intervalValue VARCHAR2 (50) NOT NULL 自動リフレッシュ・キャッシュ・グループの実行が定義される間隔(ミリ秒)。
value VARCHAR2 (200) Valueは、次のいずれかになります。
  • 'ON': 256回の操作後ごとに自動リフレッシュがコミットされるようにします。

  • 'OFF': 自動リフレッシュ・キャッシュ・グループのトランザクション制限を無効にし、自動リフレッシュが単一のトランザクションを使用するように設定し直します。

  • number: 何回の操作後にコミットするかを示します。たとえば、ユーザーが1024を指定した場合、トランザクションで1024回の操作ごとに自動リフレッシュをコミットします。負の数字を指定した場合には、エラーが返されます。

  • NULL: 値がNULLまたは指定されない場合には、現在の設定が返されます。


次の例では、10秒の間隔値で定義されたすべての増分自動リフレッシュ読取り専用キャッシュ・グループに対し、トランザクション制限を256回の操作後ごとにコミットするように設定しています。

call ttCacheAutorefreshXactLimit('10000', 'ON');

月末の処理が完了し、増分自動リフレッシュ読取り専用キャッシュ・グループがリフレッシュされた後、10秒の間隔値で定義された増分自動リフレッシュ読取り専用キャッシュ・グループに対し、トランザクション制限を無効にします。

call ttCacheAutorefreshXactLimit('10000', 'OFF');

増分自動リフレッシュ読取り専用キャッシュ・グループが2000回の操作後ごとにコミットするようにトランザクション制限を有効にするには、次のように2000を値として指定します。

call ttCacheAutorefreshXactLimit('10000', '2000');

注意

  • このプロシージャは、TimesTen Cacheでのみ使用可能です。この組込みプロシージャは、増分自動リフレッシュを備えた静的読取りキャッシュ・グループにのみ適用されます。

  • 自動リフレッシュが実行中および複数の小さいトランザクションに適用されている間は、トランザクション一貫性は維持できません。自動リフレッシュ・サイクルが完了すると、データはトランザクション一貫性があります。

  • ttCacheAutorefreshXactLimitの設定は、レプリケートまたは複製されません。ユーザーは、アクティブ・ノードおよびスタンバイ・ノードの両方で組込みプロシージャを実行する必要があります。

  • その間隔のすべてのキャッシュ・グループを削除した場合、設定はリセットされません。

  • ttMigratettBackupttRestore組込みプロシージャは、ttCacheAutorefreshXactLimitの設定を保存しません。

  • キャッシュ・グループの自動リフレッシュ間隔を変更しても、ttCacheAutorefreshXactLimitの設定は変更されません。

関連項目


ttCacheAutorefIntervalStatsGet
『Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイド』の増分自動リフレッシュ読取り専用キャッシュ・グループを使用する際の大規模なトランザクションの実行の向上に関する説明

ttCacheAWTMonitorConfig

説明

このプロシージャを使用すると、監視を有効にして、AWTキャッシュ・グループのワークフローの各コンポーネントに費やされた時間を確認できます。監視結果を表示するには、-awtmoninfoおよび-showstatusオプションを指定してttRepAdminユーティリティを使用します。

レプリケーション・エージェントが起動されると、監視は無効になります。監視状態をOFFに設定すると、監視ツールの内部カウンタがリセットされます。

このプロシージャは、AWTの変更をOracle Databaseにレプリケートしているレプリケーション・ノードで実行します。アクティブ・スタンバイ・ペアが正常に機能している場合、AWTの変更をレプリケートするノードがスタンバイ・ノードです。アクティブ・ノードがスタンドアロンで動作している場合は、AWTの変更をレプリケートしているノードがアクティブ・ノードになります。

アクティブ・データベースのあるノードで障害が発生した場合、スタンバイ・ノードが新しいアクティブ・ノードになります。その場合は、このプロシージャを新しいアクティブ・ノードに対して実行します。

必要な権限

このプロシージャには、CACHE_MANAGER権限が必要です。

構文

ttCacheAWTMonitorConfig (['state'], [samplingRate])

パラメータ

ttCacheAWTMonitorConfigには、次のオプションのパラメータがあります。

パラメータ データ型 説明
state TT_CHAR(10) AWT監視を有効および無効にします。値は、ONまたはOFFです。デフォルトはOFFです。
samplingRate TT_INTEGER AWTワークフローがサンプリングされる頻度を指定する正の整数。samplingRate1に設定すると、すべてのAWT処理が監視されます。値が大きいほど、サンプリングの頻度は低くなります。正確性とパフォーマンスの観点から推奨される値は16です。stateONに設定されている場合、samplingRateのデフォルトは16です。stateがOFFに設定されている場合、samplingRateのデフォルトは0です。

結果セット

パラメータを何も指定しない場合、ttCacheAWTMonitorConfigは次の結果を返します。レプリケーション・エージェントが実行中でない場合、またはAWTキャッシュ・グループが作成されていない場合は、エラーを返します。

データ型 説明
state TTVARCHAR (10) NOT NULL AWT監視の現在の状態。値は、ONまたはOFFです。
AWTSamplingFactor TT_INTEGERNOT NULL AWTワークフローがサンプリングされる頻度を指定する正の整数。

例2-1

監視が無効な場合、現在の状態とサンプリング係数を取得します。

Command> CALL ttCacheAWTMonitorConfig;
< OFF, 0 >
1 row found.

例2-2

監視を有効にし、サンプリング係数を16に設定します。

Command> CALL ttCacheAWTMonitorConfig ('ON', 16);
< ON, 16 >
1 row found.

例2-3

監視を無効にします。

Command> CALL ttCacheAWTMonitorConfig; ('OFF')
< OFF, 0 >
1 row found.

関連項目


「ttRepAdmin」

ttCacheAWTThresholdGet

説明

このプロシージャは、AWTキャッシュ・グループを含むデータベースの、現在のトランザクション・ログ・ファイルのしきい値を返します。

必要な権限

このプロシージャには、権限は必要ありません。

構文

ttCacheAWTThresholdGet()

パラメータ

ttCacheAWTThresholdGetにパラメータはありません。

結果セット

ttCacheAWTThresholdGetは次の結果を返します。

データ型 説明
threshold TT_INTEGERNOT NULL データベースに関連付けられたすべてのAWTキャッシュ・グループのトランザクション・ログ・ファイルの数。結果が0の場合、制限は設定されていません。

CALL ttCacheAWTThresholdGet();

注意

このプロシージャは、TimesTen Cacheでのみ使用可能です。

ttCacheAWTThresholdSet

説明

このプロシージャは、AWTが停止しているか、または大幅な遅延が発生しているとみなされるまでに蓄積されるトランザクション・ログ・ファイル数のしきい値を示します。この設定は、データベースのすべてのサブスクライバに適用されます。しきい値を超えた場合、更新はOracle Databaseに送信されなくなります。しきい値が設定されてない場合のデフォルトは、0(ゼロ)です。

この組込みプロシージャを使用すると、AWTキャッシュ・グループが作成された後にしきい値を設定できます。

この設定は、データベースのログ障害しきい値をリセットするCREATE REPLICATION文によって上書きできます。

必要な権限

このプロシージャには、CACHE_MANAGER権限が必要です。

構文

ttCacheAWTThresholdSet(threshold)

パラメータ

ttCacheAWTThresholdSetには、次のパラメータがあります。

パラメータ データ型 説明
threshold TT_INTEGER データベースに関連付けられたすべてのAWTキャッシュ・グループのトランザクション・ログ・ファイルの数を指定します。しきい値がNULLの場合、ログ障害しきい値は0(ゼロ)に設定されます。

結果セット

ttCacheAWTThresholdSetは結果を返しません。

蓄積可能なトランザクション・ログ・ファイルのしきい値に12を設定するには、次のように実行します。

CALL ttCacheAWTThresholdSet(12);

注意

このプロシージャは、TimesTen Cacheで使用可能です。

しきい値を超えたときのリカバリは、ユーザーが行います。

ttCacheCheck

説明

ttCacheCheck組込みプロシージャは、Oracle Database上のキャッシュされた表に対する制約が失われていないかをチェックします。

キャッシュされるOracle Database表の列に対する任意の一意索引、一意制約または外部キー制約は、TimesTen内の非同期ライトスルー・キャッシュ表でも作成する必要があります。これらの制約をAWTキャッシュ表に作成しておらず、キャッシュ・グループをパラレル伝播用に構成している場合には、TimesTenは制約が失われている表に対するDML操作によってトランザクションをシリアライズします。

このプロシージャでは、失われている制約およびシリアライズされた伝播用にマークされた表についての情報が提供されます。

失われている制約を手動でチェックするには、次の状況でttCacheCheckをコールします。

  • 一連のDROP CACHE GROUP文の完了後。

  • Oracle Database上で一意索引または外部キーを作成または削除した後。

  • 複数のトランザクションがシリアライズされている理由を判断するため。

このプロシージャは、表に対して実行されたDMLがシリアライズされる必要があるかないかを示すためにシステム表を更新します。したがって、ttCacheCheck組込みの完了後に、コミットまたはロールバックする必要があります。

パラレル伝播の詳細は、『Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイド』のOracle Database表へのパラレル伝播の構成に関する説明を参照してください。

必要な権限

このプロシージャには、CACHE_MANAGER権限が必要です。

構文

ttCacheCheck('operation', cgOwner, cgName)

パラメータ

ttCacheCheckには、次のパラメータがあります。

パラメータ データ型 説明
operation TT_VARCHAR(30) チェックする制約を指定します。有効な値は次のとおりです。
  • ForeignKey: 外部キー制約をチェックします。

  • Unique: 一意制約をチェックします。

  • Awt: 外部キー制約および一意制約の両方をチェックします。

  • NULL: 外部キー制約および一意制約の両方をチェックします。

cgOwner TT_VARCHAR(30) キャッシュされたOracle Database表の所有者を指定します。

NULLの場合、接続ユーザーが所有するすべての非同期ライトスルー・キャッシュ・グループをチェックします。

cgOwnerおよびcgNameの両方ともNULLの場合、すべての非同期キャッシュ・グループをチェックします。

cgName TT_VARCHAR(30) キャッシュされたOracle Database表の名前を指定します。

NULLであって、cgOwnerが指定されている場合、cgOwnerに所有されるすべての非同期ライトスルー・キャッシュ・グループをチェックします。

cgOwnerおよびcgNameの両方ともNULLの場合、すべての非同期キャッシュ・グループをチェックします。


結果セット

ttCacheCheckは、次の結果セットを返します。

データ型
cgOwner TT_VARCHAR (30) NOT NULL キャッシュ・グループの所有者。
cgName TT_VARCHAR (30) NOT NULL キャッシュ・グループの名前。
tblOwner TT_VARCHAR(30) 表の所有者。
tblName TT_VARCHAR(30) 表の名前。
objectType TT_VARCHAR(15) Oracleオブジェクトのタイプ: 一意索引、制約または外部キー。
objectOwner TT_VARCHAR(30) Oracleオブジェクトの所有者。
objectName TT_VARCHAR(30) オブジェクト名。
msgType TT_SMALLINT NOT NULL メッセージの種類。

0 = 情報

1 = 警告

-1 = エラー

msg TT_VARCHAR (100000) NOT NULL 問題を説明するメッセージ。
objectDesc VARCHAR2(200000) オブジェクトの説明。オブジェクトがAWTチェックの場合、説明はオブジェクトを記述するSQL文になります。

次の例では、cacheuserが所有するキャッシュ・グループupdate_ordersにおいて失われている制約がないかどうかを判定しています。警告メッセージを含む結果セットが返されます。update_ordersキャッシュ・グループのordertab表は、逐次伝播されたトランザクションであると示されています。

Command> call ttCacheCheck( NULL, 'cacheuser', 'update_orders');

< CACHEUSER, UPDATE_ORDERS, CACHEUSER, ORDERTAB, Foreign Key, CACHEUSER, 
CUST_FK, 1, Transactions updating this table will be serialized to Oracle
because: The missing foreign key connects two AWT cache groups., 
table CACHEUSER.ORDERTAB constraint CACHEUSER.CUST_FK foreign key(CUSTID) 
references CACHEUSER.ACTIVE_CUSTOMER(CUSTID) >
1 row found.

注意

このプロシージャは、TimesTen Cacheでのみ使用可能です。

ttCacheConfig

説明

同じOracleインスタンスのデータをキャッシュするすべてのキャッシュ・グループに対し、このプロシージャは、Oracle Databaseサーバーが使用不可になっており、キャッシュ・エージェントまたはデータベースが停止しているとみなされる場合の、タイムアウト値とリカバリ・ポリシーを指定します。

データベースとキャッシュ・グループの自動リフレッシュの状態は、プロシージャttCacheDbCgStatusで確認できます。

必要な権限

このプロシージャには、CACHE_MANAGER権限が必要です。

構文

ttCacheConfig(Param, tblOwner, tblName, Value)

パラメータ

ttCacheConfigには、次のパラメータがあります。

パラメータ データ型 説明
Param
VARCHAR2(50)
NOT NULL
Valueで設定するパラメータを指定します。
  • AgentFailoverTimeout: Oracle RAC環境で作業している場合、TAFタイムアウトの値を分単位で設定します。接続を確立する際にTAFが再試行を行う時間を指定します。デフォルトは4分です。

  • AgentTimeout: キャッシュ・エージェントがOracle Databaseサーバーに接続できないときにデータベースが停止していると宣言されるまでの秒数を指定します。

  • AutoRefreshLogFragmentationWarningPCT: ユーザーに表を圧縮するように警告する前までの表の使用率(パーセント)。

  • AutoRefreshLogDeFragmentAction: 指定した表の圧縮モード。

  • AutoRefreshLogTblSpaceUsagePCT: キャッシュ管理ユーザーの表領域使用量の警告しきい値を割合で指定します。

  • DeadDbRecovery: キャッシュ・エージェントが再起動される場合の自動リフレッシュ・リカバリのタイプを指定します。

  • TblSpaceFullRecovery: キャッシュされたOracle Database表が更新され、キャッシュ管理ユーザーの表領域に空きがない場合に、TimesTenで実行するアクションを指定します。

tblOwner VARCHAR2(30) キャッシュされたOracle Database表の所有者を指定します。

このパラメータは、ParamTblspaceFullRecoveryに設定されている場合は必須です。Paramの他の値に対しては、tblOwnerを指定しないでください。

表名の指定にシノニムは使用できません。

tblName VARCHAR2(30) キャッシュされたOracle Database表の名前を指定します。

このパラメータは、ParamTblspaceFullRecoveryに設定されている場合は必須です。Paramの他の値に対しては、tblOwnerを指定しないでください。

表名の指定にシノニムは使用できません。

Value VARCHAR2(200) Paramに設定する値を指定します。
  • ParamAgentFailoverTimeoutの場合、Oracle RAC環境で作業中に接続の確立をする際にTAFが試行を行うまでの時間(分)を指定します。デフォルトは4分です。

  • ParamAgentTimeoutの場合、キャッシュ・エージェントがOracle Databaseサーバーに接続できないときにデータベースが停止していると宣言されるまでの秒数を指定します。デフォルトの0は、データベースが停止していると宣言されないことを意味します。

  • ParamAutoRefreshLogFragmentationWarningPCTの場合、4番目のパラメータの値は、表の割合を示す1から100の間の整数である必要があります。

  • ParamAutoRefreshLogDeFragmentActionの場合、値ManualCompactOnlyまたはCompactandReclaimを取ることができます。Manualが指定された場合、何も行われません。ユーザーは、ttCacheAutorefreshLogDefrag組込みプロシージャを実行してログをデフラグできます。CompactOnlyが指定された場合には、トリガー・ログ領域が圧縮されます。CompactandReclaimが指定された場合、トリガー・ログ領域とトランザクション・ログ・バッファ(再利用領域)の両方が圧縮されます。デフォルトはManualです。

  • ParamAutoRefreshLogTblSpaceUsagePCTの場合、0から100の値になります。デフォルトの0は、表領域の使用量に関係なく警告が返されないことを意味します。

  • ParamDeadDbRecoveryの場合、値はNormalまたはManualのいずれかです。Normalは、完全自動リフレッシュを指定します。Manualは、REFRESH CACHE GROUP文を発行する必要があることを指定します。デフォルトはNormalです。

  • ParamTblSpaceFullRecoveryの場合、値はReloadまたはNoneのいずれかです。Reloadは、変更ログ表から行が削除され、完全自動リフレッシュが実行されることを指定します。Noneは、キャッシュされたOracle Database表が更新された場合にOracle Databaseエラーが返されることを指定します。デフォルトはNoneです。

あるいは、AwtErrorXmlOutputに設定される値を指定します。

  • ASCII: AWTエラー・レポートを含むテキスト・ファイル。(デフォルト)

  • XML: AWTエラー・レポートを含むXMLファイルおよび関連するDTDファイル。


結果セット

ttCacheConfigは、アプリケーションによりパラメータ値の設定に使用される場合、結果を返しません。パラメータ設定を返す目的で使用される場合、ttCacheConfigは次の結果を返します。

データ型
Param VARCHAR2(50) パラメータ名は、次のいずれかです。

AgentTimeout

AgentFailoverTimeout

AutoRefreshLogTblSpaceUsagePCT

DeadDbRecovery

TblSpaceFullRecovery

tblOwner VARCHAR2(30) キャッシュされたOracle Database表の所有者。
tblName VARCHAR2(30) キャッシュされたOracle Database表の名前。

表名の指定にシノニムは使用できません。

Value VARCHAR2(200) Paramの値セットです。
  • ParamAgentTimeoutの場合、キャッシュ・エージェントがOracle Databaseサーバーに接続できないときにデータベースが停止していると宣言されるまでの秒数を指定します。

  • ParamAutoRefreshLogTblSpaceUsagePCTの場合、0から100の値になります。

  • ParamDeadDbRecoveryの場合、値はNormalまたはManualのいずれかです。

  • ParamTblSpaceFullRecoveryの場合、値はReloadまたはNoneのいずれかです。


キャッシュ・エージェントのタイムアウトを600秒(10分)に設定するには、次のように入力します。

CALL ttCacheConfig('AgentTimeout',,,'600');

キャッシュ・エージェントの現在のタイムアウト設定を確認するには、次のように入力します。

CALL ttCacheConfig('AgentTimeout');
< AgentTimeout, <NULL>, <NULL>, 600 >
1 row found.

自動リフレッシュ状態がdeadのキャッシュ・グループに対して、リカバリ方法をManualに設定するには、次のように入力します。

CALL ttCacheconfig('DeadDbRecovery',,,'Manual');

キャッシュされたOracle Database表に更新があり、キャッシュ管理ユーザーの表領域に空きがない場合に、自動完全リフレッシュを防ぎ、Oracle Databaseエラーを受信するようにTimesTenキャッシュを構成します。Oracle Database表はterry.customerです。

CALL ttCacheConfig('TblSpaceFullRecovery','terry','customer','None');

キャッシュされたOracle Database表terry.customerTblSpaceFullRecoveryについて現在の設定を確認するには、次のように入力します。

CALL ttCacheConfig('TblSpaceFullRecovery','terry','customer');
< TblSpaceFullRecovery, TERRY, CUSTOMER, none >
1 row found.

キャッシュ管理ユーザーの表領域が85%使用されているときに、キャッシュされたOracle Database表に対する更新処理が発生した場合に警告を受け取るようにするには、次のように入力します。

CALL ttCacheConfig('AutoRefreshLogTblSpaceUsagePCT',,,'85');

Oracle RAC環境で作業している場合、次のようにフェイルオーバー・タイムアウトの値を取得します。

Command> call ttCacheConfig('AgentFailoverTimeout'); 
< AgentFailoverTimeout, <NULL>, <NULL>, 4 > 
1 row found. 
. 

次の例では、フェイルオーバー・タイムアウトを5分に設定しています。

Command> call ttCacheConfig('AgentFailoverTimeout',,,5); 
< AgentFailoverTimeout, <NULL>, <NULL>, 5 > 
1 row found. 
Command>

注意

このプロシージャは、TimesTen Cacheでのみ使用可能です。

ttCacheConfig組込みプロシージャは、キャッシュ・グリッドまたはアクティブ・スタンバイ・ペアの各ノードからコールする必要があります。

関連項目


ttCacheDbCgStatus
ttCachePolicyGet
ttCachePolicySet
ttCacheStart
ttCacheStop
ttCacheUidGet
ttCacheUidPwdSet
「ttAdmin」
『Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイド』のAWTキャッシュ・グループでのOracle Database永続エラーのレポートに関する説明、キャッシュ環境の管理に関する説明およびOracle RAC環境でのTimesTen Cacheの設定に関する説明(エージェント・フェイルオーバーに関して)

ttCacheDbCgStatus

説明

このプロシージャは、データベースおよび指定されたキャッシュ・グループの自動リフレッシュの状態を返します。パラメータに値を指定しない場合、プロシージャはデータベースの自動リフレッシュの状態を返します。

必要な権限

このプロシージャには、権限は必要ありません。

構文

ttCacheDbCgStatus([cgOwner], [cgName])

パラメータ

ttCacheDbCgStatusには、次のオプションのパラメータがあります。

パラメータ データ型 説明
cgOwner VARCHAR2(30) キャッシュ・グループ所有者のユーザー名を指定します。
cgName VARCHAR2(30) キャッシュ・グループ名を指定します。

結果セット

ttCacheDbCgStatusは次の結果を返します。

データ型
dbStatus VARCHAR2(20) データベース内のすべてのキャッシュ・グループの自動リフレッシュの状態を指定します。次のいずれかの状態になります。

alive: データベースはアクティブです。すべてのキャッシュ・グループの状態はokです。キャッシュ・エージェントは、Oracle Databaseサーバーに繋がっています。

dead - キャッシュ・エージェントはタイムアウト時間内にOracle Databaseに接続できませんでした。すべてのキャッシュ・グループのAUTOREFRESH属性の状態はterminatedです。

recovering: AUTOREFRESH属性が指定されたキャッシュ・グループの一部またはすべてがOracle Databaseサーバーと再同期化中です。少なくとも1つのキャッシュ・グループの状態がrecoveringです。

cgStatus VARCHAR2(20) 指定されたキャッシュ・グループの自動リフレッシュの状態を指定します。次のいずれかの状態になります。

ok: 指定されたキャッシュ・グループはOracle Databaseと同期化されています。キャッシュ・エージェントは、Oracle Databaseサーバーに繋がっています。

dead - キャッシュ・エージェントはタイムアウト時間内にOracle Databaseに接続できず、指定されたキャッシュ・グループはOracle Databaseサーバーと同期していない可能性があります。

recovering: 指定されたキャッシュ・グループはOracle Databaseサーバーと再同期化中です。


次の例は、データベースの自動リフレッシュの状態がaliveであることを示しています。キャッシュ・グループの自動リフレッシュの状態はokです。

CALL ttCacheDbCgStatus ('terry', 'cgemployees');
< alive, ok >
1 row found.

データベースの自動リフレッシュの状態を確認するには、パラメータを指定せずにttCacheDbCgStatusをコールします。

CALL ttCacheDbCgStatus;
< dead, <NULL> >
1 row found.

注意

このプロシージャは、TimesTen Cacheでのみ使用可能です。

ttCacheDDLTrackingConfig

このプロシージャは、キャッシュされたOracle Database表に対して発行されたDDL文の追跡を有効または無効にします。デフォルトでは、DDL文は追跡されません。

DDL追跡では、キャッシュされたすべてのOracle Database表の変更履歴が保存されます。DDL追跡表が1つ作成され、キャッシュされた任意のOracle Database表に対して発行されたDDL文が格納されます。この情報を使用して自動リフレッシュの問題を診断できます。

『Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイド』のキャッシュされたOracle Database表に対して発行されたDDL文の追跡に関する説明を参照してください。

必要な権限

このプロシージャには、CACHE_MANAGER権限が必要です。

構文

ttCacheDDLTrackingConfig('trackingStatus')

パラメータ

ttCacheDDLTrackingConfigには、次のパラメータがあります。

パラメータ データ型 説明
trackingStatus TT_VARCHAR(10) キャッシュされたOracle Database表に対して発行されたDDL文を追跡するかどうかを指定します。有効な値は、次のとおりです。

enable - 追跡を有効にします。

disable(デフォルト): 追跡を無効にします。


結果セット

ttCacheDDLTrackingConfigは結果を返しません。

Command> CALL ttCacheDDLTrackingConfig('enable');

ttCachePolicyGet

説明

このプロシージャは、接続されたデータベースに対してTimesTenキャッシュ・エージェントを実行するタイミングを決定する現在のポリシーを返します。ポリシーは、alwaysまたはmanualのいずれかです。

必要な権限

このプロシージャには、権限は必要ありません。

構文

ttCachePolicyGet()

パラメータ

ttCachePolicyGetにパラメータはありません。

結果セット

ttCachePolicyGetは次の結果を返します。

データ型
cachePolicy TT_VARCHAR(10) データベースに対してTimesTenキャッシュ・エージェントを実行するタイミングを決定するために使用するポリシーを指定します。有効な値は、次のとおりです。

always: エージェントはデータベースに対して常時実行されます。このオプションは、TimesTenキャッシュ・エージェントをただちに起動します。TimesTenデーモンが再起動されると、自動的にキャッシュ・エージェントが再起動されます。

manual(デフォルト): ttCacheStart組込みプロシージャまたはttAdmin -cacheStartコマンドのいずれかを使用して、キャッシュ・エージェントを手動で起動する必要があります。ttCacheStop組込みプロシージャまたはttAdmin -cacheStopコマンドのいずれかを使用して、キャッシュ・エージェントを明示的に停止する必要があります。


TimesTenキャッシュ・エージェントの現在のポリシーを取得するには、次のように実行します。

CALL ttCachePolicyGet ();

注意

このプロシージャは、TimesTen Cacheでのみ使用可能です。

ttCachePolicySet

説明

このプロシージャは、接続されたデータベースに対してTimesTenキャッシュ・エージェントを実行するタイミングを決定するポリシーを定義します。ポリシーは、alwaysまたはmanualのいずれかです。

必要な権限

このプロシージャには、CACHE_MANAGER権限が必要です。

構文

ttCachePolicySet('cachePolicy')

パラメータ

ttCachePolicySetには、次のパラメータがあります。

パラメータ データ型 説明
cachePolicy
TT_VARCHAR(10)
NOT NULL
データベースに対してTimesTenキャッシュ・エージェントを実行するタイミングを決定するために使用するポリシーを指定します。有効な値は、次のとおりです。

always: エージェントはデータベースに対して常時実行されます。このオプションは、TimesTenキャッシュ・エージェントをただちに起動します。TimesTenデーモンが再起動されると、自動的にキャッシュ・エージェントが再起動されます。

manual(デフォルト): ttCacheStart組込みプロシージャまたはttAdmin -cacheStartコマンドのいずれかを使用して、キャッシュ・エージェントを手動で起動する必要があります。ttCacheStop組込みプロシージャまたはttAdmin -cacheStopコマンドのいずれかを使用して、キャッシュ・エージェントを明示的に停止する必要があります。

norestart: エラーが発生した後、データベースに対するキャッシュ・エージェントは再起動されません。


結果セット

ttCachePolicySetは結果を返しません。

TimesTenキャッシュ・エージェントのポリシーをalwaysに設定するには、次のように実行します。

CALL ttCachePolicySet ('always');

注意

このプロシージャは、TimesTen Cacheでのみ使用可能です。

ポリシーをmanualからalwaysに変更することによって、相対パスを使用してデータベースに対してTimesTenキャッシュ・エージェントを起動しようとすると、TimesTenはTimesTen Data Managerが起動している場所に対する相対パスでデータベースを検索し、失敗します。たとえば、Windows上でデータベースのパスにDataStore=./payrollを指定し、この組込みプロシージャでTimesTenキャッシュ・エージェントを起動しようとしても、TimesTen Data Managerはデータベースをinstall_dir\srvディレクトリで検索するため、起動しません。UNIXの場合は、/var/TimesTen/instanceディレクトリを検索します。

ポリシーの設定をalwaysに設定すると、キャッシュ・エージェントが停止している場合は自動的に起動されます。

ttCachePropagateFlagSet

説明

このプロシージャを使用すると、Oracle Databaseに対する現在のトランザクションにおいてコミットされた更新(DML文の実行結果)の伝播を無効にできます。フラグをゼロに設定した後のDML文実行による更新は、バックエンドのOracle Databaseに伝播されることはありません。そのため、これらの更新はTimesTenデータベースにのみ存在します。その後、フラグをリセットすることでDML文の伝播を再度有効にできます。

必要な権限

このプロシージャには、CACHE_MANAGER権限が必要です。

構文

ttCachePropagateFlagSet(CommitsOn)

パラメータ

ttCachePropagateFlagSetには、次のパラメータがあります。

パラメータ データ型 説明
CommitsOn TT_INTEGERNOT NULL 0の場合、更新がOracle Databaseに送信されないようにするフラグを設定します。トランザクションが終了するまで、またはプロシージャが1に設定されるまで、このフラグの設定は変更されません。

1の場合、更新がOracle Databaseに送信されます。


結果セット

ttCachePropagateFlagSetは結果を返しません。

注意

このプロシージャは、TimesTen Cacheでのみ使用可能です。

1つのトランザクションの中でttCachePropagateFlagSetの値が複数回有効になった場合、トランザクションの一部のみがOracle Databaseに伝播されます。

ttCachePropagateFlagSetは、FLUSHLOADREFRESHおよびUNLOADなどの他のキャッシュ・グループ処理のいずれかとして、アプリケーションが同じトランザクション内で使用できる唯一の組込みプロシージャです。

コミットまたはロールバックの後、伝播フラグはリセットされます。

このプロシージャを使用する場合、AutoCommitを無効にする必要があります。無効にしない場合は、プロシージャを呼び出した後でトランザクションが終了するため、Oracle Databaseへの伝播が再度有効になります。

この例では、autocommitを無効に設定して、コミットの後に伝播フラグが無効から有効に切り替わらないようにします。ttCachePropagateFlagSetを呼び出して伝播を無効にします。oratt.writetabのTimesTenキャッシュ・ディテール表に1行が挿入されます。その後、ttCachePropagateFlagSet組込みプロシージャを呼び出してフラグを1に設定することで、伝播は再度有効になります。

Command> set autocommit off;
Command> call ttCachePropagateFlagSet(0);
Command> INSERT INTO oratt.writetab VALUES (103, 'Agent');
1 row inserted.
Command> COMMIT;
Command> SELECT * FROM oratt.writetab;
< 100, Oracle >
< 101, TimesTen >
< 102, Cache >
< 103, Agent >
4 rows found.
Command> call ttCachePropagateFlagSet(1);

Oracle Databaseのすべての行を選択する場合、伝播が無効のときに挿入された行は、Oracleのoratt.writetab表にはありません。

Command> set passthrough 3;
Command> SELECT * FROM oratt.writetab;
< 100, Oracle >
< 101, TimesTen >
< 102, Cache >
3 rows found.

ttCacheSqlGet

説明

このプロシージャは、次のキャッシュ・グループのOracleオブジェクトをインストールまたは削除するOracle Database SQL文を生成します。

  • 読取り専用キャッシュ・グループ

  • 増分自動リフレッシュが指定されたユーザー管理キャッシュ・グループ

  • 非同期ライトスルー(AWT)キャッシュ・グループ

このプロシージャは、キャッシュ・グループを作成しているユーザーにOracle Databaseに書き込むための適切な権限がない場合に有効です。そのため、Oracle DBAではこの組込みプロシージャによって生成されたスクリプトを使用してOracle Databaseオブジェクトを作成できます。

必要な権限

このプロシージャには、CACHE_MANAGER権限が必要です。

構文

ttCacheSqlGet('feature_name', 'cache_group_name', install_flag)

パラメータ

ttCacheSqlGetには、次のパラメータがあります。

パラメータ データ型 説明
feature_name TT_VARCHAR (100) INCREMENTAL_AUTOREFRESHまたはASYNCHRONOUS_WRITETHROUGHに指定できます。
cache_group_name TT_VARCHAR (100) キャッシュ・グループの名前。非同期ライトスルー・キャッシュ・グループのオブジェクトをインストールする場合、または自動リフレッシュ・ユーザー・アカウント内のすべてのOracle Databaseオブジェクトを削除する場合には、NULLを指定します。
install_flag TT_INTEGER NOT NULL install_flagが1の場合、ttCacheSqlGetは、自動リフレッシュまたは非同期ライトスルーのOracle DatabaseオブジェクトをインストールするOracle SQLを返します。

install_flag0の場合、ttCacheSqlGetは、すでに作成されているオブジェクトを削除するSQLを返します。


結果セット

ttCacheSqlGetは次の結果セットを返します。

データ型 説明
retval TT_VARCHAR (4096) NOT NULL 自動リフレッシュまたは非同期ライトスルーのOracle Databaseオブジェクトをインストールまたは削除するOracle SQL文。
continueFlag TT_SMALLINT NOT NULL 結果列retvalのOracle SQL文が4096バイトを超え、次の結果行に続ける必要がある場合のみ、0(ゼロ)以外の値になります。

CALL ttCacheSqlGet('INCREMENTAL_AUTOREFRESH', 'westernCustomers', 1);

自動リフレッシュ・ユーザー・アカウントのすべてのOracle Databaseオブジェクトを削除するには、次のコマンドを使用します。

CALL ttCacheSqlGet('INCREMENTAL_AUTOREFRESH', NULL, 0);

注意

このプロシージャは、TimesTen Cacheでのみ使用可能です。

返された各retvalフィールドには、Oracle Databaseで直接実行される別々のOracle SQL文が含まれます。continueFlagフィールドで示されるように、1つの行は文の途中で終わっている場合があります。この場合、使用可能なSQL文を生成するために、前の行と連結する必要があります。

このプロシージャのスクリプト出力は、OracleのSQL*Plusユーティリティと互換性がありません。ただし、ttIsql cachesqlgetコマンドを使用すると、SQL*Plusユーティリティと互換性のあるスクリプトを生成できます。

cache_group_nameオプションに対してNULLを指定すると、ttDestroyユーティリティによってデータベースが破棄された後でOracle DatabaseオブジェクトをクリーンアップするOracle SQLを生成できます。

ttCacheStart

説明

このプロシージャは、接続しているデータベースに対してTimesTenキャッシュ・エージェントを起動します。

必要な権限

このプロシージャには、CACHE_MANAGER権限が必要です。

構文

ttCacheStart()

パラメータ

ttCacheStartにパラメータはありません。

結果セット

ttCacheStartは結果を返しません。

TimesTenキャッシュ・エージェントを起動するには、次のように実行します。

CALL ttCacheStart ();

注意

このプロシージャは、TimesTen Cacheでのみ使用可能です。

データベースに自動リフレッシュ・キャッシュ・グループまたは非同期ライトスルー・キャッシュ・グループがある場合、またはある可能性がある場合は、キャッシュ管理ユーザーIDおよびパスワードをttCacheUidPwdSet組込みプロシージャで設定してから、キャッシュ・エージェントを起動する必要があります。

ポリシーをmanualからalwaysに変更することによって、相対パスを使用してデータベースに対してTimesTenキャッシュ・エージェントを起動しようとすると、TimesTenはTimesTen Data Managerが起動している場所に対する相対パスでデータベースを検索し、失敗します。たとえば、Windows上でデータベースのパスにDataStore=./payrollを指定し、この組込みプロシージャでTimesTenキャッシュ・エージェントを起動しようとしても、TimesTen Data Managerはデータベースを\srvディレクトリで検索するため、起動しません。UNIXの場合は、/var/TimesTen/instanceディレクトリを検索します。

このプロシージャを使用する場合、コールを実行するアプリケーションを含めたすべてのアプリケーションは、データベース・レベルのロック(LockLevel=1)を指定する接続を保持することができません。

ttCacheStop

説明

このプロシージャは、接続しているデータベースに対してTimesTenキャッシュ・エージェントを停止します。

必要な権限

このプロシージャには、CACHE_MANAGER権限が必要です。

構文

ttCacheStop(timeout)

パラメータ

ttCacheStopには、次のパラメータがあります。

パラメータ データ型 説明
timeout TT_INTEGER timeout秒数内にキャッシュ・エージェントが停止しない場合は、TimesTenデーモンに停止するように指定します。0を設定すると、デーモンはキャッシュ・エージェントを無期限待機します。デフォルト値は100です。

結果セット

ttCacheStopは結果を返しません。

TimesTenキャッシュ・エージェントを停止するには、次のように実行します。

CALL ttCacheStop();

注意

このプロシージャは、TimesTen Cacheでのみ使用可能です。

キャッシュ・グループを削除または変更した直後にキャッシュ・エージェントを停止しないでください。かわりに、少なくとも2分間待機します。待機しないと、キャッシュ・エージェントは、AUTOREFRESH機能で使用されたOracle Databaseオブジェクトをクリーンアップすることができません。

このプロシージャを使用する場合、コールを実行するアプリケーションを含めたすべてのアプリケーションは、データベース・レベルのロック(LockLevel=1)を指定する接続を保持することができません。

ttCacheUidGet

説明

このプロシージャは、データベースのキャッシュ管理ユーザーIDを返します。キャッシュ管理ユーザーIDおよびパスワードがttCacheUidPwdSet組込みプロシージャを使用してデータベースに設定されていない場合、ttCacheUidGetNULLを返します。

必要な権限

このプロシージャには、CACHE_MANAGER権限が必要です。

構文

ttCacheUidGet()

パラメータ

ttCacheUidGetにパラメータはありません。

結果セット

ttCacheUidGetは次の結果を返します。

データ型 説明
UID TT_VARCHAR (30) 自動リフレッシュ・キャッシュ・グループおよび非同期ライトスルー・キャッシュ・グループで使用される、現在のキャッシュ管理ユーザーID。

CALL ttCacheUidGet();

注意

このプロシージャは、TimesTen Cacheでのみ使用可能です。

ttCacheUidPwdSet

説明

キャッシュ管理ユーザーIDおよびパスワードを設定します。新しいデータベースごとにキャッシュ管理ユーザーIDおよびパスワードを1回だけ指定します。キャッシュ管理パスワードはいつでも変更できます。

必要な権限

このプロシージャには、CACHE_MANAGER権限が必要です。

構文

ttCacheUidPwdSet('UID', 'PWD')

パラメータ

ttCacheUidPwdSetには、次のパラメータがあります。

パラメータ データ型 説明
UID TT_VARCHAR (30) 自動リフレッシュ・キャッシュ・グループおよび非同期ライトスルー・キャッシュ・グループで使用される、キャッシュ管理ユーザーID。
PWD TT_VARCHAR (30) キャッシュ管理ユーザーのパスワード。

結果セット

ttCacheUidPwdSetは結果を返しません。

CALL ttCacheUidPwdSet('myid', 'mypwd');

注意

このプロシージャは、クライアント/サーバー接続からコールできません。

このプロシージャは、TimesTen Cacheでのみ使用可能です。

DDLReplicationLevelのすべてのレベルにおいて、キャッシュ・エージェントまたはレプリケーション・エージェントが実行されている場合は、キャッシュ管理ユーザーIDおよびパスワードを設定できます。キャッシュ管理ユーザーIDまたはパスワードの変更の詳細は、『Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイド』のキャッシュ・ユーザーの名前およびパスワードの変更に関する説明を参照してください。

キャッシュ管理ユーザーIDは、データベースにキャッシュ・グループがある間はリセットできません。キャッシュ管理パスワードはいつでも変更できます。

ttCkpt

説明

このプロシージャは、非ブロッキング・チェックポイント処理を実行します。ブロッキング・チェックポイントの詳細は、「ttCkptBlocking」を参照してください。チェックポイント処理は、データベースの現在の状態をディスクに記録し、トランザクション・ログ・ファイルを削除するために行われます。非ブロッキング・チェックポイントでは、データベースに対するロックは必要ありません。

アプリケーションでは、バックグラウンド・チェックポイント属性(CkptFrequencyおよびCkptLogVolume)を設定するか、このプロシージャを明示的にコールし、データベースに対して定期的にチェックポイントを実行する必要があります。このプロシージャは、データベースで実行されている他のどのアプリケーションに対しても、非同期でコールすることができます。

デフォルトで、TimesTenはバックグラウンド・チェックポイントを一定間隔で実行します。

バックアップの実行中にアプリケーションがチェックポイント処理を実行しようとした場合、実行中のバックアップは、チェックポイント処理が終了するまで待機します。チェックポイント処理が、バックグラウンド・チェックポイント、またはアプリケーションで要求されたチェックポイントのどちらの場合でも、次のように処理されます。

  • バックアップまたはチェックポイント処理の実行中に、ユーザーがバックアップを実行しようとした場合は、実行中のバックアップまたはチェックポイント処理の終了を待ちます。

  • バックアップまたはチェックポイント処理の実行中に、チェックポイント処理を実行しようとした場合は、実行中の処理が終了するまで待機しません。すぐにエラーを返します。

バックグラウンド・チェックポイントを無効にするには、CkptFrequency=0およびCkptLogVolume=0を設定します。

データベースに障害が発生したとき、ディスク上のチェックポイントが非ブロッキング・チェックポイントだった場合、TimesTenはログ・ファイルを使用してリカバリを行います。

必要な権限

このプロシージャには、ADMIN権限が必要です。

構文

ttCkpt([timeout], [retries])

パラメータ

ttCkptには、次のオプションのパラメータがあります。

パラメータ データ型 説明
timeout TT_INTEGER ttCkptがタイムアウトする前にデータベース・ロックを取得するために待機する時間(秒)。timeoutの値は0から1,000,000です。指定しない場合、チェックポイントのタイムアウトは発生しません。
retries TT_INTEGER タイムアウトが発生した場合にttCkptがデータベース・ロックを取得しようとする回数。retriesの値は0から10です。指定しない場合、デフォルトは0です。

結果セット

ttCkptは結果を返しません。

CALL ttCkpt();

注意

チェックポイントの詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のトランザクション管理に関する説明を参照してください。

ttCkptBlocking

説明

このプロシージャは、ブロッキング・チェックポイント処理を実行します。チェックポイント処理は、データベースの現在の状態をディスクに記録し、トランザクション・ログ・ファイルを削除するために行われます。このチェックポイントでは、データベースへの排他アクセスを必要とするため、チェックポイントの実行中は他のアプリケーションがデータベースからブロックされる可能性があります。

このプロシージャが呼び出されると、現行のトランザクションがコミットまたはロールバックされたときに、TimesTenはブロッキング・チェックポイントを実行します。その時点で他のトランザクションが進行中であれば、チェックポイントを実行する接続は、他のトランザクションがコミットまたはロールバックされるまで待機します。チェックポイント接続の待機中は、起動する他の新しいトランザクションは、チェックポイントを実行しているトランザクションの後のキューに入ります。その結果、長時間実行するトランザクションがあると、他の多数のトランザクションを待機させることとなります。したがって、このブロッキング・チェックポイントは注意して使用してください。非ブロッキング・チェックポイントを実行するには、ttCkptプロシージャを使用します。

ブロッキング・チェックポイントを使用している場合、ログ・ファイルは必要ありません。ログが存在する場合、TimesTenではリカバリ後にそのログを使用してデータベースが最新状態になります。

必要な権限

このプロシージャには、ADMIN権限が必要です。

構文

ttCkptBlocking([timeout], [retries])

パラメータ

ttCkptBlockingには、次のオプションのパラメータがあります。

パラメータ データ型 説明
timeout TT_INTEGER ttCkptBlockingがタイムアウトする前にデータベース・ロックを取得するために待機する時間(秒)。timeoutの値は0から1,000,000です。指定しない場合、チェックポイントのタイムアウトは発生しません。
retries TT_INTEGER タイムアウトが発生した場合にttCkptBlockingがデータベース・ロックを取得しようとする回数。retriesの値は0から10です。指定しない場合、デフォルトは0です。

結果セット

ttCkptBlockingは結果を返しません。

CALL ttCkptBlocking();
CALL ttCkptBlocking(1,10);

注意

このチェックポイントはコミットまたはロールバック時に実行されるため、ttCkptBlockingの呼出しは常に成功します。コミットまたはロールバックの実行時に、チェックポイント処理についての問題(ディスク領域の不足やタイムアウト)が発生すると、アプリケーションに警告が返されます。チェックポイントに問題があるコミットやロールバックは、チェックポイントが失敗したとしても成功するため、チェックポイントの問題はエラーとして扱われません。ODBCでは、リターン・コードSQL_SUCCESS_WITH_INFOを伴って警告が返されます。

チェックポイントの詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のトランザクション管理に関する説明を参照してください。

ttCkptConfig

説明

このプロシージャは、バックグラウンド・チェックポイント処理を動的に再構成したり、構成パラメータの現在アクティブな設定を返します。ttCkptConfigを使用して加えられた変更は、ただちに有効になります。したがって、ckptRateの変更は現在処理中のチェックポイントに影響します。

ttCkptConfigを使用してバックグラウンド・チェックポイント処理に加えられた変更は永続的です。DSNまたは接続文字列でCkptFrequencyおよびCkptLogVolume接続属性が指定されないかぎり、その後のデータベースのロードでは、変更された設定が使用されます(属性の指定があった場合は、その値が使用されます)。

必要な権限

このプロシージャには、現在の値を問い合せるための権限は必要ありません。現在の値を変更するには、ADMIN権限が必要です。

構文

ttCkptConfig(ckptFrequency, ckptLogVolume, ckptRate)

パラメータ

ttCkptConfigには、次のパラメータがあります。

パラメータ データ型 説明
ckptFrequency TT_INTEGER チェックポイント頻度(秒)。0からMAXINTの値を指定できます。0の値は、チェックポイントのスケジュール時にチェックポイント頻度が考慮されないことを意味します。
ckptLogVolume TT_INTEGER チェックポイント間のログ・ボリューム(MB)。0からMAXINTの値を指定できます。0の値は、チェックポイントのスケジュール時にチェックポイント・ログ・ボリュームが考慮されないことを意味します。
ckptRate TT_INTEGER チェックポイントをディスクに書き込む速度をMB/秒単位で指定します。

0は、速度を制限しないことを意味し、NULLは、速度を変更せずそのままにしておくことを意味します。このパラメータを変更すると、現在実行中のチェックポイント処理にも影響します。


結果セット

ttCkptConfigは次の結果を返します。

データ型 説明
ckptFrequency TT_INTEGERNOT NULL チェックポイント頻度の現在アクティブな設定(秒)。
ckptLogVolume TT_INTEGERNOT NULL チェックポイント間のログ・ボリュームの現在アクティブな設定(MB)。
ckptRate TT_INTEGERNOT NULL TimesTenにおいてチェックポイントがディスクに書き込まれる現在の速度。

バックグラウンド・チェックポイント構成パラメータの現在の設定を表示するには、次のように実行します。

CALL ttCkptConfig;
< 600, 32, 0 >
1 row found.

ログが制限に到達しないかぎり、チェックポイントの開始からバックグラウンド・チェックポイント処理を停止するには、次のように実行します。

CALL ttCkptConfig(0);
< 0, 32, 0 >
1 row found.

チェックポイントの開始からバックグラウンド・チェックポイント処理を停止するには、次のように実行します。

CALL ttCkptConfig(0, 0);
< 0, 0, 0 >
1 row found.

600秒ごとにチェックポイントを実行するか、ログが32MBに到達したときにチェックポイントを実行する(先に実行される方)ようにバックグラウンド・チェックポイント構成を設定するには、次のように実行します。

CALL ttCkptConfig(600, 32);
< 600, 32, 0 >
1 row found.

注意

デフォルトで、TimesTenはバックグラウンド・チェックポイントを一定間隔で実行します。

バックアップの実行中にアプリケーションがチェックポイント処理を実行しようとした場合、実行中のバックアップは、チェックポイント処理が終了するまで待機します。チェックポイント処理が、バックグラウンド・チェックポイント、またはアプリケーションで要求されたチェックポイントのどちらの場合でも、次のように処理されます。

  • バックアップまたはチェックポイント処理の実行中に、ユーザーがバックアップを実行しようとした場合は、実行中のバックアップまたはチェックポイント処理の終了を待ちます。

  • バックアップまたはチェックポイント処理の実行中に、チェックポイント処理を実行しようとした場合は、実行中の処理が終了するまで待機しません。すぐにエラーを返します。

バックグラウンド・チェックポイントを無効にするには、CkptFrequency=0およびCkptLogVolume=0を設定します。

ttCkptHistory

説明

このプロシージャは、最後に実行された8つのチェックポイントに関する情報を返します(チェックポイント、エージェントの種類は問いません)。

必要な権限

このプロシージャには、権限は必要ありません。

構文

ttCkptHistory( )

パラメータ

ttCkptHistoryにパラメータはありません。

結果セット

ttCkptHistoryは次の結果セットを返します。

データ型 説明
startTime TT_TIMESTAMP NOT NULL チェックポイントが開始された時間。
endTime TT_TIMESTAMP チェックポイントが完了した時間。
type TT_CHAR(16) NOT NULL 実行されたチェックポイントのタイプ。次のいずれかの値です。

Static: データベースの作成時および最後の切断時に自動的に実行されるチェックポイント。

Blocking - トランザクション一貫性チェックポイント。

Fuzzy - 非ブロッキング・チェックポイント。可能な場合、バックグラウンド・チェックポイント処理はこのタイプのチェックポイントを実行します。

None: チェックポイント・ファイルのない一時データベースの場合。

status TT_CHAR(16) NOT NULL チェックポイント処理の結果のステータス。次のいずれかの値です。

In Progress: チェックポイントは現在処理中です。最新の結果行のみがこのステータスになります。

Completed: チェックポイントは正常に完了しました。

Failed: チェックポイントは失敗しました。最新の結果行のみがこのステータスになります。この場合、error列に、失敗の理由が示されます。

initiator TT_CHAR(16) NOT NULL チェックポイント・リクエストのソース。次のいずれかの値です。

User: ユーザーレベルのアプリケーション。このようなアプリケーションには、ttIsqlのようなTimesTenユーティリティがあります。

Checkpointer: バックグラウンド・チェックポイント処理。

Subdaemon: データベースの管理用サブデーモン。共有データベースでは、最後の切断チェックポイントはサブデーモンによって実行されます。

error TT_INTEGER チェックポイントが失敗した場合、この列に失敗の理由が示されます。値は、TimesTenエラー番号のいずれかです。
ckptFileNum TT_INTEGERNOT NULL チェックポイントで使用されるデータベース・ファイル番号。このファイル番号は、チェックポイント・ファイル拡張子datastore.ds0またはdatastore.ds1の番号に対応しています。
ckptLFN TT_INTEGER チェックポイント・ログ・レコードのトランザクション・ログ・ファイル番号。
ckptLFO TT_BIGINT チェックポイント・ログ・レコードのトランザクション・ログ・ファイル・オフセット。
blksTotal TT_BIGINT 現在データベースに割り当てられている永続ブロック数。これらのブロックは、チェックポイントの実行対象となります。
bytesTotal TT_BIGINT blksTotalによって占有されるバイト数。
blksInUse TT_BIGINT blksTotalのうち、現在使用中のブロック数。
bytesInUse TT_BIGINT blksInUseによって占有されるバイト数。
blksDirty TT_BIGINT このチェックポイントによって書き込まれた使用済ブロック数。
bytesDirty TT_BIGINT blksDirtyによって占有されるバイト数。
bytesWritten TT_BIGINT このチェックポイントによって書き込まれた合計バイト数。
Percent_Complete TT_INTEGER 処理中のチェックポイントがある場合に、完了したチェックポイントの割合を示します。処理中のチェックポイントがない場合の値はNULLです。戻り値は、直前に書き込まれたブロックのブロックIDとデータベースのPermSizeを比較して計算されます。この値は、必ずしもチェックポイントの完了に必要な残り時間を正確に表すものではありませんが、ディスク書込みに必要な残り時間の目安にはなります。このフィールドには、使用済ブロックの書込みの進捗状況のみが表示され、チェックポイントの最後に追加のブックキーピングは含まれません。チェックポイントの処理中にこのプロシージャをコールすると、値はNULL以外になります。
ckptVNo TT_INTEGERNOT NULL チェックポイントごとに増加するチェックポイント順序番号。

処理中のチェックポイントの例を次に示します。

Call ttckpthistory;
< 2011-04-14 16:56:34.169520, <NULL>, Fuzzy           , 
In Progress     , User
, <NULL>, 0, <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, 
<NULL>, <NULL>, <NULL>, 13, 6 >

< 2011-04-14 16:55:47.703199, 2011-04-14 16:55:48.188764, 
Fuzzy           , Completed       , Checkpointer    , <NULL>, 
1, 0, 8964304, 294, 33554432, 291, 5677288, 27, 1019512, 
1065408, <NULL>, 5 >

< 2011-04-14 16:54:47.106110, 2011-04-14 16:54:47.723379, 
Static          , Completed       , Subdaemon       , <NULL>, 
0, 0, 8960328, 294, 33554432, 291, 5677288, 256, 33157172, 
5321548, <NULL>, 4 >

< 2011-04-14 16:54:41.633792, 2011-04-14 16:54:42.568469, 
Blocking        , Completed       , User            , <NULL>, 
1, 0, 8958160, 294, 33554432, 291, 5677288, 31, 1162112, 
6604976, <NULL>, 3 >

< 2011-04-14 16:54:37.438827, 2011-04-14 16:54:37.977301, 
Static          , Completed       , User            , <NULL>, 
0, 0, 1611984, 93, 33554432, 92, 1853848, 93, 33554432, 
1854052, <NULL>, 2 >

< 2011-04-14 16:54:36.861728, 2011-04-14 16:54:37.438376, 
Static          , Completed       , User            , <NULL>, 
1, 0, 1609936, 93, 33554432, 92, 1853848, 93, 33554432, 
1854052, <NULL>, 1 >

6 rows found.

最新のチェックポイントの試行中に発生したエラーの例を次に示します。

call ttckpthistory;
< 2011-04-14 16:57:14.476860, 2011-04-14 16:57:14.477957, 
Fuzzy           , Failed , User            , 847, 1, <NULL>, 
<NULL>, 0, 0, 0, 0, 0, 0, 0, <NULL>, 7 >

< 2011-04-14 16:56:34.169520, 2011-04-14 16:56:59.715451, 
Fuzzy           , Completed       , User            , <NULL>, 
0, 0, 8966472, 294, 33554432, 291, 5677288, 5, 522000, 
532928, <NULL>, 6 >

< 2011-04-14 16:55:47.703199, 2011-04-14 16:55:48.188764, 
Fuzzy           , Completed       , Checkpointer    , <NULL>, 
1, 0, 8964304, 294, 33554432, 291, 5677288, 27, 1019512, 
1065408, <NULL>, 5 >

< 2011-04-14 16:54:47.106110, 2011-04-14 16:54:47.723379, 
Static          , Completed       , Subdaemon       , <NULL>, 
0, 0, 8960328, 294, 33554432, 291, 5677288, 256, 33157172, 
5321548, <NULL>, 4 >

< 2011-04-14 16:54:41.633792, 2011-04-14 16:54:42.568469, 
Blocking        , Completed       , User            , <NULL>, 
1, 0, 8958160, 294, 33554432, 291, 5677288, 31, 1162112, 
6604976, <NULL>, 3 >

< 2011-04-14 16:54:37.438827, 2011-04-14 16:54:37.977301, 
Static          , Completed       , User            , <NULL>, 
0, 0, 1611984, 93, 33554432, 92, 1853848, 93, 33554432, 
1854052, <NULL>, 2 >

< 2011-04-14 16:54:36.861728, 2011-04-14 16:54:37.438376, 
Static          , Completed       , User            , <NULL>, 
1, 0, 1609936, 93, 33554432, 92, 1853848, 93, 33554432, 
1854052, <NULL>, 1 >

7 rows found.

注意

結果は、開始時間が新しいものから順に表示されます。

失敗した行は、次のチェックポイントによって上書きされます。

関連項目


ttCkpt
ttCkptBlocking

ttCommitBufferStats

説明

この組込みプロシージャは、コミット・バッファのオーバーフロー回数、およびトランザクション・コミット処理の間にトランザクション再利用レコードに使用された最大メモリー量を返します。

このプロシージャ・コールの結果によって提供される情報は、CommitBufferSizeMax接続属性またはALTER SESSION SQL文(『Oracle TimesTen In-Memory Database SQLリファレンス』を参照)を使用してコミット・バッファの最大サイズを明示的に設定する場合に役立ちます。このプロシージャにより、オーバーフローの回数および再利用レコードによる最大メモリー使用量に基づいて、再利用バッファの正しいサイズを選択できるようになります。

バッファ・オーバーフローがある場合には、コミット・バッファの最大サイズを増やすことを検討します。バッファ・オーバーフローがなく、最大メモリー使用量がコミット・バッファの最大サイズを十分に下回っている場合には、コミット・バッファの最大サイズを減らすことを検討します。

コミット・バッファ・サイズの設定方法を含む再利用操作の詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のトランザクション再利用操作に関する説明を参照してください。

必要な権限

このプロシージャには、権限は必要ありません。

構文

ttCommitBufferStats( )

パラメータ

ttCommitBufferStatsにパラメータはありません。

結果セット

ttCommitBufferStatsは次の結果を返します。

データ型 説明
overflows TT_BIGINTNOT NULL コミット・バッファ・オーバーフローの合計回数。
maxReached TT_BIGINTNOT NULL トランザクション・コミット・バッファに現在使用されている最大量(バイト)。

次の例は、コミット・バッファ・オーバーフローがなく、トランザクション・コミット・バッファが500MBに設定されているセッションの結果を示しています。

Command> ALTER SESSION SET COMMIT_BUFFER_SIZE_MAX = 500;
Session altered.
Command> CALL ttCommitBufferStats( );
< 0, 524288000 >
1 row found

コミット・バッファ・オーバーフローが10回あり、トランザクション・コミット・バッファが2MBに設定されているセッションでは、このプロシージャの出力は次のようになります。

Command> ALTER SESSION SET COMMIT_BUFFER_SIZE_MAX = 2;
Session altered.
Command> CALL ttCommitBufferStats( );
< 0, 2097152 >
1 row found

注意

組込みプロシージャttCommitBufferStatsResetをコールすると、コミット・バッファ統計はバイトで表されます。ただし、ttConfigurationの出力および接続属性CommitBufferSizeMaxによって設定された値はMBで表されます。

ttCommitBufferStatsReset

説明

ttCommitBufferStatsResetプロシージャは、トランザクション・コミット・バッファ統計を0にリセットします。これはたとえば、コミット・バッファの最大サイズに新しい値を設定し、統計を再開する場合に役立ちます。

コミット・バッファ・サイズの設定方法を含む再利用操作の詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のトランザクション再利用操作に関する説明を参照してください。

必要な権限

このプロシージャには、権限は必要ありません。

構文

ttCommitBufferStatsReset()

パラメータ

ttCommitBufferStatsResetにパラメータはありません。

結果セット

ttCommitBufferStatsResetは結果セットを返しません。

CALL ttCommitBufferStatsReset;

関連項目


ttCommitBufferStats

ttCompact

説明

このプロシージャは、データベースの永続データ・パーティションと一時データ・パーティションの両方を圧縮します。

ttCompactは、空き領域の隣接しているブロックをマージしますが、割り当てられているデータ項目の移動は行いません。したがって、割当済のメモリーのブロックで囲まれている、未割当ての小さなブロックによって発生する断片化は、ttCompactを使用しても排除されません。

このプロシージャは、下位互換用にサポートされています。新しいアプリケーションではコールしません。

必要な権限

このプロシージャには、ADMIN権限が必要です。

構文

ttCompact()

パラメータ

ttCompactにパラメータはありません。

結果セット

ttCompactは結果を返しません。

CALL ttCompact;

注意

データを圧縮しても、結果のアドレスは変更されません。

関連項目


ttCompactTS

ttCompactTS

説明

このプロシージャはttCompactと似ていますが、ttCompactがデータベース全体を圧縮するのに対して、ttCompactTSはデータベースの小さな断片を圧縮するために使用します。ttCompactTSは、ttCompactを時間で区切ったものです。ttCompactTSは、データベース内のすべてのブロックについて、指定した分量の圧縮を繰り返します。圧縮が1回行われるごとに、MONITOR表のDS_COMPACTSフィールドの値が増加します。

このプロシージャは、下位互換用にサポートされています。新しいアプリケーションではコールしません。

必要な権限

このプロシージャには、ADMIN権限が必要です。

構文

ttCompactTS(quantum)

パラメータ

ttCompactTSには、次のパラメータがあります。

パラメータ データ型 説明
quantum TT_INTEGERNOT NULL ttCompactTSが圧縮するデータ・ブロック数を指定する、0(ゼロ)以外の正の整数。1つのquantumは1つのデータ・ブロックに対応します。

結果セット

ttCompactTSは結果を返しません。

CALL ttCompactTS (5);

注意

データを圧縮しても、結果のアドレスは変更されません。

関連項目


ttCompact

ttComputeTabSizes

説明

ttComputeTabSizes組込みプロシージャは、TimesTenのシステム表に格納された表サイズの統計をリフレッシュします。この組込みプロシージャをコールした後で、DBA_TAB_SIZESUSER_TAB_SIZESまたはALL_TAB_SIZESの各ビューを問い合せると、統計の最新情報を確認できます。

このプロシージャは、表内の行を格納するために割り当てられている記憶域、表外バッファおよびシステムの使用量などの、指定された表に割り当てられている様々なタイプの記憶域を計算します。表を指定しない場合、このプロシージャは、そのユーザーがSELECT権限を持つすべての表のサイズを計算します。この組込みプロシージャを実行すると、DDL文と同様に、プロシージャの開始直後にトランザクションがコミットされ、処理が正常に完了すると再度コミットされます。

必要な権限

このプロシージャでは、指定した表に対するSELECT権限が必要です。

構文

ttComputeTabSizes (['tblName'], [includeOutOfLine])

パラメータ

ttComputeTabSizesには、次のパラメータがあります。

パラメータ データ型 説明
tblName TT_CHAR(61) アプリケーション表の名前。表の所有者を含めることができます。NULL値または空の文字列を指定すると、現在のすべての表に対する統計が更新されます。

想定される表のタイプは次のとおりです。

  • キャッシュ・グループ表を含む、ユーザー表

  • マテリアライズド・ビュー

  • システム表

includeOutOfLine TT_INTEGER 0(no)または1(yes)。デフォルトは1(yes)です。

値が0(no)の場合、表外の列を持つ表について、表外の値のサイズは計算されません。表外のフィールドはNULLとして表示されます。

表外の値の計算を省くと、このプロシージャの待機時間が大幅に短縮されます。


結果セット

ttComputeTabSizesは結果を返しません。

表外の列を除いてmy_tableのサイズを計算するには、次のコマンドを使用します。

CALL ttComputeTabSizes ('my_table', 0);

注意

この組込みプロシージャでは、ttComputeTabSizesを実行しているときでも挿入操作が可能です。そのため、ttComputeTabSizesで計算される各表のサイズは、計算中の表の最小サイズと最大サイズの間で値が決まります。たとえば、ttComputeTabSizesの実行時に表のサイズが250MBの場合、同時に実行しているトランザクションによって表のサイズが300MBに増加すると、ttComputeTabSizesは250から300MBの間で値を推定します。

関連項目


ttSize

ttConfiguration

説明

ttConfiguration組込みプロシージャは、現在のデータベース接続のほとんど(すべてではない)の接続属性の値を返します。具体的には、ttConfiguration組込みプロシージャは、次の接続属性の値を返します。


CacheAwtMethod
CacheAwtParallelism
CacheGridEnable
CacheGridMsgWait
CkptFrequency
CkptLogVolume
CkptRate
CkptReadThreads
CommitBufferSizeMax
ConnectionCharacterSet
ConnectionName
Connections
DDLCommitBehavior
DDLReplicationAction
DDLReplicationLevel
DataBaseCharacterSet
DataStore
DynamicLoadEnable
DuplicateBindMode
DurableCommits
DynamicLoadErrorMode
Isolation
RangeIndexType
LockLevel
LockWait
LogAutoTruncate
LogBufMB
LogBufParallelism
LogDir
LogFileSize
LogFlushMethod
LogPurge
MemoryLock
NLS_LENGTH_SEMANTICS
NLS_NCHAR_CONV_EXCP
NLS_SORT
OracleNetServiceName
PLSCOPE_SETTINGS
PLSQL
PLSQL_CCFLAGS
PLSQL_CODE_TYPE
PLSQL_CONN_MEM_LIMIT
PLSQL_MEMORY_ADDRESS
PLSQL_MEMORY_SIZE
PLSQL_OPTIMIZE_LEVEL
PLSQL_TIMEOUT
PassThrough
PermSize
PermWarnThreshold
Preallocate
PrivateCommands
QueryThreshold
RACCallback
ReceiverThreads
RecoveryThreads
ReplicationApplyOrdering
ReplicationParallelism
ReplicationTrack
SQLQueryTimeout
TempSize
TempWarnThreshold
Temporary
TypeMode
UID

必要な権限

このプロシージャには、権限は必要ありません。

構文

ttConfiguration(['paramName'])

パラメータ

ttConfigurationには、次のオプションのパラメータがあります。

パラメータ データ型 説明
paramName TT_VARCHAR (30) このプロシージャで値を返す接続属性の名前。

結果セット

ttConfigurationは次の結果セットを返します。

データ型 説明
paramName
TT_VARCHAR (30) 
NOT NULL
接続文字列中に指定されている接続属性の名前。アルファベット順に返されます。
paramValue TT_VARCHAR (1024) 接続文字列中に指定されている接続属性の値。

QueryThreshold接続属性の値を表示するには、次のコマンドを使用します。

CALL ttConfiguration('querythreshold');
<QueryThreshold, 0>
1 row found

すべての属性値を表示するには、次のコマンドを使用します。

CALL ttConfiguration();
< CacheGridEnable, 1 >
< CacheGridMsgWait, 60 >
< CkptFrequency, 600 >
< CkptLogVolume, 0 >
. . .

注意

クライアント・ドライバ属性の値は、このプロシージャでは返されません。

このプロシージャでは、ForceConnectなどの他の属性の値も返されません。

ttContext

説明

このプロシージャは、現在の接続のコンテキスト値をBINARY(8)値として返します。コンテキストを使用して、ttStatusユーティリティおよびttDataStoreStatus組込みプロシージャによって提示される接続リストから、データベースに一意の接続を関連付けることができます。

必要な権限

このプロシージャには、権限は必要ありません。

構文

ttContext()

パラメータ

ttContextにパラメータはありません。

結果セット

ttContextは次の結果セットを返します。

データ型 説明
context BINARY(8) 現在の接続のコンテキスト値。

CALL ttContext;

注意

コンテキスト値の番号は1つのプロセス内でのみ一意です。データベース全体では一意ではありません。したがって、異なるプロセスで同じコンテキスト値が使用されている可能性があります。

ttDataStoreStatus

説明

このプロシージャは、データベースに接続されたプロセスのリストを返します。dataStoreパラメータにNULLを指定すると、アクティブなすべてのデータベースの状態が返されます。

結果セットは、ttStatusユーティリティの出力と似ています。

必要な権限

このプロシージャには、権限は必要ありません。

構文

ttDataStoreStatus('dataStore')

パラメータ

ttDataStoreStatusには、次のパラメータがあります。

パラメータ データ型 説明
dataStore TT_VARCHAR (256) 特定のデータベースのフルパス名、またはすべてのデータベースの場合はNULL

結果セット

ttDataStoreStatusは、次の結果セットを返します。

データ型 説明
dataStore TT_VARCHAR (256) NOT NULL データベースのフルパス名。
PID TT_INTEGERNOT NULL プロセスID。
Context BINARY(8) NOT NULL 接続のコンテキスト値。
conType
TT_CHAR (16)
NOT NULL
接続しているプロセスのタイプ。結果は、次のいずれかです。

application: 通常のアプリケーションが接続されています。

replication: レプリケーション・エージェントが接続されています。

subdaemon: サブデーモンが接続されています。

oracleagent: キャッシュ・エージェントが接続されています。

ShmID
TT_VARCHAR (260)
NOT NULL
データベースが占有する共有メモリーIDの出力可能な形式。
connection_Name
TT_CHAR (30)
NOT NULL
データベース接続のシンボリック名。
connID TT_INTEGERNOT NULL データベース接続の数値ID。

CALL ttDataStoreStatus('/data/Purchasing');

ttDBConfig

説明

ttDBConfig組込みプロシージャを使用すると、ユーザーはTimesTenデータベース・システム・パラメータの値を設定または表示できます。

必要な権限

このプロシージャを実行するにはADMIN権限が必要です。

構文

ttDBConfig('param', 'value')

パラメータ

ttDBConfigには、次のパラメータがあります。

パラメータ データ型 説明
param VARCHAR2(30) NOT NULL 値を設定するまたは現在の値を確認する対象のシステム・パラメータ。この引数の許容値は次のとおりです。

CacheParAwtBatchSize

CacheAwtMethod

CacheAgentCommitBufSize

ParReplMaxDrift

RepAgentCommitBufSize

value VARCHAR2(200) システム・パラメータの値。

値を指定しない場合、このプロシージャは指定したパラメータの現在の値を返します。


パラメータ/値のペア

次の名前/値のペアが結果セットで返されます。

名前 説明
CacheParAwtBatchSize バッチ内の行数 単一のバッチに含まれる行数に対するしきい値を設定します。最大の行数に達すると、TimesTenがトランザクションに残りの行を含めますが(TimesTenはトランザクションを解除しません)、バッチにそれ以上のトランザクションを追加しません。

注意: Oracle TimesTenテクニカル・サポートからのアドバイスがないかぎり、このパラメータの値は変更しないでください。

CacheAwtMethod 0: SQL配列実行メソッド

1: PL/SQL実行メソッド

Oracle Databaseサーバーに変更を適用するためのAWT伝播で、PL/SQL実行メソッドを使用するか、SQL配列実行メソッドを使用するかを指定します。

詳細は、「CacheAWTMethod」接続属性の説明を参照してください。

この組込みプロシージャで設定された場合、接続属性の値は無視されます。

CacheAgentCommitBufSize MBで表されるサイズ キャッシュ・エージェントに再利用バッファの最大サイズを指定します。キャッシュ・エージェントは値が変更されたかどうかを定期的に確認します。サイズは一時パーティションのサイズより大きくできません。

詳細は、『Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイド』の自動リフレッシュ処理時にメモリーを再利用する際のパフォーマンスの向上に関する説明を参照してください。

ParReplMaxDrift 秒数 パラレル・レプリケーションの追跡間で可能なドリフトの秒数を指定します。自動パラレル・レプリケーションを使用し、コミットの依存性を無効にすると、一部の追跡が他追跡の前に移動する場合があります。このしきい値を過ぎると、TimesTenは、すべてのレプリケーション追跡が互いに追いつくように、これらを同期化します。デフォルトでは、これはゼロに設定され、追跡間のドリフトのチェックは無効になっています。

詳細は、『Oracle TimesTen In-Memory Database開発者および管理者ガイド』コミット依存性が無効化された自動パラレル・レプリケーションの構成に関する項を参照してください。

RepAgentCommitBufSize MBで表されるサイズ レプリケーション・エージェントに再利用バッファの最大サイズを指定します。レプリケーション・エージェントは値が変更されたかどうか定期的に確認します。サイズは一時パーティションのサイズより大きくできません。

詳細は、『Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイド』の自動リフレッシュ処理時にメモリーを再利用する際のパフォーマンスの向上に関する説明を参照してください。


結果セット

ttDBConfigは、次の結果セットを返します。

データ型 説明
param VARCHAR2(30) システム・パラメータの名前。
value VARCHAR2(200) 指定されたパラメータの現在の値を表示します。

CacheParAwtBatchSizeの現在の値を取得するには次のように実行します。

CALL ttDBConfig('CacheParAwtBatchSize');
<CACHEPARAWTBATCHSIZE, 125>
1 row found.

RepAgentCommitBufSizeの値を50MBに設定するには、次のように実行します。

CALL ttDBConfig('RepAgentCommitBufSize', '50');
 <REPAGENTCOMMITBUFSIZE, 50>
 1 row found.

CacheAgentCommitBufSizeの現在の値を100に設定するには、次のように実行します。

Command> call ttDBConfig('CacheAgentCommitBufSize', '100');
 < CACHEAGENTCOMMITBUFSIZE, 100 >
1 row found.

注意

この組込みプロシージャを使用してパラメータ値を設定した後には、チェックポイントを開始してパラメータ変更の永続性を確認してください。ttCheckpointプロシージャの詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のチェックポイント処理に関する説明を参照してください。チェックポイントの組込みプロシージャの詳細は、この章の「ttCkpt」を参照してください。

ttDbConfigによるパラメータ値の変更はロールバックできません。

関連項目


「CacheAWTMethod」
『Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイド』のAWTのスループットの向上に関する説明、AWTキャッシュ・グループのパラレル伝播におけるバッチ・サイズの構成に関する説明および自動リフレッシュ処理時にメモリーを再利用する際のパフォーマンスの向上に関する説明

ttDbWriteConcurrencyModeGet

説明

ttDbWriteConcurrencyModeGet組込みプロシージャは、データベースの書込み同時実行モードおよび書込み同時実行モード処理とトランザクションの状態についての情報を返します。

必要な権限

このプロシージャには、権限は必要ありません。

構文

ttDbWriteConcurrencyModeGet()

パラメータ

ttDbWriteConcurrencyModeGetにはパラメータはありません。

結果セット

ttDbWriteConcurrencyModeGetは結果セットを返します。

データ型 説明
ts TIMESTAMP NOT NULL ステータス情報が収集された時刻。
mode TT_INTEGER NOT NULL 書込み同時実行モード。

0: ヒントおよび標準的な最適化技術に従って最適化します。

1: 同時書込み処理を最適化します。

operation VARCHAR2 (50) 書込み同時実行モードの移行状態。次のいずれかです。

NULL: 移行していません。

TRANSITIONING TO MODE=n (n= 0または1)。

status VARCHAR2 (100) NOT NULL 書込み同時実行モードの移行状態。次のいずれかです。

IN TRANSITIONまたはCOMPLETE

msg VARCHAR2 (5000) NULLまたはステータスの説明メッセージ。

次の例では、データベースが同時書込み処理用に最適化されたかを確認する方法を示します。

Command> CALL ttDbWriteConcurrencyModeGet();

< 2013-09-23 13:48:21.207599, 1, <NULL>, COMPLETE, <NULL> >
1 row found.

結果は、2013年9月23日午後1時48分ごろにデータベースが同時書込み処理のために最適化されたことを示しています。モードは移行していません。

ttDbWriteConcurrencyModeSet

説明

ttDbWriteConcurrencyModeSet組込みプロシージャは同時書込み処理中に読取り最適化を制御します。

モードを1に設定すると、拡張書込み同時実行モードが有効になり、読込み最適化が無効になります。モードを0 (ゼロ)に設定すると、拡張書込み同時実行モードが無効になり、読込み最適化が再び有効になります。モードを1に設定すると、すべてのトランザクションおよび文の表ロックのヒントが抑制されます。これはSELECT文および副問合せに対してヒントでトリガーされたSn表ロック、およびDML文に対してヒントでトリガーされたW表ロックにも影響します。表ロックのヒントを抑制すると、スター結合などの実行計画を促す他の表ロックのヒントも抑制されます。モード設定にかかわらず、表ロックのヒントでトリガーされない表ロックは影響されません。

必要な権限

このプロシージャを実行するにはADMIN権限が必要です。

構文

ttDbWriteConcurrencyModeSet(mode, wait)

パラメータ

ttDbWriteConcurrencyModeSetには次のパラメータがあります。

パラメータ データ型 説明
mode TT_INTEGERNOT NULL 書込み同時実行モード。

0: ヒントおよび標準的な最適化技術に従って最適化します。

1: 同時書込み処理を最適化します。

wait TT_INTEGERNOT NULL 0: モード移行の開始後すぐに返します。

1: モード移行が完了するまで待機してから返します。これは、0以外の値にモードを設定する場合に役立ちます。モードを0に設定した場合、通常、wait1に指定する必要はありません。


結果セット

ttDbWriteConcurrencyModeSetは結果セットを戻しません。

次の例では、標準的な最適化技術を有効にして、処理の開始後すぐに返すようにする方法を示します。

Command> CALL ttDbWriteConcurrencyModeSet(0,0);

注意

モードを1に設定する場合、すべてのトランザクションおよび文の表ロックのヒントは抑制されます。これはSELECT文および副問合せに対してヒントでトリガーされたSn表ロック、およびDML文に対してヒントでトリガーされたW表ロックにも影響します。表ロックのヒントを抑制すると、スター結合などの実行計画を促す他の表ロックのヒントも抑制されます。モード設定にかかわらず、表ロックのヒントでトリガーされない表ロックは影響されません。

ttDurableCommit

説明

このプロシージャは、現在のトランザクションをコミット時に永続的にすることを指定します。このプロシージャは、DurableCommitsが無効であり、アプリケーションがデータベースに接続されている場合にかぎり有効です。

また、ttDurableCommitをコールすることによって、現在のトランザクションおよび以前にコミットされた遅延永続トランザクションもすべて永続的になります。ttDurableCommitをコールした後にコミットされたトランザクションに対しては効果がありません。ttDurableCommitはトランザクションをコミットしません。たとえば、アプリケーションをコミットするには、SQLTransactなどをコールする必要があります。

必要な権限

このプロシージャには、権限は必要ありません。

構文

ttDurableCommit()

パラメータ

ttDurableCommitにパラメータはありません。

結果セット

ttDurableCommitは結果を返しません。

CALL ttDurableCommit;

注意

コントローラやドライバによっては、コントローラ内のキャッシュ・メモリーにデータを書き込むだけであったり、書込みが終了したことがオペレーティング・システムに通知された後のいずれかの時点でディスクに書込みを行う場合があります。このような場合に電力障害が発生すると、永続的にコミットされたものと思っていた情報の一部が失われている可能性もあります。こうしたデータの損失を避けるには、処理の完了を通知する前に必ず記録メディアに書き込むようにディスクを構成するか、または無停電電源装置(UPS)を使用してください。

ttGridAttach

説明

このプロシージャは、既存のローカル・キャッシュ・グリッドにグリッド・メンバーをアタッチします。スタンドアロンのTimesTenデータベースまたはTimesTenアクティブ・スタンバイ・ペアをグリッド・メンバーにすることができます。

メンバーがアクティブ・スタンバイ・ペアの場合、ペアの両方のノードをグリッドにアタッチする必要があります。ttGridAttach組込みプロシージャをアクティブ・スタンバイ・ペアの各ノードからコールする場合、両方のノードのIPアドレスまたはホスト名を指定してください。

ttGridAttach組込みプロシージャは、キャッシュ・エージェントがまだ実行中でない場合に、エージェントを自動的に起動します。また、ttGridAttach組込みプロシージャは、指定されたTCP/IPポートをキャッシュ・エージェントに設定し、グローバル・キャッシュ・グループを容易にします。

このプロシージャによって設定される情報を取得するには、組込みプロシージャttGridNodeStatusをコールします。

まだ実行されていない場合は、このプロシージャによってキャッシュ・エージェントが起動されます。このプロシージャをリモートで実行することはできません。

必要な権限

このプロシージャには、CACHE_MANAGER権限が必要です。

構文

スタンドアロンのTimesTenデータベースの場合は、次のようになります。

ttGridAttach(currentNode, 'name1', IPAddr1, port1)

アクティブ・スタンバイ・ペアのノードの場合は、次のようになります。

ttGridAttach(currentNode, 'name1', IPAddr1, port1 'name2', IPAddr2, port2)

パラメータ

ttGridAttachには、次のパラメータがあります。

パラメータ データ型 説明
currentNode TT_INTEGERNOT NULL マスター・データベース用のノード番号。このパラメータに有効な値は、次のとおりです。

1: スタンドアロンまたはアクティブ・マスター・データベース。

2 - スタンバイ・マスター・データベース。

name1 TT_VARCAR (30) アクティブ・マスター・データベースのグリッド・メンバーを一意に識別する完全修飾名。
IPAddr1 TT_VARCHAR (128) NOT NULL アクティブ・マスター・データベースが存在するノードのIPアドレス。
port1 TT_INTEGERNOT NULL アクティブ・マスター・データベースまたはスタンドアロン・データベースのキャッシュ・エージェント・プロセスのポート番号。
name2 TT_VARCAR (30) スタンバイ・マスター・データベースのグリッド・メンバーを一意に識別する完全修飾名。
IPAddr2 TT_VARCHAR (128) スタンバイ・マスター・データベースが存在するノードのIPアドレス。
port2 TT_INTEGER スタンバイ・マスター・データベースのキャッシュ・エージェント・プロセスのポート番号。

結果セット

ttGridAttachは結果を返しません。

スタンドアロンのTimesTenデータベースをグリッドにアタッチするには、次のように実行します。

CALL ttGridAttach (1, 'alone2','sys2',5002);

アクティブ・マスター・データベースをグリッドにアタッチするには、次のように実行します。

CALL ttGridAttach(1,'cacheact','sys1',5003,'cachestand','sys2',5004);

スタンバイ・マスター・データベースをグリッドにアタッチするには、次のように実行します。

CALL ttGridAttach(2,'cacheact','sys1',5003,'cachestand','sys2',5004);

アクティブおよびスタンバイのマスター・データ・ストアをアタッチするコールの内容は、ノード番号を除いて同じです。

関連項目


ttGridCheckOwner
ttGridCreate
ttGridDestroy
ttGridDetach
ttGridDetachList
ttGridDetachAll
ttGridGlobalCGResume
ttGridGlobalCGSuspend
ttGridNameSet
ttGridNodeStatus
『Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイド』のキャッシュ・グリッドの構成に関する説明

ttGridCheckOwner

説明

このプロシージャは、グローバル・キャッシュ・グループの行数が、所有者表の行数と同じかどうかをチェックします。このプロシージャは、キャッシュ・グリッドが実行されていない場合にのみコールしてください。

必要な権限

このプロシージャには、CACHE_MANAGER権限が必要です。

構文

ttGridCheckOwner(['cvName'], ['cvOwner'])

パラメータ

ttGridCheckOwnerには、次のオプションのパラメータがあります。

パラメータ データ型 説明
cvName TT_VARCHAR (30) チェックするキャッシュ・グループの名前。NULLで、所有者が指定されている場合、所有者に所有されるすべてのキャッシュ・グループがチェックされます。NULLで、所有者が指定されていない場合、すべてのキャッシュ・グループがチェックされます。
cvOwner TT_VARCHAR (30) チェックするキャッシュ・グループの所有者。NULLの場合、すべてのキャッシュ・グループがチェックされます。

結果セット

ttGridCheckOwnerは結果を返しません。

ユーザーterryが所有するmygroupキャッシュ・グループの情報を取得するには、次のように実行します。

CALL ttGridCheckOwner ('mygroup', 'terry');

すべてのキャッシュ・グループの情報を取得するには、次のように実行します。

CALL ttGridCheckOwner();

関連項目


ttGridAttach
ttGridCreate
ttGridDestroy
ttGridDetach
ttGridDetachAll
ttGridDetachList
ttGridGlobalCGResume
ttGridGlobalCGSuspend
ttGridNameSet
ttGridNodeStatus
『Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイド』のキャッシュ・グリッドの構成に関する説明

ttGridCreate

説明

このプロシージャは、キャッシュ・グリッドを作成します。グリッドを作成するには、このプロシージャを一度のみ実行します。この組込みプロシージャは、スタンドアロンのデータベース、あるいはアクティブ・スタンバイ・ペアのアクティブ・マスター・データベースまたはスタンバイ・マスター・データベースから実行できます。

AUTOCOMMIT=0の場合は、このプロシージャをコールした後にコミットする必要があります。

必要な権限

このプロシージャには、CACHE_MANAGER権限が必要です。

構文

ttGridCreate('gridName')

パラメータ

ttGridCreateには、次のパラメータがあります。

パラメータ データ型 説明
gridName TT_VARCHAR (30) NOT NULL グリッドの名前を指定します。

結果セット

ttGridCreateは結果を返しません。

mygridという名前のグリッドを作成するには、次のように実行します。

CALL ttGridCreate ('mygrid');

関連項目


ttGridAttach
ttGridCheckOwner
ttGridDestroy
ttGridDetach
ttGridDetachAll
ttGridDetachList
ttGridGlobalCGResume
ttGridGlobalCGSuspend
ttGridNameSet
ttGridNodeStatus
『Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイド』のキャッシュ・グリッドの構成に関する説明

ttGridDestroy

説明

このプロシージャは、Oracle Databaseに格納されているすべてのキャッシュ・グリッド・オブジェクトを削除して、キャッシュ・グリッドを破棄します。

デフォルトでは、この組込みプロシージャは、アタッチ中のメンバーまたは既存のキャッシュ・グループが存在する間は、グリッドを破棄しません。

キャッシュ・グリッドを破棄する前に、キャッシュ・グリッドからすべてのTimesTenデータベースをデタッチしてください。グリッドを強制的に破棄するには、forceパラメータの引数に1を指定します。

必要な権限

このプロシージャには、CACHE_MANAGER権限が必要です。

構文

ttGridDestroy('gridName', [force])

パラメータ

ttGridDestroyには、次のパラメータがあります。

パラメータ データ型 説明
gridName TT_VARCHAR (30) NOT NULL 破棄するグリッドの完全修飾名。
force TT_INTEGER このオプションのパラメータでは、キャッシュ・グリッドにアタッチされているグリッド・メンバーが残っている場合、またはキャッシュ・グループがまだ含まれている場合でも、強制的にキャッシュ・グリッドが破棄されます。有効な値は1です。

結果セット

ttGridDestroyは結果を返しません。

mygridキャッシュ・グリッドを強制的に破棄するには、次のように実行します。

CALL ttGridDestroy ('mygrid', 1);

関連項目


ttGridAttach
ttGridCheckOwner
ttGridCreate
ttGridDetach
ttGridDetachAll
ttGridDetachList
ttGridGlobalCGResume
ttGridGlobalCGSuspend
ttGridNameSet
ttGridNodeStatus
『Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイド』のキャッシュ・グリッドの構成に関する説明

ttGridDetach

説明

このプロシージャは、キャッシュ・グリッドからノードをデタッチします。

このプロシージャは、キャッシュ・グリッドを破棄する前に使用します。キャッシュ・グリッドにアタッチされているノードがある場合、キャッシュ・グリッドを破棄できません。

必要な権限

このプロシージャには、CACHE_MANAGER権限が必要です。

構文

ttGridDetach(['nodeMemberName',] [force] [oraclePropWaitSec])

パラメータ

ttGridDetachには、次のオプションのパラメータがあります。

パラメータ データ型 説明
nodeMemberName TT_VARCHAR (200) グリッドからデタッチするノードを指定します。

アクティブ・スタンバイ・ペアの場合、各ノードを個別にデタッチする必要があります。

force TT_INTEGER ノードが停止しているかどうかをチェックせずにそのノードがデタッチされます。有効な値は1です。
oraclePropWaitSec TT_INTEGER ノードをデタッチする前に、すべてのトランザクションがOracle Databaseに伝播されるまで待機する時間(秒)を指定します。-1は永久に待機することを表します。値を指定しない場合、ttGridDetachの待機時間は1秒になります。

結果セット

ttGridDetachは結果を返しません。

現在のノードをグリッドからデタッチするには、次のように実行します。

CALL ttGridDetach();

リモート・ノードTTGRID_alone2_2をグリッドからデタッチするには、次のように実行します。

CALL ttGridDetach('TTGRID_alone2_2',1);

関連項目


ttGridAttach
ttGridCheckOwner
ttGridCreate
ttGridDetachAll
ttGridDetachList
ttGridDestroy
ttGridGlobalCGResume
ttGridGlobalCGSuspend
ttGridNameSet
ttGridNodeStatus
『Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイド』のキャッシュ・グリッドの構成に関する説明

ttGridDetachAll

説明

このプロシージャは、アタッチされているすべてのメンバーをグリッドからデタッチします。スタンドアロンのTimesTenデータベースまたはTimesTenアクティブ・スタンバイ・ペアをグリッド・メンバーにすることができます。

まだ実行されていない場合は、このプロシージャによってキャッシュ・エージェントが起動されます。

必要な権限

このプロシージャには、CACHE_MANAGER権限が必要です。

構文

ttGridDetachAll([oraclePropWaitSec])

パラメータ

ttGridDetachAllには、次のオプションのパラメータがあります。

パラメータ データ型 説明
oraclePropWaitSec TT_INTEGER すべてのノードをデタッチする前に、すべてのトランザクションがOracle Databaseに伝播されるまで待機する時間(秒)を指定します。-1は永久に待機することを表します。値を指定しない場合、ttGridDetachAllの待機時間は1秒になります。

結果セット

ttGridDetachAllは結果を返しません。

すべてのグリッド・メンバーをデタッチするには、次のように実行します。

CALL ttGridDetachAll();

関連項目


ttGridAttach
ttGridCheckOwner
ttGridCreate
ttGridDestroy
ttGridDetach
ttGridDetachList
ttGridGlobalCGResume
ttGridGlobalCGSuspend
ttGridNameSet
ttGridNodeStatus
『Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイド』のキャッシュ・グリッドの構成に関する説明

ttGridDetachList

説明

このプロシージャは、リスト内のノードをデタッチします。リモートのノードは使用不可であるため、このようなノードに対して有効です。

必要な権限

このプロシージャには、CACHE_MANAGER権限が必要です。

構文

ttGridDetachList('nodeMemberName1 [nodeMemberName2 ...]' 
[,force] [oraclePropWaitSec])

パラメータ

ttGridDetachListには、次のパラメータがあります。

パラメータ データ型 説明
nodeMemberName TT_VARCHAR (8192) NOT NULL 削除するノードの完全修飾名。
force TT_INTEGER このオプションのパラメータでは、ノードが停止しているかどうかをチェックせずにノードがデタッチされます。有効な値は1です。
oraclePropWaitSec TT_INTEGER このオプションのパラメータでは、リスト内のノードをデタッチする前に、すべてのトランザクションがOracle Databaseに伝播されるまで待機する時間(秒)を指定します。-1は永久に待機することを表します。値を指定しない場合、ttGridDetachListの待機時間は1秒になります。

結果セット

ttGridDetachListは結果を返しません。

CALL ttGridDetachList('TTGRID_cacheact_3A TTGRID_cachestand_3B',1, );

関連項目


ttGridAttach
ttGridCheckOwner
ttGridCreate
ttGridDetach
ttGridDetachAll
ttGridDestroy
ttGridGlobalCGResume
ttGridGlobalCGSuspend
ttGridNameSet
ttGridNodeStatus
『Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイド』キャッシュ・グリッドの構成に関する説明

ttGridFirstMemberAttach

説明

このプロシージャは、ttGridAttach組込みプロシージャと似ています。ここでは、グリッドのアタッチされているすべてのメンバーが停止した場合、このプロシージャをコールしてグリッドの最初のメンバーをアタッチします。

このプロシージャは、1つのメンバーからのみコールしてください。この組込みプロシージャをコールする前に、他のすべてのメンバーのキャッシュ・エージェントが停止していることを確認します(そうでない場合、プロシージャで障害が発生します)。

ttGridFirstMemberAttach組込みプロシージャは、キャッシュ・エージェントがまだ実行中でない場合に、エージェントを自動的に起動します。また、ttGridFirstMemberAttach組込みプロシージャは、指定されたTCP/IPポートをキャッシュ・エージェントに設定し、グローバル・キャッシュ・グループを容易にします。

このプロシージャによって設定される情報を取得するには、組込みプロシージャttGridNodeStatusをコールします。

まだ実行されていない場合は、このプロシージャによってキャッシュ・エージェントが起動されます。このプロシージャをリモートで実行することはできません。

必要な権限

このプロシージャには、CACHE_MANAGER権限が必要です。

構文

スタンドアロンのTimesTenデータベースの場合は、次のようになります。

ttGridFirstMemberAttach(currentNode, 'name1', IPAddr1, port1)

アクティブ・スタンバイ・ペアのノードの場合は、次のようになります。

ttGridFirstMemberAttach(currentNode, 'name1',
    IPAddr1, port1 'name2', IPAddr2, port2)

パラメータ

ttGridFirstMemberAttachには、次のパラメータがあります。

パラメータ データ型 説明
currentNode TT_INTEGERNOT NULL マスター・データベース用のノード番号。このパラメータに有効な値は、次のとおりです。

1: スタンドアロンまたはアクティブ・マスター・データベース。

2 - スタンバイ・マスター・データベース。

name1 TT_VARCHAR (30) アクティブ・マスター・データベースのグリッド・メンバーを一意に識別する完全修飾名。
IPAddr1 TT_VARCHAR (128) NOT NULL アクティブ・マスター・データベースが存在するノードのIPアドレス。
port1 TT_INTEGERNOT NULL アクティブ・マスター・データベースまたはスタンドアロン・データベースのキャッシュ・エージェント・プロセスのポート番号。
name2 TT_VARCAR (30) スタンバイ・マスター・データベースのグリッド・メンバーを一意に識別する完全修飾名。
IPAddr2 TT_VARCHAR (128) スタンバイ・マスター・データベースが存在するノードのIPアドレス。
port2 TT_INTEGER スタンバイ・マスター・データベースのキャッシュ・エージェント・プロセスのポート番号。

結果セット

ttGridFirstMemberAttachは結果を返しません。

スタンドアロンのTimesTenデータベースをグリッドにアタッチするには、次のように実行します。

CALL ttGridFirstMemberAttach (1, 'alone2','sys2',5002);

関連項目


ttGridCheckOwner
ttGridCreate
ttGridDestroy
ttGridDetach
ttGridDetachList
ttGridDetachAll
ttGridGlobalCGResume
ttGridGlobalCGSuspend
ttGridNameSet
ttGridNodeStatus
『Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイド』のキャッシュ・グリッドの構成に関する説明

ttGridGlobalCGResume

説明

このプロシージャは、ttGridGlobalCGSuspendへのコール後にブロックされた処理を再開します。

必要な権限

このプロシージャには、CACHE_MANAGER権限が必要です。

構文

ttGridGlobalCGResume()

パラメータ

ttGridGlobalCGResumeにパラメータはありません。

結果セット

ttGridGlobalCGResumeは結果を返しません。

すべてのグリッド・メンバーをデタッチするには、次のように実行します。

CALL ttGridGlobalCGResume();

関連項目


ttGridAttach
ttGridCheckOwner
ttGridCreate
ttGridDestroy
ttGridDetach
ttGridDetachAll
ttGridDetachList
ttGridGlobalCGSuspend
ttGridNameSet
ttGridNodeStatus
『Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイド』のキャッシュ・グリッドの構成に関する説明

ttGridGlobalCGSuspend

説明

このプロシージャは、グローバル・キャッシュ・グループのキャッシュ・インスタンスの動的なロードおよび削除を一時的にブロックします。これらのアクションを再度有効にするには、ttGridGlobalCGResumeプロシージャを使用します。

必要な権限

このプロシージャには、CACHE_MANAGER権限が必要です。

構文

ttGridGlobalCGSuspend(wait)

パラメータ

ttGridGlobalCGSuspendには、次のパラメータがあります。

パラメータ データ型 説明
wait TT_INTEGER 保留中の削除処理がOracle Databaseに伝播されるか、保留中の透過的ロード処理が完了して戻されるまでコマンドが待機する秒数です。保留中の削除処理または保留中の透過的ロード処理が指定した時間内に完了できなかった場合に、TimesTenはエラーを返します。

値が指定されない場合は、待機時間はありません。


結果セット

ttGridGlobalCGSuspendは結果を返しません。

待機時間を10秒に設定するには、次のようにします。

CALL ttGridGlobalCGSuspend(10);

関連項目


ttGridAttach
ttGridCheckOwner
ttGridCreate
ttGridDestroy
ttGridDetach
ttGridDetachAll
ttGridDetachList
ttGridGlobalCGResume
ttGridNameSet
ttGridNodeStatus
『Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイド』のキャッシュ・グリッドの構成に関する説明

ttGridInfo

説明

このプロシージャは、指定されたキャッシュ・グリッドまたはすべてのキャッシュ・グリッドに関する情報を返します。

必要な権限

このプロシージャには、CACHE_MANAGER権限が必要です。

構文

ttGridInfo(['gridName'])

パラメータ

ttGridInfoには、次のオプションのパラメータがあります。

パラメータ データ型 説明
gridName TT_VARCHAR (30) gridNameが指定された場合、指定されたグリッドに関する情報が表示されます。指定されていない場合は、すべてのグリッドに関する情報が表示されます。

結果セット

ttGridInfoによって、キャッシュ・グリッドに関する情報が返されます。

データ型 説明
gridName TT_VARCHAR (30) 指定されたグリッドの名前。
cacheAdminID TT_VARCHAR (30)

NOT NULL

グリッドに関連付けられているキャッシュ管理ユーザーID。
platform TT_VARCHAR (100) グリッドが稼働しているオペレーティング・システム・プラットフォーム。

プラットフォーム値は次のように表示されます。

オペレーティング・システム, ビット・レベル

次に例を示します。

<. . ., Solaris x86, 64-bit, . . .>

major1 TT_VARCHAR (10) グリッドに関連付けられているTimesTenのメジャー・リリースの最初の番号。たとえば、リリースが11.2.2の場合、11となります。
major2 TT_VARCHAR (10) グリッドに関連付けられているTimesTenのメジャー・リリースの2番目の番号。たとえば、リリースが11.2.2の場合、2となります。
major3 TT_VARCHAR (10) グリッドに関連付けられているTimesTenのメジャー・リリースの3番目の番号。たとえば、リリースが11.2.2の場合、2となります。

mygridキャッシュ・グリッドの情報を取得するには、次のように実行します。

CALL ttGridInfo ('mygrid');
< MYGRID, CACHEUSER, Linux Intel x86, 32-bit, 11, 2, 2 >

すべてのグリッドの情報を取得するには、次のように実行します。

CALL ttGridInfo();

関連項目


ttGridAttach
ttGridCheckOwner
ttGridCreate
ttGridDestroy
ttGridDetach
ttGridDetachAll
ttGridDetachList
ttGridGlobalCGResume
ttGridGlobalCGSuspend
ttGridNameSet
ttGridNodeStatus
『Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイド』のキャッシュ・グリッドの構成に関する説明

ttGridNameSet

説明

このプロシージャは、TimesTenデータベースをグリッドに関連付けます。

必要な権限

このプロシージャには、CACHE_MANAGER権限が必要です。

構文

ttGridNameSet('gridName')

パラメータ

ttGridNameSetには、次のパラメータがあります。

パラメータ データ型 説明
gridName TT_VARCHAR (30) プロシージャをコールするTimesTenデータベースを、gridNameで指定されたグリッドに関連付けます。

結果セット

ttGridNameSetは結果を返しません。

データベースをグリッドmygridに関連付けるには、次のように実行します。

CALL ttGridNameSet('mygrid');

関連項目


ttGridAttach
ttGridCheckOwner
ttGridCreate
ttGridDestroy
ttGridDetach
ttGridDetachAll
ttGridDetachList
ttGridGlobalCGResume
ttGridGlobalCGSuspend
ttGridNodeStatus
『Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイド』のキャッシュ・グリッドの構成に関する説明

ttGridNodeStatus

説明

このプロシージャは、指定されたキャッシュ・グリッドのすべてのメンバーに関する情報を返します。グリッド名が指定されない場合、Oracle Databaseに関連付けられているすべてのキャッシュ・グリッドのすべてのメンバーに関する情報を表示します。

必要な権限

このプロシージャには、CACHE_MANAGER権限が必要です。

構文

ttGridNodeStatus(['gridName'])

パラメータ

ttGridNodeStatusには、次のオプションのパラメータがあります。

パラメータ データ型 説明
gridName TT_VARCHAR (30) gridNameが指定された場合、指定されたグリッドのすべてのメンバーに関する情報が表示されます。指定されていない場合は、すべてのグリッドに関する情報が表示されます。

結果セット

ttGridNodeStatusは次の結果を返します。

データ型 説明
gridName TT_VARCHAR (30) グリッドの名前。
nodeID TT_INTEGERNOT NULL グリッド・ノードの一意のID。
activeNode TT_INTEGERNOT NULL アクティブ・マスター・データベースまたはスタンドアロン・データベースが現在存在するノードの番号。
node1Attached CHAR (1) NOT NULL アクティブ・ノードがグリッドにアタッチされているかどうかを示します。

T: アクティブ・ノードはアタッチされています。

F: アクティブ・ノードはデタッチされています。

Host1 TT_VARCHAR (200) NOT NULL アクティブ・データベースが存在するホスト名。
memberName1 TT_VARCHAR (200) NOT NULL スタンドアロン・データベースまたはアクティブ・スタンバイ・データベースの一意のメンバー名。
IPaddr1 TT_VARCHAR (128) NOT NULL アクティブ・マスター・データベースまたはスタンドアロン・データベースが存在する場所のIPアドレス。
port1 TT_INTEGERNOT NULL アクティブ・マスター・データベースまたはスタンドアロン・データベースのキャッシュ・エージェント・プロセスのポート番号。
node2Attached CHAR (1) スタンバイ・ノードがグリッドにアタッチされているかどうかを示します。

T: スタンバイ・ノードはアタッチされています。

F: スタンバイ・ノードはデタッチされています。

host2 TT_VARCHAR (200) スタンバイ・マスター・データベースが存在するホスト名。
memberName2 TT_VARCHAR (200) スタンドアロン・データベースまたはアクティブ・スタンバイ・データベースの一意のメンバー名。
IPaddr2 TT_VARCHAR (128) スタンバイ・マスター・データベースが存在するIPアドレス。
port2 TT_INTEGER スタンバイ・マスター・データベースのキャッシュ・エージェント・プロセスのポート番号。

スタンドアロン・データベースのグリッド・メンバーの場合、結果セットに表示される列数はアクティブ・スタンバイ・ペアのメンバーよりも少なくなります。

ttgridがデータベースの唯一のキャッシュ・グリッドの場合、そのメンバーに関する情報を表示するには、次のように実行します。

Command> call ttGridNodeStatus;

< TTGRID, 1, 1, T, sys1, TTGRID_alone1_1, 140.87.0.201, 5001, <NULL>,
<NULL>,<NULL>, <NULL>, <NULL> >
< TTGRID, 2, 1, T, sys2, TTGRID_alone2_2, 140.87.0.202, 5002, <NULL>,
<NULL>,<NULL>, <NULL>, <NULL> >
< TTGRID, 3, 1, T, sys3, TTGRID_cacheact_3A, 140.87.0.203, 5003, T, 
sys4, TTGRID_cachestand_3B, 140.87.0.204, 5004 >

関連項目


ttGridAttach
ttGridCheckOwner
ttGridCreate
ttGridDestroy
ttGridDetach
ttGridDetachAll
ttGridDetachList
ttGridGlobalCGResume
ttGridGlobalCGSuspend
ttGridNameSet
『Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイド』のキャッシュ・グリッドの構成に関する説明

ttHostNameGet

説明

このプロシージャは、現在のローカル・ホスト名を返します。戻り値は、現在のセッションでのみ有効です。システム全体に対する設定ではなく、現在のセッションが切断された後は無効になります。

スキーム内の特定のストア名が現在のホストを参照しているかどうかを確認する場合に、このプロシージャを使用します。これは、レプリケーション・スキームを構成する際に便利です。

必要な権限

このプロシージャには、権限は必要ありません。

構文

ttHostnameGet()

パラメータ

ttHostNameGetにパラメータはありません。

結果セット

ttHostNameGetは次の結果を返します。

データ型 説明
hostName TT_VARCHAR (200) データベースの現在のデフォルトのローカル・ホスト設定。デフォルトが指定されていない場合は、現在のホスト名が返されます。

CALL ttHostNameGet ();

関連項目


ttHostNameSet
『Oracle TimesTen In-Memory Database開発者および管理者ガイド』の「レプリケート・システムの設定」

ttHostNameSet

説明

このプロシージャは、現在のデータベースのデフォルトのローカル・ホスト名を指定します。この値は、現在のセッションのみで使用される値であり、システム全体に対する設定値ではなく、現在のセッションの接続が切断されると無効になります。

マスター/サブスクライバの関係およびレプリケーション・オブジェクトのアクセス権を正しく構成するには、スクリプトが現在実行されているコンピュータをレプリケーション・スキームで使用されるホスト名が参照しているかどうかを、レプリケーションDDLのプロセスで判断できることが必要です。このプロシージャを使用すると、現在のホスト名を確立する必要があるときにはいつでも、レプリケーションDDLのプロセスが使用する現在のセッションのデフォルト・ホスト名をアプリケーションから設定できるようになります。

必要な権限

このプロシージャには、ADMIN権限が必要です。

構文

ttHostnameSet('hostName')

パラメータ

ttHostNameSetには、次のパラメータがあります。

パラメータ データ型 説明
hostName TT_VARCHAR (200) ローカル・コンピュータの必要なデフォルト名。デフォルト値をクリアするには、NULLを指定します。

結果セット

ttHostNameSetは結果を返しません。

CALL ttHostNameSet ('alias1');

注意

hostNameの有効な値は、localhost127.0.0.1または::1以外の任意のホスト名またはIPアドレスです。既存のレプリケーション・スキームで使用されているローカル・ホスト名と異なる値を、デフォルト・ホスト名に設定することはできません。

関連項目


ttHostNameGet
『Oracle TimesTen In-Memory Database開発者および管理者ガイド』の「レプリケート・システムの設定」

ttIndexAdviceCaptureDrop

説明

このプロシージャは現在の接続または現在のデータベースの既存の取得データを削除します。そのレベルのttIndexAdviceCaptureOutputへの後続のコールは行を返しません。

このプロシージャおよびこれに関連するプロシージャをIndex Advisorと呼びます。これらのプロシージャの使用法の詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』の索引を推奨するためのIndex Advisorの使用に関する説明を参照してください。

必要な権限

このプロシージャでは接続レベルの取得を削除するために権限を必要としません。

このプロシージャでは、データベース・レベルの取得を削除するためにADMIN権限が必要です。

構文

ttIndexAdviceCaptureDrop([captureLevel])

パラメータ

ttIndexAdviceCaptureDropには次のオプション・パラメータがあります。

パラメータ データ型 説明
captureLevel TT_INTEGER 取得レベルの有効な値は次のとおりです。

0 - 索引アドバイス取得は、現在の接続の接続レベルで削除されます。これはデフォルトです。

1 - 索引アドバイス取得はデータベース・レベルで削除されます。


結果セット

ttIndexAdviceCaptureDropは結果を返しません。

CALL ttIndexAdviceCaptureDrop;

注意

接続レベルの取得とデータベース・レベルの取得の両方を削除するには、コマンドを2回呼び出します(それぞれの取得レベルについて1回ずつ)。

削除を試行しているレベルで取得が進行中にこのコマンドをコールすると、エラーになります。

関連項目


ttIndexAdviceCaptureEnd
ttIndexAdviceCaptureInfoGet
ttIndexAdviceCaptureOutput
ttIndexAdviceCaptureStart
『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』の索引アドバイザを使用した索引の推奨に関する説明

ttIndexAdviceCaptureEnd

説明

このプロシージャは現在の接続のアクティブな接続レベルの取得またはアクティブなデータベース・レベルの取得のいずれかを終了します。

このプロシージャおよびこれに関連するプロシージャをIndex Advisorと呼びます。これらのプロシージャの使用法の詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』の索引を推奨するためのIndex Advisorの使用に関する説明を参照してください。

必要な権限

このプロシージャでは接続レベルの取得を終了するために権限を必要としません。

このプロシージャではデータベース・レベルの取得を終了するためにADMIN権限が必要です。

構文

ttIndexAdviceCaptureEnd([captureLevel])

パラメータ

ttIndexAdviceCaptureEndには次のオプション・パラメータがあります。

パラメータ データ型 説明
captureLevel TT_INTEGER 取得レベルの有効な値は次のとおりです。

0 - 現在の接続の接続レベルでの索引アドバイス取得を終了します。これはデフォルトです。

1 - データベース・レベルの索引アドバイス取得を終了します。


結果セット

ttIndexAdviceCaptureEndは結果を返しません。

次の例では、接続レベルの取得の収集を終了します。

Call ttIndexAdviceCaptureEnd(0)

注意

接続レベルの取得とデータベース・レベルの取得の両方を終了するには、コマンドを2回呼び出します(それぞれの収集レベルについて1回ずつ)。

最初にttIndexAdviceCaptureStartプロシージャをコールして、指定したレベルで取得を開始せずにこのプロシージャをコールすると、エラーになります。

関連項目


ttIndexAdviceCaptureDrop
ttIndexAdviceCaptureInfoGet
ttIndexAdviceCaptureOutput
ttIndexAdviceCaptureStart
『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』の索引を推奨するためのIndex Advisorの使用に関する説明

ttIndexAdviceCaptureInfoGet

説明

このプロシージャはアクティブな取得に対して行を返します。取得は、索引アドバイス取得を開始した場合、または索引アドバイス取得は中止したが取得データがまだ使用可能な場合は、アクティブです。

接続レベルの取得が存在する場合、1行が接続レベルの取得に関連します。データベース・レベルの取得が存在する場合は、別の行がデータベース・レベルの取得に関連します。最大で、1つの接続レベルの取得と1つのデータベース・レベルの取得が存在します。

進行中の取得がなく、データが存在しない場合、このプロシージャは行を返しません。

このプロシージャおよびこれに関連するプロシージャをIndex Advisorと呼びます。これらのプロシージャの使用法の詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』の索引を推奨するためのIndex Advisorの使用に関する説明を参照してください。

必要な権限

このプロシージャは接続レベルの取得に関する情報を取得するための権限を必要としません。

このプロシージャではデータベース・レベルの取得に関する情報を取得するためにADMIN権限が必要です。

構文

ttIndexAdviceCaptureInfoGet()

パラメータ

ttIndexAdviceCaptureInfoGetにパラメータはありません。

結果セット

ttIndexAdviceCaptureInfoGetは次の結果セットを返します。

データ型 説明
captureState TT_INTEGERNOT NULL 取得の状態は次のとおりです。

0 - 取得は進行中ではありません。

1: 取得が進行中です。

connID TT_INTEGER 最後の取得、または現在進行中の取得がある場合はその取得を開始した接続の接続ID。

取得が開始されていない場合には、この行は返されません。

captureLevel TT_INTEGER 一番新しい取得のレベル。

取得が開始されていない場合には、この行は返されません。

captureMode TT_INTEGER 一番新しい取得のモード。

取得が開始されていない場合には、この行は返されません。

numPrepared TT_INTEGER 取得期間に準備された文の数。

開始された取得がない場合、この値はNULLです。

numExecuted TT_INTEGER 取得期間に実行された文の数。

開始された取得がない場合、この値はNULLです。

captureStartTime TT_TIMESTAMP 取得期間の開始時のタイム・スタンプ。

取得が開始されていない場合には、この行は返されません。

captureEndTime TT_TIMESTAMP 取得期間の終了時のタイム・スタンプ。

取得が進行中でない場合、この値はNULLになります。


この例は、363の作成済の文および369の実行された文に対する、完了した接続レベルの取得の取得情報を示しています。

Command> CALL ttIndexAdviceCaptureInfoGet();
< 0, 1, 0, 0, 363, 369, 2012-07-27 11:44:08.136833, 
2012-07-27 12:07:35.410993 >
1 row found.

注意

アクティブなデータベース・レベルの取得が存在し、ADMIN権限を持たない接続に対してこのプロシージャをコールした場合は、TimesTenによりエラーが返されます。

関連項目


ttIndexAdviceCaptureDrop
ttIndexAdviceCaptureEnd
ttIndexAdviceCaptureOutput
ttIndexAdviceCaptureStart
『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』の索引を推奨するためのIndex Advisorの使用に関する説明

ttIndexAdviceCaptureOutput

説明

この組込みプロシージャは、指定したレベルで最後に記録された取得の索引の推奨リストを返します。また、推奨された索引を作成するための実行可能CREATE INDEX SQL文も返します。

このプロシージャおよびこれに関連するプロシージャをIndex Advisorと呼びます。これらのプロシージャの使用法の詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』の索引を推奨するためのIndex Advisorの使用に関する説明を参照してください。

接続レベルの取得の場合は、その取得が開始された接続と同じ接続でこのプロシージャを実行します。データベース・レベルの取得の場合は、ADMIN権限のある接続でこのプロシージャを実行します。

必要な権限

このプロシージャは接続レベルの取得に関する出力を取得するための権限を必要としません。

このプロシージャではデータベース・レベルの取得に関する出力を取得するためにADMIN権限が必要です。

構文

ttIndexAdviceCaptureOutput([captureLevel])

パラメータ

ttIndexAdviceCaptureOutputには、次のパラメータがあります。

パラメータ データ型 説明
captureLevel TT_INTEGER 取得レベルの有効な値は次のとおりです。

0 - 現在の接続の接続レベルで索引アドバイスを出力します。これはデフォルト値です。

1 - データベース・レベルで索引アドバイスを出力します。


結果セット

ttIndexAdviceCaptureOutputは次の結果セットを返します。

データ型 説明
stmtCount TT_INTEGER この索引が存在していた場合はその索引を利用した可能性がある、取得ワークロードでの文の数。
createStmt TT_VARCHAR (8300) NOT NULL 推奨された索引を作成できる実行可能文。

次の例は、HR.PURCHASE表のPURCHASE_i1と呼ばれる索引のCREATE INDEX文を示しています。このSQLワークロードの索引を利用する可能性のある文は、4つ、別々にあります。

CALL ttIndexAdviceCaptureOutput();
< 4, create index PURCHASE_i1 on HR.PURCHASE(AMOUNT); >
1 row found. 

注意

返されるすべての名前はスキーマの完全修飾名です。

関連項目


ttIndexAdviceCaptureDrop
ttIndexAdviceCaptureEnd
ttIndexAdviceCaptureInfoGet
ttIndexAdviceCaptureStart
『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』の索引を推奨するためのIndex Advisorの使用に関する説明

ttIndexAdviceCaptureStart

説明

このプロシージャは索引アドバイス取得を有効化します。このプロシージャをコールする前に、ttOptEstimateStatsを使用して統計を更新し、'invalidate'パラメータを'yes'に設定することをお薦めします。この方法で統計を更新することにより、統計を最新の状態にしておくことができ、取得中に文を強制的に再作成できます。かわりに、統計を既知の値に設定するには、'invalidate'パラメータを'yes'に設定してttOptSetTblStatsをコールします。

このプロシージャおよびこれに関連するプロシージャをIndex Advisorと呼びます。これらのプロシージャの使用法の詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』の索引を推奨するためのIndex Advisorの使用に関する説明を参照してください。

必要な権限

このプロシージャでは接続レベルの取得を開始するために権限を必要としません。

このプロシージャでは、データベース・レベルの取得を開始するためにADMIN権限が必要です。

構文

ttIndexAdviceCaptureStart([captureLevel], [captureMode])

パラメータ

ttIndexAdviceCaptureStartには、次のオプションのパラメータがあります。

パラメータ データ型 説明
captureLevel TT_INTEGER 取得レベルの有効な値は次のとおりです。

0 - 現在の接続の接続レベルで索引アドバイスを出力します。これはデフォルト値です。

1 - データベース・レベルで索引アドバイスを出力します。

captureMode TT_INTEGER 取得モードの有効な値は次のとおりです。

0: SQL文の実行を含む、索引アドバイスの完全な取得を指定します。これはデフォルトです。

31 - 取得は計算された統計およびプラン分析のみに基づきます。問合せ(SELECT文のみ)は作成されますが、実行されません。このモードは接続レベルの取得でのみ使用できます(captureLevel=0)。


結果セット

ttIndexAdviceCaptureStartは結果を返しません。

次の例では接続レベルでIndex Advisorの収集を開始します。

Call ttIndexAdviceCaptureStart(0,0);

注意

索引アドバイスがcaptureLevelパラメータで指定されたレベルで、またはレベルが指定されていない場合には接続レベルですでに取得されている場合に、このプロシージャをコールするとエラーになります。接続レベルの取得は、競合せずに独立した接続で並行的に実行できます。データベース・レベルの取得の開始時に、残っている進行中の接続レベルの取得は予定どおりに終了します。

関連項目


ttIndexAdviceCaptureDrop
ttIndexAdviceCaptureEnd
ttIndexAdviceCaptureInfoGet
ttIndexAdviceCaptureOutput
『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』の索引を推奨するためのIndex Advisorの使用に関する説明

ttLoadFromOracle

説明

このプロシージャはTimesTenの表名、Oracle SELECT文、およびパラレル・ロードのスレッド数をとります。Oracle Database表に対して問合せを実行し、指定したTimesTen表に結果セットをロードします。

Oracle DatabaseからTimesTenの表にデータをロードする際、キャラクタ・セットの変換は行われません。TimesTenデータベースとOracle Databaseは同じキャラクタ・セットを使用する必要があります。

このプロシージャでは接続属性UID、接続属性OraclePWDおよび接続属性OracleNetServiceNameを指定する必要があります。このプロシージャをコールした後に、コミットする必要があります。

詳細と使用法の情報については、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のOracle DatabaseからTimesTen表へのデータのロードに関する説明を参照してください。

必要な権限

このプロシージャではロードされる表に対するINSERT権限が必要です。Oracle Databaseに対する問合せを実行するには、必要なすべての権限がセッションに必要です。

構文

ttLoadFromOracle(['tblOwner'], 'tblName', 'Query' [,numThreads])

パラメータ

ttLoadFromOracleには、次のパラメータがあります。

パラメータ データ型 説明
tblOwner TT_CHAR (30) TimesTen表の所有者(オプション)。指定しない場合は、接続IDが使用されます。
tblName TT_CHAR(30) NOT NULL Oracle Databaseからのデータがロードされる表の名前。表がまだない場合には、組込みプロシージャttTableSchemaFromOraQueryGetを使用して、表を作成するスキーマを取得できます。

指定するTimesTen表はシステム表、シノニム、ビュー、マテリアライズド・ビューまたはマテリアライズド・ビューの詳細表、グローバル一時表、キャッシュ・グループ表とすることはできません。

Query TT_VARCHAR (409600) NOT NULL 表の列定義を導出する、Oracle Databaseに対するSELECT問合せ。

Oracle Databaseに対する問合せはパラメータ・バインディングを持つことができません。SELECTリストのすべての式に、列別名を指定します。指定しない場合、実装に依存した列名が想定され、式は評価されません。

numThreads TT_INTEGER パラレル・ロードのスレッド数(オプション)。NULLの場合は、デフォルトの4になります。

表のパラレル・ロードを指定します。同時にロードを実行するスレッドの数を指定します。1つのスレッドがOracleからのバルク・フェッチを実行し、他のスレッドがTimesTenへの挿入を実行します。各スレッドで独自の接続またはトランザクションが使用されます。

NumThreadsの最小値は2です。最大値は10です。10より大きい値を指定すると、TimesTenは値10を割り当てます。


結果セット

ttLoadFromOracleは、次の結果セットを返します。

データ型 説明
numRows TT_BIGINTNOT NULL ロードされる行数を示す1つの数値。

次の例ではOracle DatabaseのHR.EMPLOYEES表から従業員に関する情報を選択し、それをTimesTen HR.EMPLOYEES表にロードしています。この例では、情報で107人の従業員が検出されました。

Command> CALL ttLoadFromOracle ('HR','EMPLOYEES',
'SELECT * FROM HR.EMPLOYEES');
< 107 >
1 row found.

注意

TimesTenはロードするまでは表を空にしません。ターゲット表には主キーが必要ありません。列タイプの不一致または列数の不一致により問合せの出力が表に変換できない場合、TimesTenはエラーを返します。TimesTen LOB列へのデータのロードはサポートされていません。Oracle Databaseに対する問合せにLOB出力がある場合、VAR型にマップされます。

ロード・プロセスでは、TimesTen表の列のデータ型とサイズが結果セットのデータ型とサイズに一致することを確認しません。かわりに、挿入が試行され、列のデータ型をマップできない場合、またはSQL問合せからのOracle DatabaseデータがTimesTenの列サイズを超える場合、TimesTenはエラーを返します。LOB列は4MBに切り捨てられます。

列を追加するために表を変更すると、セカンダリ・パーティションが追加されます。表への複数のパーティションのロードは、ttLoadFromOracleではサポートされていません。

ttLockLevel

説明

この接続の次のトランザクションとすべての後続トランザクションに対して、行レベルのロックとデータベース・レベルのロックでロック・レベルを変更します。アプリケーションでは、再度ttLockLevelを呼び出すことによって、再度ロック・レベルを変更できます。初期値は、LockLevel接続属性によって異なります。各種ロック・レベルの詳細は、「LockLevel」を参照してください。

必要な権限

このプロシージャには、ADMIN権限が必要です。

構文

ttLockLevel('lockLevel')

パラメータ

ttLockLevelには、次のパラメータがあります。

パラメータ データ型 説明
lockLevel TT_CHAR(20) NOT NULL 接続で使用するロック・レベル。

lockLevelの値は次の文字列のいずれかで、大文字と小文字は区別されません。

Row: 行レベル・ロックに設定します。

DS: データベース・レベル・ロックに設定します。

結果セット

ttLockLevelは結果を返しません。

CALL ttLockLevel ('Row');

注意

このプロシージャは、現在のトランザクションには影響しません。

Oracle Databaseから表をキャッシュするには、行レベル・ロックが必要です。

このプロシージャは、トランザクション内からコールする必要があります。トランザクションを起動した接続に対する後続のトランザクションに、ロック・レベルを設定します。新しいロック・レベルは、現在のトランザクションには影響しません。次のトランザクションの開始時に有効になります。

関連項目


ttLockWait

ttLockWait

説明

このプロシージャは、アプリケーションで、現在の接続のロック・タイムアウト間隔を変更できるようにします。変更はただちに有効になり、現在のトランザクションでのすべての後続文および接続しているすべての後続トランザクションにも適用されます。

ロック待機時間は、ロックの競合が発生した際に待機する秒数です。秒の小数部も指定できます。

タイムアウトを検出するエージェントのスケジュールにより、ロック待機時間は不正確で、通常、最大100ミリ秒超過する場合があります。0(ゼロ)秒のタイムアウトの場合はこの不正確さは該当せず、タイムアウトはすぐにレポートされます。

キャッシュ・グリッドはロック待機時間とともにメッセージ待機時間を使用します。キャッシュ・グリッド使用時は、ロック待機時間は指定した値の約半分になります。アプリケーションでロック待機時間のすべてが必要な場合は、必要な秒数の2倍を指定します。

必要な権限

このプロシージャには、権限は必要ありません。

構文

ttLockWait(seconds)

パラメータ

ttLockWaitには、次の必須のパラメータがあります。

パラメータ データ型 説明
seconds NUMBER (8,1) NOT NULL 競合が発生した際にロックを待機する時間(秒)。秒の小数部も指定できます。有効な値は0.0から1000000.0の範囲です。

結果セット

ttLockWaitは結果を返しません。

ロック待機を6秒に指定するには、次のように実行します。

CALL ttLockWait (6);

ロック待機を10分の1秒に指定するには、次のように実行します。

CALL ttLockWait (0.1);

注意

TimesTenトランザクションは、ロックがただちに利用できない場合、事前に設定された時間だけ待機し、ロックを取得しようとします。その後、ロック・リクエストはタイムアウトになり、アプリケーションにエラーTT6003を返します。デフォルトでは、TimesTenはロック・タイムアウトに10秒の値を使用します。値0 (ゼロ)が指定された場合、トランザクションは利用できないロックを待機しません。

ttLogHolds

説明

このプロシージャは、トランザクション・ログの保持に関する情報を返し、これには増分バックアップ、レプリケーション・ピア、アクティブ・スタンバイ・ペア(およびサブスクライバ)、AWTキャッシュ・グループ、永続XLAサブスクライバ、XA、長時間実行トランザクションおよびチェックポイントのかわりに作成されたログも含まれます。このプロシージャは、チェックポイント処理ですべての不要なトランザクション・ログ・ファイルが消去されていない可能性がある状況を診断する場合に役立ちます。

アプリケーションではログの保持とログ・ファイルの蓄積を監視する必要があります。詳細は、『Oracle TimesTen In-Memory Database開発者および管理者ガイド』のレプリケートされたログの保持の表示に関する説明および『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のトランザクション・ログ・ファイルの蓄積の監視に関する説明を参照してください。

必要な権限

このプロシージャには、権限は必要ありません。

構文

ttLogHolds()

パラメータ

ttLogHoldsにパラメータはありません。

結果セット

ttLogHoldsは次の結果セットを返します。

データ型 説明
HoldLFN TT_INTEGERNOT NULL 保持されているトランザクション・ログ・ファイルの番号を返します。
HoldLFO TT_BIGINTNOT NULL 保持されているトランザクション・ログ・ファイルのオフセットを返します。
type TT_CHAR(30) NOT NULL 保持されているログ・タイプを返します。次のいずれかです。

Checkpoint

Replication

Backup

XLA

Long-Running Transaction

Long-Running XA Transaction

description TT_VARCHAR (1024) NOT NULL 保持されたログ・タイプ固有のオブジェクトの説明です。それぞれの説明は、返されるタイプに対応しています。次のいずれかです。
  • チェックポイント・ファイルの名前

  • スタンバイ・マスターの名前

  • レプリケーション・サブスクライバの名前

  • AWTキャッシュ・グループの伝播追跡時の_ORACLE

  • サブスクライバによって使用されるパラレル・レプリケーション追跡ID

  • バックアップ・パス

  • 永続XLAサブスクリプション名、および永続XLAサブスクリプションがオープンされている場合は、そのサブスクリプションをオープンした最後のプロセスのプロセスID

  • XAトランザクションのXID(トランザクションID)

  • 長時間実行トランザクションのTimesTenトランザクションID


CALL ttLogHolds();
< 0, 1148544, Long-Running XA Transaction , 
0x1-476c6f62616c-5861637431 >
< 0, 1149752, Long-Running Transaction, 4.2 >
< 0, 1149992, Checkpoint , sample.ds1 >
< 0, 1150168, Checkpoint , sample.ds0 >

次の例では、アクティブ・スタンバイ・ペアのレプリケーション・スキームに対するttLogHolds組込みプロシージャの出力を示します(アクティブ・マスターはmaster1、スタンバイ・マスターはmaster2、単一サブスクライバはsubscriber1です)。

Command> call ttLogHolds;
< 0, 3569664, Checkpoint                    , master1.ds0 >
< 0, 15742976, Checkpoint                    , master1.ds1 >
< 0, 16351496, Replication                   , ADC6160529:SUBSCRIBER1 >
< 0, 16351640, Replication                   , ADC6160529:MASTER2 >
4 rows found.

次の例では、Oracle DatabaseへのAWTキャッシュ・グループの非同期伝播の進行状況を示します。記述フィールドには、AWTキャッシュ・グループ伝播のトランザクション・ログの保持を識別するために「_ORACLE」が含まれます。

Command> call ttLogHolds();
< 0, 18958336, Checkpoint                    , cachealone1.ds0 >
< 0, 19048448, Checkpoint                    , cachealone1.ds1 >
< 0, 19050904, Replication                   , ADC6160529:_ORACLE >
3 rows found.

ttMonitorHighWaterReset

説明

このプロシージャは、MONITOR表のPERM_IN_USE_HIGH_WATER列の値をPERM_IN_USE_SIZE列の現在の値に設定し、MONITOR表のTEMP_IN_USE_HIGH_WATER列の値をTEMP_IN_USE_SIZE列の現在の値に設定します。これらの列は、アプリケーションの開発時およびデプロイ時にデータベースのサイジングに役立ちます。

必要な権限

このプロシージャには、ADMIN権限が必要です。

構文

ttMonitorHighWaterReset()

パラメータ

ttMonitorHighWaterResetにパラメータはありません。

結果セット

ttMonitorHighWaterResetは結果を返しません。

CALL ttMonitorHighWaterReset();

ttOptClearStats

説明

このプロシージャは、指定した表の統計を消去します(これによって、TimesTen問合せオプティマイザで、表に関連する後続の問合せに対して、推測値またはデフォルト値が使用されるようになります)。このプロシージャは、統計が古い場合や、アプリケーションで組込みのデフォルト値を使用する場合に役立ちます。このプロシージャによって、指定した表に関連するシステム表TBL_STATSおよびCOL_STATSから、すべての行が削除されます。詳細は、『Oracle TimesTen In-Memory Databaseシステム表およびビュー・リファレンス』の「SYS.TBL_STATS」および「SYS.COL_STATS」を参照してください。

必要な権限

このプロシージャには、表の所有者の権限は必要ありません。tblNameが指定されていない場合、このプロシージャに権限は必要ありません(これは、tblNameが指定されていない場合、このプロシージャは現在のユーザーの表に対して操作を行うためです)。

ユーザーが表の所有者でない場合、このプロシージャにはALTER ANY TABLE権限が必要です。

構文

ttOptClearStats('tblName', invalidate)

パラメータ

ttOptClearStatsには、次のパラメータがあります。

パラメータ データ型 説明
tblName TT_CHAR (61) アプリケーション表の名前。表の所有者を含めることができます。tblNameが空の文字列であるか指定されていない場合、データベース内の現在のユーザーが所有するすべての表で統計が消去されます。

表名の指定にシノニムは使用できません。

invalidate TT_INTEGER 0(no)または1(yes)。デフォルトは0です。

invalidate1の場合、他のユーザーが準備したコマンドを含む、影響を受ける表を参照するすべてのコマンドは、再実行時に自動的に再準備されます。

invalidate0の場合、統計は変更されたとはみなされず、既存のコマンドは再準備されません。


結果セット

ttOptClearStatsは結果を返しません。

CALL ttOptClearStats ( 'SALLY.ACCTS', 1 );

SALLY.ACCTS表の統計を消去し、ACCTS表に影響するすべてのコマンドを再準備します。

CALL ttOptClearStats();

現在のユーザーのすべての表の統計を消去し、これらの表に影響するすべてのコマンドを再準備します。

CALL ttOptClearStats('', 0);

現在のユーザーのすべての表の統計を消去しますが、これらの表に影響するコマンドは再準備しません。

ttOptCmdCacheInvalidate

説明

依存コマンドが再度呼び出された場合、この組込みプロシージャは、再コンパイルを強制するか、キャッシュからそのコマンドを削除します(ユーザーは再度それを準備する必要があります)。

このプロシージャは、次のような場合にコールします。

  • すべての必要な統計を収集した後。

  • 表のカーディナリティが大幅に変更された場合。

コマンドは、プロシージャによって再コンパイルが必要または無効としてマークされます。

コマンドの実行を停止するオプションはありません。

必要な権限

このプロシージャには、DDL権限が必要です。

構文

ttOptCmdCacheInvalidate('tblName', invalidate)

パラメータ

ttOptCmdCacheInvalidateには、次のパラメータがあります。

パラメータ データ型 説明
tblname TT_CHAR(61) 依存コマンドを無効化または再コンパイルする必要のある表の名前。
invalidate TT_INTEGER 依存コマンドを強制的に再コンパイルまたは無効化します。

1: コマンドを再コンパイルする必要があることを示します。コマンドは、この組込みプロシージャのコール後の初回使用時に再コンパイルされます。(デフォルト)

2: コマンドを無効化する必要があることを示します。コマンドが再利用または再コンパイルされることはありません。無効化のマークを付けた後でコマンドをコールすると、TimesTenによってエラーが返されます。


結果セット

ttOptCmdCacheInvalidateは結果を返しません。

表tab1で依存コマンドを再コンパイルするには、次のように使用します。

CALL ttOptCmdCacheInvalidate ('tab1', 1);

表tab1で依存コマンドを無効化するには、次のように使用します。

CALL ttOptCmdCacheInvalidate ('tab1', 2);

ttOptEstimateStats

説明

ttOptEstimateStatsプロシージャは、指定した表の統計を更新します。このプロシージャは、指定した表内の行をランダムにサンプリングすることによって統計を推定します。サンプルのサイズは、指定した行の数(sampleStrの形式がn ROWSの場合)または、行の総数の割合(sampleStrの形式がp PERCENTの場合)です。

tblNameが指定されていない場合、このプロシージャは現在のユーザーのすべての表に対して操作されます。

必要な権限

ユーザーが表の所有者である場合、またはtblNameが指定されていない場合、このプロシージャに権限は必要ありません。ユーザーが表の所有者でない場合、このプロシージャにはALTER ANY TABLE権限が必要です。

構文

ttOptEstimateStats(['tblName'], [invalidate], 'sampleStr')

パラメータ

ttOptEstimateStatsには、次のパラメータがあります。

パラメータ データ型 説明
tblName TT_CHAR(61) アプリケーション表の名前。表の所有者を含めることができます。tblNameが空の文字列の場合、データベース内の現在のユーザーが所有するすべての表で統計が推定されます。

表名の指定にシノニムは使用できません。

invalidate TT_INTEGER 0(いいえ)または1(はい)。invalidateが1の場合、他のユーザーが準備したコマンドを含む、影響を受ける表を参照するすべてのコマンドは、再実行時に自動的に再準備されます。invalidateが0の場合、統計は変更されたとはみなされず、既存のコマンドは再準備されません。

invalidateパラメータはオプションで、デフォルトは0です。

sampleStr TT_VARCHAR (255) NOT NULL n ROWSという形式の文字列(nは0(ゼロ)より大きい整数)、またはp PERCENTという形式の文字列(pは0.0から100.0の間の浮動小数点)。

結果セット

ttOptEstimateStatsは結果を返しません。

CALL ttOptEstimateStats ( 'ACCTS', 1, '5 PERCENT' );

CALL ttOptEstimateStats ( 'ACCTS', 1, '75 ROWS' );

注意

TimesTenの統計には、各表の行数、各列の一意の値の数、各列の最大値および最小値が含まれます。TimesTenでは、列の値の配分は均一であると想定しています。

このプロシージャは、表の行の50%より少ないサンプルで実行した場合にのみ、ttOptUpdateStatsよりも高速で実行されます。

2,048バイトを超える列の場合、推定は行われず、これらの列の統計は更新されません。2,048バイトを超える列の統計を更新するには、ttOptUpdateStats組込みプロシージャを使用します。可変長列の場合、このプロシージャによって更新されるのは、列の最大長が2,048バイト以下である場合の統計のみです。

sampleStrパラメータに非常に小さな値を選択した場合、このプロシージャは高速に実行されますが、実行計画は最適にはならない可能性があります。計画の正確性を低下させることなく、統計の計算を高速に実行し、適切なデータ分布を得るには、10%程度の選択が適しています。指定した行の数が十分であるか、または対象となる表が十分に小さい場合、TimesTenはパフォーマンスを向上させるために、長さが2,048バイト以下のすべての列に対して、正確な統計を計算します。たとえば、次の2つの相違点として、

ttOptEstimateStats ('ACCTS', 1, '100 PERCENT' )

ttOptUpdateStats( 'ACCTS', 1 )

前者が長い列の統計を計算しないということのみです。

統計は、システム表TBL_STATSおよびCOL_STATSに格納されます。

パフォーマンス上の理由から、ttOptEstimateStatsでは、統計が計算される際に表または行のロックは保持されません。統計の計算をそのように行った場合でも、パフォーマンスが低下する可能性があります。統計は、正確に計算するよりも推定した方が一般にパフォーマンスは向上します。

システム表を更新する権限がある場合、空の表リストを指定して統計を見積もり、または更新すると、システム表の統計も更新されます。

ttOptGetColStats

説明

このプロシージャは、統計情報をテキスト形式で返します。

必要な権限

このプロシージャには、指定した表に対するSELECT権限が必要です。

構文

ttOptGetColStats('tblName', 'colName')

パラメータ

ttOptGetColStatsには、次のパラメータがあります。

パラメータ データ型 説明
tblName TT_CHAR (61) 統計情報が返される表の名前です。NULLが渡された場合、すべての表の値が返されます。

表名の指定にシノニムは使用できません。

colName TT_CHAR (30) 統計が返される列の名前です。NULLが渡された場合、指定された表のすべての列の統計が返されます。

結果セット

ttOptGetColStatsは次の結果セットを返します。

データ型 説明
tblName TT_CHAR (30) 表の名前。

表名の指定にシノニムは使用できません。

colName TT_CHAR (30) 列の名前。
stats TT_VARCHAR (409600) NOT NULL テキスト形式の統計。

CALL ttOptGetColStats ();
< T1 , X1, (2, 10, 10, 100 (,4, 40, 10 ,1, 10, 5) ,
(4, 20, 20 ,11, 20, 15) )>

ttOptGetFlag

説明

このプロシージャは、現在のトランザクションのオプティマイザ・フラグの設定を返します。結果はSQL SELECT文の結果と同様に、ODBC SQLFetch関数またはJDBC ResultSet.getXXX()メソッドを使用して取得できる結果セットとして返されます。アプリケーションはttOptGetFlagにフラグ名を渡すことによって、特定のオプティマイザ・フラグの値をリクエストできます。また、NULLを渡すことによって、すべてのオプティマイザ・フラグの値をリクエストすることもできます。オプティマイザ・フラグとそれらの意味については、ttOptSetFlag組込みプロシージャで説明します。

必要な権限

このプロシージャには、権限は必要ありません。

構文

ttOptGetFlag('flagName')

パラメータ

ttOptGetFlagには、次のパラメータがあります。

パラメータ データ型 説明
flagName TT_CHAR (32) 値が返されるフラグの名前です。NULLを渡した場合、すべてのフラグの値が返されます。

結果セット

ttOptGetFlagは次の結果セットを返します。

データ型 説明
flagName TT_VARCHAR (32) NOT NULL フラグの名前。有効なフラグの値については、「ttOptSetFlag」を参照してください。
value TT_INTEGERNOT NULL 現在のフラグ値(0または1)。

CALL ttOptGetFlag('TmpHash');

関連項目


ttOptSetFlag

ttOptGetMaxCmdFreeListCnt

説明

このプロシージャは、コンパイル済SQLコマンド・キャッシュの空きリストのサイズを返します。キャッシュ・サイズをリセットするには、マテリアライズド・ビューについてはttOptSetMaxPriCmdFreeListCntを使用し、通常の表についてはttOptSetMaxCmdFreeListCntを使用します。

必要な権限

このプロシージャには、権限は必要ありません。

パラメータ

ttOptGetMaxCmdFreeListCntにパラメータはありません。

構文

ttOptGetMaxCmdFreeListCnt()

結果セット

ttOptGetMaxCmdFreeListCntは次の結果を返します。

データ型 説明
retVal TT_VARCHAR (200) NOT NULL コンパイル済SQLコマンドのキャッシュ・サイズ。

CALL ttOptGetMaxCmdFreeListCnt( );

ttOptGetOrder

説明

このプロシージャは、現在のトランザクションの結合順序を含む、単一行の結果セットを返します。この結果セットは、SQL SELECT文の結果と同様に、ODBC SQLFetch関数またはJDBC ResultSet.getXXX()メソッドを使用して取得できます。結合順序については、ttOptSetOrder組込みプロシージャで説明します。

必要な権限

このプロシージャには、権限は必要ありません。

構文

ttOptGetOrder( )

パラメータ

ttOptGetOrderにパラメータはありません。

結果セット

ttOptGetOrderは次の結果セットを返します。

データ型 説明
joinOrder TT_VARCHAR (1024) NOT NULL 現在のトランザクションのオプティマイザの結合順序。

CALL ttOptGetOrder;

関連項目


ttOptSetOrder

ttOptSetColIntvlStats

説明

このプロシージャは、時間隔情報を含む、指定した列の統計を変更します。このプロシージャを使用すると、TimesTenが自動的に統計を計算するのではなく、アプリケーションによって統計を手動で設定できます。この機能は、データが挿入される前にコマンドを準備したり、表の特性が実行計画の選択に与える影響を調べる場合に役立ちます。このプロシージャによって、COL_STATSシステム表の関連する行が変更されます。現在索引付けされていない列に対する時間隔統計の変更は無効です。

このプロシージャは表にデータが存在する前から使用できるため、基本的な妥当性チェックは実行されますが、指定する値は実際の値とは関係のないものでもかまいません。

必要な権限

このプロシージャには、所有者の場合は権限が必要ありませんが、所有者でない場合はALTER ANY TABLE権限が必要です。

構文

ttOptSetColIntvlStats('tblName', 'colName', invalidate, (stats))

パラメータ

ttOptSetColIntvlStatsには、次のパラメータがあります。

パラメータ データ型 説明
tblName TT_CHAR (61) NOT NULL アプリケーション表の名前。表の所有者を含めることができます。表名の指定にシノニムは使用できません。
colName TT_CHAR (30) NOT NULL その表内の列の名前。
invalidate TT_INTEGER 0(no)または1(yes)。invalidateが1の場合、影響を受ける表を参照するすべてのコマンドは、再実行時に自動的に再準備されます。このようなコマンドには、他のユーザーが準備したコマンドが含まれます。invalidate0の場合、統計は変更されたとはみなされず、既存のコマンドは再準備されません。
stats VARBINARY (409600) NOT NULL 次の形式を使用して、列のstatsを設定します。

(numInterval integer, numNull integer, totUniq integer, totTups integer,

/* information for interval 1 */

(numUniq integer, numTups integer, frequency of most occurred value integer, minVal, maxVal, modalVal),

/* information for interval 2 */...)

モーダル値(modalVal)とは、指定した時間隔で最も頻繁に出現する値です。

このパラメータは複合構造であるため、ODBC関数を使用してパラメータ化することも、ttIsql describeコマンドを使用して記述することもできません。たとえば、SQLPrepare(hstmt, "call ttOptSetColIntvlStats('t1', 'c1', 1, ?)", SQL_NTS))のような文は失敗します。


結果セット

ttOptSetColIntvlStatsは結果を返しません。

t1.x1に次のような統計を設定します。

  • 2つの時間隔

  • 整数型

  • 10行のNULL値

  • 10の一意値

  • 100行

  • 時間隔1(最も頻繁に出現する値の他に4つの一意値、最も頻繁に出現する値以外の値を持つ40の行、最も頻繁に出現する値を持つ10の行、min = 1max = 10mod = 5)

  • 時間隔2(最も頻繁に出現する値の他に4つの一意値、最も頻繁に出現する値以外の値を持つ20の行、最も頻繁に出現する値を持つ20の行、min = 11max = 20mod = 15)

この場合、次の文を実行します。

CALL ttOptSetColIntvlStats('t1', 'x1', 1, (2, 10, 10, 100, 
(4, 40, 10, 1, 10, 5), (4, 20, 20, 11, 20, 15)));

注意

時間隔の最小値および最大値をVARBINARYとして指定する必要があります。NULL値を最小値または最大値として指定することはできません。値は、プラットフォーム固有のエンディアン形式で格納されます。

ttOptSetColStats

説明

このプロシージャは、指定した列の統計を変更します。このプロシージャを使用すると、TimesTenが自動的に統計を計算するのではなく、アプリケーションによって統計を手動で設定できます。この機能は、データが挿入される前にコマンドを準備したり、表の特性が実行計画の選択に与える影響を調べる場合に役立ちます。このプロシージャによって、COL_STATSシステム表の関連する行が変更されます。

このプロシージャは表にデータが移入される前から使用できるため、基本的な妥当性チェックは実行されますが、指定する値は実際の値とは関係のないものでもかまいません。

必要な権限

このプロシージャには、所有者の場合は権限が必要ありませんが、所有者でない場合はALTER ANY TABLE権限が必要です。

構文

ttOptSetColStats('tblName', 'colName', numUniq, minVal,maxVal, 
 invalidate, numNull)

パラメータ

ttOptSetColStatsには、次のパラメータがあります。

パラメータ データ型 説明
tblName TT_CHAR (61) NOT NULL アプリケーション表の名前。表の所有者を含めることができます。

表名の指定にシノニムは使用できません。

colName TT_CHAR (30) NOT NULL その表内の列の名前。
num_Uniq TT_INTEGERNOT NULL 列内の一意値の数。
minVal VARBINARY(1024) NOT NULL 列内の最小値(切り捨てられる可能性あり)。
maxVal VARBINARY(1024) NOT NULL 列内の最大値(切り捨てられる可能性あり)。
invalidate TT_INTEGER 0(no)または1(yes)。invalidate1の場合、影響を受ける表を参照するすべてのコマンドは、再実行時に自動的に再準備されます。このようなコマンドには、他のユーザーが準備したコマンドが含まれます。invalidate0の場合、統計は変更されたとはみなされず、既存のコマンドは再準備されません。
num_Null TT_INTEGER 列のNULLの総数を指定します。

結果セット

ttOptSetColStatsは結果を返しません。

CALL ttOptSetColStats ('SALLY.ACCTS, 'BALANCE, 400, 
0x00001388, 0x000186A0, 1, 0);

注意

最小値および最大値をVARBINARYとして指定する必要があります。NULL値を最小値または最大値として指定することはできません。値は、プラットフォーム固有のエンディアン形式で格納されます。

統計は、最小値と最大値の間に均一に配分されている列値の、単一の時間隔として処理されます。

ttOptSetFlag

説明

このプロシージャは、アプリケーションで、TimesTen問合せオプティマイザによる実行計画の生成を変更できるようにします。フラグを設定して、様々なアクセス方法の使用を有効または無効にします。このコールによって加えられた変更は、文を準備するときに有効になり、それ以降に現在のトランザクションで実行される、ODBC関数SQLPrepareおよびSQLExecDirectへのすべてのコール、またはJDBCメソッドConnection.prepareCallおよびStatement.executeへのすべてのコールが影響を受けます。オプティマイザのすべてのフラグは、トランザクションがコミットまたはロールバックされた時点でそれぞれのデフォルト値にリセットされます。AutoCommitがオンのときにオプティマイザ・フラグセットされた場合、それらは無視されます。

必要な権限

このプロシージャには、権限は必要ありません。

構文

ttOptSetFlag('optFlag', optVal)

パラメータ

ttOptSetFlagには、次のパラメータがあります。

パラメータ データ型 説明
optFlag TT_CHAR (32) NOT NULL オプティマイザ・フラグの名前。
optVal TT_INTEGERNOT NULL オプティマイザ・フラグの値。次の「オプティマイザ・フラグ」に記載されている場合を除き、通常、値は0(無効/禁止)または1(有効/許可)です。

オプティマイザ・フラグ

オプティマイザ・フラグを設定する場合は、次の文字列を使用します。大文字と小文字は区別されません。

フラグ 説明
BranchAndBound ブランチおよびバインドされた最適化を有効または無効にします。有効な場合、TimesTenによって、最適化プロセスの冒頭の0フェーズで、問合せ計画の最大コストが計算されます。無効な場合、TimesTenはこのコスト分析を実行しません。
DynamicLoadEnable Oracle DatabaseからTimesTenの動的キャッシュ・グループへのデータの動的ロードを有効または無効にします。デフォルトでは、Oracle Databaseからのデータの動的ロードが有効になっています。
DynamicLoadErrorMode 動的ロード・エラー・モードを有効または無効にします。このモードにより、TimesTen動的キャッシュ・グループに対する透過的ロード処理が失敗した場合のエラー・メッセージの出力が制御されます。デフォルトでは無効です。
FirstRow SELECTUPDATEまたはDELETEの最初の行の最適化を有効または無効にします。SQLキーワードのFIRSTがSQL文で使用された場合、これはオプティマイザ・ヒントより優先されます。キーワードFIRSTは、最初の行の最適化を有効にします。
ForceCompile 強制コンパイルを有効または無効にします。有効な場合、TimesTenは問合せを再コンパイルし、毎回、問合せ計画を再生成します。無効な場合、問合せ計画が使用可能な場合でも、TimesTenはコンパイルを実行しません。
GenPlan 残りのトランザクションでのPLAN表のエントリの作成を有効または無効にします。

例については、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のシステムPLAN表に計画を保存するようにTimesTenに指示する方法に関する説明を参照してください。

GlobalLocalJoin グリッドに結合を含むSELECTおよびUNLOAD CACHE GROUP文のグローバル実行を有効または無効にします。デフォルトでは、これらの文はローカルで実行されます。

0: SELECTおよびUNLOAD CACHE GROUP文、ならびに結合のいずれもローカルで実行されます。

1: SELECTおよびUNLOAD CACHE GROUP文はグローバルで実行され、結合はローカルで実行されます。

詳細は、『Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイド』を参照してください。

GlobalProcessing グリッドのSELECTおよびUNLOAD CACHE GROUP文のグローバル実行を有効または無効にします。デフォルトでは、これらの文はローカルで実行されます。

0 - SELECTおよびUNLOAD CACHE GROUP文はローカルで実行されます。

1 - SELECTおよびUNLOAD CACHE GROUP文はグローバルで実行されます。

詳細は、『Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイド』を参照してください。

Hash 索引付けされた表スキャンで、既存のハッシュ索引の使用を有効または無効にします。
HashGb ハッシュ・グループの使用を有効または無効にします。
IndexedOR シリアライズ表スキャンを有効または無効にします。無効な場合、TimesTenはIN...リスト条件にシリアライズ表スキャンを使用し、それ以外の場合はOR条件に複数索引スキャンを使用します。
MergeJoin マージ結合の使用を有効または無効にします。
NestedLoop 2つの表を結合する一般的な方法を示します。
NoRemRowIdOpt RowIDの内部生成を有効または無効にします。有効な場合、最適化が目的でRowIDが内部的に生成されることはありません。無効な場合、行がSELECTリストにない場合でも、RowIDは内部的に生成されます。
PassThrough TimesTen Cacheアプリケーションのパススルー・レベルを一時的に変更します。パススルー・レベルはいつでも設定が可能で、変更はただちに有効になります。このフラグの有効な値は次のとおりです。

0 (デフォルト): SQL文はTimesTenに対してのみ実行されます。

1: TimesTen以外の1つ以上の表を参照していないかぎり、INSERTUPDATEおよびDELETE文はTimesTenに対して実行されます。TimesTen以外の1つ以上の表を参照している場合は、Oracle Databaseに渡されます。DDL文はTimesTenに対して実行されます。その他の文がTimesTenで構文エラーを生成する場合、またはその他の文で参照されている1つ以上の表がTimesTenに存在しない場合に、その他の文はOracle Databaseに渡されます。

2: 読取り専用キャッシュ・グループまたはREADONLYキャッシュ表属性を持つユーザー管理キャッシュ・グループの表に対して実行されたINSERT文、UPDATE文およびDELETE文は、Oracle Databaseに渡されます。その他のキャッシュ・グループ・タイプに対するパススルー動作は、PassThrough=1と同じです。

3: TimesTenエラーとなる動的AWTグローバル・キャッシュ・グループのキャッシュ表に対して実行されるINSERTUPDATEおよびDELETE文を除いて、すべての文はOracle Databaseに渡されて実行されます。

4: 動的ロードの問合せの基準を満たさない動的AWTグローバル・キャッシュ・グループのキャッシュ表に対して実行されたSELECT文は、Oracle Databaseに渡されて実行されます。これ以外の場合、文はTimesTenデータベースで実行されます。

5: 接続中の以前のトランザクションによって、動的AWTグローバル・キャッシュ・グループのキャッシュ表でコミットされたすべての更新がOracle Databaseに伝播されるときに、動的ロード問合せの基準を満たさない動的AWTグローバル・キャッシュ・グループのキャッシュ表に対して実行されたSELECT文はOracle Databaseに渡されて実行されます。これ以外の場合、文はTimesTenデータベースで実行されます。

Range 索引付けされた表スキャンで、既存の範囲索引の使用を有効または無効にします。
Rowid Row IDの使用を有効または無効にします。
RowLock オプティマイザによる行ロックの使用を許可または禁止します。
Scan 全表スキャンを示します。
ShowJoinOrder オプティマイザ・スキャンでの表の結合順序を表示します。
TblLock オプティマイザによる表ロックの使用を有効または無効にします。
TmpHash 一時的なハッシュ・スキャンの使用を有効または無効にします。これは、文の評価で使用するために実行時に作成される索引です。索引の作成には時間がかかりますが、結合条件を評価する場合の時間を節約できます。
TmpRange 一時的な範囲スキャンを実行します。また、マージ結合で値をソートするためにも使用できます。索引の作成には時間がかかりますが、結合条件を評価する場合の時間を節約できます。
TmpTable 中間結果を一時表に格納します。この処理は、結合問合せでの条件の評価を繰り返し実行することを回避したり、結合における中間結果のスキャンを単に高速化するために選択されることもあります。
UseBoyerMooreStringSearch Boyer-Moore文字列検索アルゴリズムを有効または無効にします。有効な場合、Boyer-Moore文字列検索アルゴリズムが有効になります。これによって、LIKE演算子のパフォーマンスを改善できます。

さらに文字列AllFlagsをすべてのオプティマイザ・フラグを参照するために使用し、文字列Defaultをデフォルトのフラグを参照するために使用できます。Defaultには、GenPlanフラグ以外のすべてのオプティマイザ・フラグが含まれます。

フラグの説明

各フラグの値は1または0です。

  • 1の場合、処理は有効

  • 0の場合、必要時以外、処理は無効

GenPlan以外のすべての初期フラグ値は1です(すべての処理が許可されます)。

たとえば、アプリケーションで、中間結果を格納する計画をオプティマイザが選択できないようにできます。

ttOptSetFlag ( 'TmpTable', 0 )

同様に、アプリケーションでMergeJoinのプリファレンスを指定できます。

ttOptSetFlag ( 'MergeJoin', 0 )

2つ目の例では、マージ結合が不可能な場合(たとえば、マージ結合条件がない場合)、オプティマイザはネステッド・ループ・ジョインを選択できます。同様に、オプティマイザが、表スキャンを回避するアプリケーション・リクエストを満たすことができない場合もあります(Scanフラグが0に設定されている場合)。

特定の処理が特定の計画手順で禁止されると指定すること、または特定の2つの表では必ず特定の結合方法が使用されると指定することはできません。同様に、特定の索引が使用されると指定すること、または特定の条件を評価するためにハッシュ索引が使用されると指定することもできません。各処理は、完全に許可されているか、完全に制限されているかのいずれかです。

コマンドが準備されている場合は、現在のオプティマイザ・フラグ、索引ヒントおよび結合順序はコマンドのコンパイル済形式の構造で保持され、システムによってそのコマンドが再準備されるときに使用されます。再準備された文の例については、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のTimesTen問合せオプティマイザに関する説明を参照してください。

RowLock およびTblLockの両方が無効な場合、TimesTenでは行ロックが使用されます。RowLockおよびTblLockの両方が有効な場合、TimesTenでは、パフォーマンスがより高い方のロック・スキームが使用されます。

TblLockの状態 RowLockの状態 オプティマイザへの影響
無効 無効 行レベル・ロックの使用。
有効 無効 表レベル・ロックの使用。
無効 有効 行レベル・ロックの使用。
有効 有効 行レベル・ロックまたは表レベル・ロックをオプティマイザが選択します。

通常、問合せによって表の行の重要な部分がアクセスされる場合、またはその表に同時アクセスしているトランザクションの数が非常に少ない場合に、表レベル・ロックは有効です。

結果セット

ttOptSetFlagは結果を返しません。

CALL ttOptSetFlag ('TmpHash', 1);

注意

結合の順序は、特定のSQL文の中で文レベル・オプティマイザ・ヒントを使用して設定することもできます。詳細は、『Oracle TimesTen In-Memory Database SQLリファレンス・ガイド』の文レベル・オプティマイザ・ヒントに関する説明を参照してください。特にヒントの各スタイルの動作を理解するには、文レベルとトランザクション・レベルのオプティマイザ・ヒントの違いに関する表を参照してください。

ttOptSetMaxCmdFreeListCnt

説明

このプロシージャは、通常の表に対するコンパイル済SQLコマンドの空きリストの最大カウントを設定します。現在の設定値を取得するには、ttOptGetMaxCmdFreeListCntプロシージャを使用します。

必要な権限

このプロシージャには、ADMIN権限が必要です。

構文

ttOptSetMaxCmdFreeListCnt(maxCnt)

パラメータ

ttOptSetMaxCmdFreeListCntには、次の必須のパラメータがあります。

パラメータ データ型 説明
maxCnt TT_INTEGERNOT NULL 通常の表に対するコンパイル済SQL空きコマンドの最大数。

結果セット

ttOptSetMaxCmdFreeListCntは結果を返しません。

CALL ttOptSetMaxCmdFreeListCnt(40);

ttOptSetMaxPriCmdFreeListCnt

説明

このプロシージャは、マテリアライズド・ビューのメンテナンスを実行するコンパイル済SQLコマンドの空きリストの最大カウントを設定します。

このコマンドを設定すると、解放可能なコンパイル済マテリアライズド・ビュー・コマンドは通常の表とは別にカウントされます。このコマンドを設定しない場合、コンパイル済マテリアライズド・ビュー・コマンドは通常のコマンドとしてカウントされます。

必要な権限

このプロシージャには、ADMIN権限が必要です。

構文

ttOptSetMaxCmdPriFreeListCnt(maxCnt)

パラメータ

ttOptSetMaxPriCmdFreeListCntには、次の必須のパラメータがあります。

パラメータ データ型 説明
maxCnt TT_INTEGERNOT NULL コンパイル済SQLコマンドのキャッシュ・サイズ。

結果セット

ttOptSetMaxPriCmdFreeListCntは結果を返しません。

CALL ttOptSetMaxPriCmdFreeListCnt(40);

ttOptSetOrder

説明

このプロシージャは、オプティマイザが表を結合する順序を指定します。文字列は、カンマではなく空白で区切られた表名または表の相関名のリストで、問合せまたは副問合せで参照されます。最初にリストされている表が、計画によって最初にスキャンされます。たとえば、ネステッド・ループ結合では一番外側になります。相関名は、修飾された表名のショートカットまたは別名です。この組込みプロシージャの実行中は、AutoCommitOFFに設定する必要があります。

必要な権限

このプロシージャには、権限は必要ありません。

構文

ttOptSetOrder('joinOrder')

パラメータ

ttOptSetOrderには、次の必須のパラメータがあります。

パラメータ データ型 説明
join_Order TT_VARCHAR(1024) 空白で区切られた表名または表相関名のリスト。表名を区別するために所有者が必要な場合は、表相関名を使用します。joinOrderを指定しない場合、問合せオプティマイザの動作はデフォルトに戻ります。

結果セット

ttOptSetOrderは結果を返しません。

CALL ttOptSetOrder ('EMPS DEPTS ACCTS');

アプリケーションが次のコールを実行するとします。

call ttOptSetOrder('ORDERS CUSTOMERS');

オプティマイザは、1つ以上の未出荷注文を持つすべての顧客を表示する次の問合せを評価する際に、CUSTOMERSをスキャンする前に、ORDERS表をスキャンします。

SELECT CUSTOMERS.NAME
FROM  CUSTOMERS
WHERE EXISTS (SELECT 1
        FROM  ORDERS
        WHERE CUSTOMERS.ID = ORDERS.CUSTID
        AND  ORDER.STATUS ='UN-SHIPPED');

アプリケーションが次のコールを実行するとします。

ttOptSetOrder('DEPTS EMPS ACCTS');

オプティマイザは、特定のアカウントで働いている従業員の数を評価する際に、DEPTSACCTSの間で結合を実行することはできません。

SELECT COUNT(DISTINCT EMPS.ID)
FROM  ACCTS, DEPTS, EMPS
WHERE ACCTS.DEPTS = DEPTS.ID
AND  EMPS.DEPTS = DEPTS.ID
AND  ACCTS.NUM = :AcctNum

アプリケーションで、結合順序をリセットせずに、3つの各表を参照しないコマンドを準備しようとすると、オプティマイザによって警告番号965が発行されます。指定した結合順序は適用されません。TimesTenでは、コマンドが準備される際、有効な結合順序が考慮され、指定した結合順序は無視されます。

注意

結合順序では、導出された表の別名はサポートされていません。表の別名を指定すると、TimesTenによって、その順序は適用できないことを示す警告メッセージ965が返されます。

文字列の長さは1,024バイトに制限されています。文字列がこの長さを超えると、切り捨てられ、警告が発行されます。

副問合せで参照される相関名が結合順序に含まれていると、TimesTenでは、内部的に分離モードに切り替えられます。

コマンドが準備されている場合は、現在のオプティマイザ・フラグ、索引ヒントおよび結合順序はコマンドのコンパイル済形式の構造で保持され、システムによってそのコマンドが再準備されるときに使用されます。再準備された文の例については、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のTimesTen問合せオプティマイザに関する説明を参照してください。

このコールによって加えられた変更はただちに有効になり、現在のトランザクションでのODBC関数SQLPrepareまたはJDBCメソッドConnection.prepareCallへの後続のすべてのコールに影響します。後続のトランザクションに備えて、問合せオプティマイザの動作はデフォルトに戻ります。

結合順序を使用する場合、問合せによって参照される表の名前は、指定した名前と厳密に一致している必要があります(比較では大文字と小文字が区別されません)。部分的な順序を指定するメカニズムはないため、完全な順序を指定する必要があります。問合せに副問合せがある場合、結合順序は副問合せの中の相関名も参照する必要があります。つまり、結合順序は問合せの中のすべての相関名を参照する必要があります。TimesTenオプティマイザは、GROUP BYを使用して、特別な種類の結合問合せとして副問合せを内部的に実装します。結合順序を適用可能にするには、すべての相関名を参照する必要があります。矛盾がある場合はTimesTenでは警告が発行され、指定した結合順序は完全に無視されます。

結合の順序は、特定のSQL文の中で文レベル・オプティマイザ・ヒントを使用して設定することもできます。詳細は、『Oracle TimesTen In-Memory Database SQLリファレンス・ガイド』の文レベル・オプティマイザ・ヒントに関する説明を参照してください。特にヒントの各スタイルの動作を理解するには、文レベルとトランザクション・レベルのオプティマイザ・ヒントの違いに関する説明を参照してください。

ttOptSetTblStats

説明

このプロシージャは、指定した表の統計を変更します。このプロシージャを使用すると、TimesTenが自動的に統計を計算するのではなく、アプリケーションで明示的に統計を設定できます。

必要な権限

このプロシージャには、所有者の場合は権限が必要ありませんが、所有者でない場合はALTER ANY TABLE権限が必要です。

構文

ttOptSetTblStats('tblName', numRows, invalidate)

パラメータ

ttOptSetTblStatsには、次のパラメータがあります。

パラメータ データ型 説明
tblName TT_CHAR (61) NOT NULL アプリケーション表の名前。表の所有者を含めることができます。

表名の指定にシノニムは使用できません。

num_Rows TT_INTEGERNOT NULL 表の行数。
invalidate TT_INTEGER 0(no)または1(yes)。invalidateが1の場合、他のユーザーが準備したコマンドを含む、影響を受ける表を参照するすべてのコマンドは、再実行時に自動的に再準備されます。invalidate0の場合、統計は変更されたとはみなされず、既存のコマンドは再準備されません。

結果セット

ttOptSetTblStatsは結果を返しません。

CALL ttOptSetTblStats ( 'ACCTS', 10000, 0 );

注意

この機能は、データが挿入される前にコマンドを準備したり、表サイズが実行計画の選択に与える影響を調べる場合に役立ちます。コマンドは表にデータが存在する前から使用できるため、指定する値は実際の値とは関係のないものでもかまいません。このプロシージャによって、TBL_STATSシステム表の関連する行が変更されます。『Oracle TimesTen In-Memory Databaseシステム表およびビュー・リファレンス』SYS.TBL_STATSに関する説明を参照してください。

ttOptShowJoinOrder

説明

このプロシージャは、現在のトランザクションで最後に準備または実行されたSQL文(SELECTUPDATEDELETEおよびINSERT SELECT)の結合順序を返します。結合順序を収集するには、同じトランザクションで、まずttOptSetFlag('ShowJoinOrder', 1)を使用するか、ttIsqlShowJoinOrderコマンドをON (1)に設定します。これらのコマンドのいずれかを使用するときは、AUTOCOMMITをオフにしておいてください。結合順序は、表の名前の順序によって表されます。

必要な権限

このプロシージャには、権限は必要ありません。

構文

ttOptShowJoinOrder()

パラメータ

ttOptShowJoinOrderにパラメータはありません。

結果セット

ttOptShowJoinOrderは次の結果を返します。

データ型 説明
joinOrder TT VARCHAR (4096) NOT NULL 表名(指定されている場合は、所有者名の修飾子および各表の相関名が含まれます)。表名は、カッコで囲まれて返されます。

表名の指定にシノニムは使用できません。


>AUTOCOMMIT 0;
> CALL ttOptSetFlag ('ShowJoinOrder', 1);
>PREPARE SELECT * FROM t1;
>CALL ttOptShowJoinOrder();
>( T1 )

注意

このプロシージャを使用する前に、ttOptSetFlag('ShowJoinOrder', 1)をコールするか、ttIsqlShowJoinOrderコマンドをON (1)に設定する必要があります。

このプロシージャは、1つのトランザクション内で正しく動作します。複数のトランザクション間では正しく動作しません。

ttOptStatsExport

説明

このプロシージャは、表の統計を現在の状態にリストアするために必要な一連の文を返します。表が指定されていない場合は、コールするユーザーがアクセス権を持つすべてのユーザー表の表統計をリストアするために必要な一連の文を返します。

必要な権限

このプロシージャを実行するにはADMIN権限が必要です。

構文

ttOptStatsExport('tblName')

パラメータ

ttOptStatsExportには次のパラメータがあります。

パラメータ データ型 説明
tblName TT_CHAR(61) NOT NULL 統計情報が返される表の名前です。NULLが渡された場合、すべての表の値が返されます。

表名の指定にシノニムは使用できません。


結果セット

ttOptStatsExportは次の結果セットを返します。

データ型 説明
stmt TT_VARCHAR (8300) NOT NULL 表の統計を現在の状態にリストアするために必要な一連の文。

CALL ttOptStatsExport('MyTable');

関連項目


『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』の現在の表統計を再生成するスクリプトの作成に関する説明。

ttOptUpdateStats

説明

このプロシージャは、指定した表の統計を更新します。TimesTenは表に格納されているデータを参照して、システム表TBL_STATSおよびCOL_STATSを更新します。表が大きい場合、このプロセスには多少時間がかかる可能性があります。行が更新されても統計は自動的に計算されないため、このプロシージャをコールすることによって、アプリケーションで明示的に統計を計算する必要があります。

tblNameが指定されていない場合、このプロシージャは現在のユーザーのすべての表に対して操作されます。

必要な権限

ユーザーが表の所有者である場合、またはtblNameが指定されていない場合、このプロシージャに権限は必要ありません。ユーザーが表の所有者でない場合、このプロシージャにはALTER ANY TABLE権限が必要です。

構文

ttOptUpdateStats(['tblName'], [invalidate], [option])

パラメータ

ttOptUpdateStatsには、次のパラメータがあります。

パラメータ データ型 説明
tblName TT_CHAR(61) アプリケーション表の名前。表の所有者を含めることができます。NULLまたは空の文字列を値として指定すると、現在のユーザーのすべての表の統計が更新されます。

表名の指定にシノニムは使用できません。

invalidate TT_INTEGER 0(いいえ)または1(はい)。invalidateが1の場合、ALTER TABLE DROP TABLE文とALTER TABLE ADD COLUMN FOR SELECT * FROM TABLE文以外のすべてのコマンドが、次の実行時に再準備するようにマークされます。これらの例外については、手動で再準備する必要があります。invalidateが0の場合、統計は変更されたとはみなされず、既存のコマンドは再準備されません。

invalidateパラメータはオプションで、デフォルトは0です。

option TT_INTEGER 完全な時間隔の統計情報の収集をするかどうかを指定します。このオプションに有効な値は、次のとおりです。

NULLまたは0: 列に範囲索引が存在する場合にのみ、完全な時間隔統計を収集します。範囲索引が存在しない場合は、単一の時間隔統計を収集します。

1 - 完全な時間隔統計を収集しません。単一の時間隔統計のみが収集されます。

optionパラメータはオプションで、デフォルトは0です。

詳細は、次の注意を参照してください。


結果セット

ttOptUpdateStatsは結果を返しません。

CALL ttOptUpdateStats ( 'ACCTS', 1 );

ACCTS表を更新し、ACCTS表を参照するすべてのコマンドを次回の実行時に再準備します。

CALL ttOptUpdateStats('', 1);

現在のユーザーのすべての表を更新し、その表に対するコマンドを次回の実行時に再準備します。

CALL ttOptUpdateStats('ACCTS', 0, 1);

単一の時間隔統計を収集します。

注意

指定した表名が空の文字列である場合、統計は現在のユーザーのすべての表について更新されます。

完全な時間隔統計を収集する場合、表の列の総数は20以下の時間隔に分割され、各時間隔の配分が統計に記録されます。新しい統計には、次の情報が含まれます。

  • 時間隔の数

  • 列のNULL値の総数

  • 列のNON NULL UNIQUE値の総数

  • 表の行の総数

  • 時間隔情報(各時間隔には次の情報が含まれます)

    • 最小値

    • 最大値

    • 最大頻度の値

    • 最大頻度の値の数

    • 最大頻度の値と異なる値の行の数

    • 最大頻度の値以外の一意値の数

完全な時間隔統計を収集するには、データをソートする必要があります。

完全な時間隔統計を選択しない場合、全体の配分を単一の時間隔として処理することにより、統計が収集されます。

TimesTenでは、パフォーマンス上の理由から、統計の計算時に表ロックおよび行ロックは保持されません。ただし、統計の計算をそのように行った場合でも、パフォーマンスが低下する可能性があります。統計は、正確に計算するよりも推定した方が一般にパフォーマンスは向上します。統計の推定については、「ttOptEstimateStats」を参照してください。

システム表を更新する権限がある場合、空の表リストを指定して統計を見積もり、または更新すると、システム表の統計も更新されます。

ttOptUseIndex

説明

このプロシージャは、アプリケーションで、TimesTen問合せオプティマイザによる実行計画の生成を変更できるようにします。アプリケーションはこのプロシージャをコールして、一連の索引の使用を無効にしたり、問合せで使用する各相関関係のために一連の索引のみの使用を有効にすることができます。索引の使用を有効にしても、生成された計画がその索引を使用するとはかぎりません。オプティマイザは、推定されたコストに応じて、指定した索引を使用する計画より優れた計画が得られる場合、シリアライズ・スキャンまたはマテリアライズ・スキャンを使用して、関連する相関関係にアクセスすることを選択する場合があります。

このコールによって加えられた変更はただちに有効になり、アプリケーションがこれを消去するコールを明示的に発行するまで、現在のトランザクションでのODBC関数SQLPrepareおよびSQLExecDirectへの後続のすべてのコール、JDBCメソッドConnection.prepareCallおよびStatement.executeへの後続のすべてのコールに影響します。新しいトランザクションが開始されるたびに、設定は消去されます。

この組込みプロシージャの実行中は、AutoCommitOFFに設定する必要があります。

必要な権限

このプロシージャには、権限は必要ありません。

構文

ttOptUseIndex('IndexName, CorrelationName, 0 | 1 [;...]')

パラメータ

ttOptUseIndexには、次の構成要素を持つTT_VARCHAR(1024)型の単一のカンマで区切られた文字列パラメータindOptionがあります。

構成要素 説明
IndexName ユーザー定義索引の名前(一時的な範囲索引の場合は「_TMPRANGE」、一時的なハッシュ索引の場合は「_TMPHASH」)。索引名を省略すると、指定した相関関係のすべての索引に設定が適用されます。
CorrelationName 表の相関名。表がFROM句の相関名によって定義されている場合、この表の索引ヒントを指定する際は、表名のかわりにこの相関名を使用します。相関名を省略すると、この設定は、指定した索引名を持つすべての表に影響します。
0 | 1 IndexNameで指定した索引の使用を無効(0)または有効(1)にします。

結果セット

ttOptUseIndexは結果を返しません。

CALL ttOptUseIndex('"3456"."1234", t1, 0');

CALL ttOptUseIndex('data1.i1, data1.t1, 0');

CALL ttOptUseIndex('i1, t1, 0');

注意

パラメータを指定しないか、またはNULL値を指定してttOptUseIndexをコールすると、前の索引ヒントが消去されます。

ttPLSQLMemoryStats

説明

このプロシージャは、PL/SQLライブラリ・キャッシュのパフォーマンスおよびアクティビティに関する結果統計を返します。

必要な権限

このプロシージャには、権限は必要ありません。

構文

ttPLSQLMemoryStats( )

パラメータ

ttPLSQLMemoryStatsにパラメータはありません。

結果セット

ttPLSQLMemoryStatsは、次の列に結果を返します。

データ型 説明
paramName TT_VARCHAR (30) NOT NULL この行に返された結果統計の名前。
paramValue BINARY_FLOAT NOT NULL この行に返された結果統計の値。

次の統計が返されます。

  • Gets: PL/SQLオブジェクトに対してロックがリクエストされた回数。

  • GetHits: PL/SQLオブジェクトのハンドルがメモリーで検出された回数。

  • GetHitRatio: Getsに対するGetHitsの比率。

  • Pins: PL/SQLオブジェクトに対してPINがリクエストされた回数。

  • PinHits: ライブラリ・オブジェクトのすべてのメタデータ・ピースがメモリーで検出された回数。

  • PinHitRatio: Pinsに対するPinHitsの比率。

  • Reloads: オブジェクトのPINのうち、オブジェクト・ハンドルの作成後初めて実行されたPINではなく、データベースからのオブジェクトのロードを必要とするPIN。

  • Invalidations: 依存オブジェクトが変更されたためにこのネームスペースのオブジェクトが無効とマークされた合計回数。

  • CurrentConnectionMemory: このデータベース接続でPL/SQLに割り当てられるヒープ・メモリーの総量(MB単位)。

  • DeferredCleanups: 遅延クリーンアップが発生した合計回数。

connect "DSN=sample";
Connection successful:
DSN=sample;UID=timesten;DataStore=/scratch/timesten/sample;
DatabaseCharacterSet=AL32UTF8;ConnectionCharacterSet=AL32UTF8;
PermSize=128;TypeMode=0;PLSQL_MEMORY_SIZE=32;
PLSQL_MEMORY_ADDRESS=20000000;PLSQL=1;(Default setting AutoCommit=1)
Command> create procedure hello is begin 
dbms_output.put_line('Hello, World!');
end;
    > /
Procedure created.
Command> call ttPlsqlMemoryStats; 
< Gets, 485.00000 >
< GetHits, 444.000000 >
< GetHitRatio, .9154639 >
< Pins, 260.00000 >
< PinHits, 178.000000 >
< PinHitRatio, .6846154 >
< Reloads, 4.000000 >
< Invalidations, 0.000000e+00 >
< CurrentConnectionMemory, 56.00000 >
9 rows found.

ttRamPolicyAutoReloadGet

説明

このプロシージャは、無効化の後、データベースがRAMにリロードされるかどうかを判断するために使用するRAM自動リロード・ポリシーを返します。ポリシーは、autoreloadまたはnoautoreloadのいずれかです。

必要な権限

このプロシージャには、権限は必要ありません。

構文

ttRamPolicyAutoReloadGet()

結果セット

ttRamPolicyAutoReloadGetは次の結果を返します。

データ型 説明
flag TT_INTEGER 無効化の後、データベースがRAMにリロードされるかどうかを判断するために使用するポリシー。有効な値は、次のとおりです。

0 - 無効化の後、データベースが自動的にメモリーにリロードされることはありません。これは、コマンドttAdmin -noAutoReloadと等価です。

1 - 無効化の後、データベースは自動的にメモリーにリロードされます。これは、コマンドttAdmin -autoReloadと等価です。これは、デフォルトの自動リロード・ポリシーです。


パラメータ

ttRamPolicyAutoReloadGetにパラメータはありません。

RAM自動リロード・ポリシーを表示するには、次のように使用します。

CALL ttRamPolicyAutoReloadGet();

ttRamPolicyAutoReloadSet

説明

このプロシージャは、データベースが無効化されている場合にRAM自動リロード・ポリシーを判断します。ポリシーは、autoreloadまたはnoautoreloadのいずれかです。

必要な権限

このプロシージャには、ADMIN権限が必要です。

構文

ttRamPolicyAutoReloadSet(flag)

パラメータ

ttRamPolicyAutoReloadSetには、次のパラメータがあります。

パラメータ データ型 説明
flag TT_INTEGERNOT NULL 無効化の後、データベースがRAMにリロードされるかどうかを判断するために使用するポリシー。有効な値は、次のとおりです。

0 - 無効化の後、データベースが自動的にメモリーにリロードされることはありません。これは、コマンドttAdmin -noAutoReloadと等価です。

1 - 無効化の後、データベースは自動的にメモリーにリロードされます。これは、コマンドttAdmin -autoReloadと等価です。これは、デフォルトの自動リロード・ポリシーです。


結果セット

ttRamPolicyAutoReloadSetは結果を返しません。

無効化の後、データベースを自動的にRAMにリロードするには、次のように使用します。

CALL ttRamPolicyAutoReloadSet(1);

ttRamPolicyGet

説明

このプロシージャは、データベースがメモリーにロードされるタイミングを決定するRAMポリシーを返します。ポリシーは、alwaysmanualinUseのいずれかです。

必要な権限

このプロシージャには、権限は必要ありません。

構文

ttRamPolicyGet()

結果セット

ttRamPolicyGetは次の結果を返します。

データ型 説明
ramPolicy TT_VARCHAR (10) データベースをシステムRAMにロードするタイミングを決定するために使用するポリシーです。有効な値は、次のとおりです。

always: データベースはシステムRAMに常時存在します。

manual: ユーザーがttAdmin -ramLoadコマンドを使用して明示的にロードする場合にのみ、データベースはシステムRAMにロードされます。

inUse: データベースが使用中(アプリケーションの接続時)にのみシステムRAMにロードされます。このオプションは、一時データベースでは使用できません。一時データベースは手動でのみRAMにロードできます。ポリシーを設定しようとすると、警告が表示されます。

ramGrace TT_INTEGER このフィールドは、ramPolicyinUseの場合に、最後のアプリケーションが切断されてから何秒後までデータベースがRAMに保持されるかをレポートします。これ以外の場合、このフィールドはNULLです。

パラメータ

ttRamPolicyGetにパラメータはありません。

RAMポリシーを表示するには、次のように実行します。

CALL ttRamPolicyGet();

関連項目


ttRamPolicySet
「ttAdmin」
『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のRAMポリシーの指定に関する説明

ttRamPolicySet

説明

このプロシージャは、データベースがメモリーにロードされるタイミングを決定するために使用するポリシーを定義します。ポリシーは、alwaysmanualinUseのいずれかです。

必要な権限

このプロシージャには、ADMIN権限が必要です。

構文

ttRamPolicySet('ramPolicy', [ramGrace])

パラメータ

ttRamPolicySetには、次のパラメータがあります。

パラメータ データ型 説明
ramPolicy TT_VARCHAR (10) NOT NULL データベースをシステムRAMにロードするタイミングを決定するために使用するポリシーです。有効な値は、次のとおりです。

always: データベースはシステムRAMに常時存在します。

manual: ユーザーがttAdmin -ramLoadコマンドを使用して明示的にロードする場合にのみ、データベースはシステムRAMにロードされます。

inUse: データベースが使用中(アプリケーションの接続時)にのみシステムRAMにロードされます。このオプションは、一時データベースでは使用できません。一時データベースは手動でのみRAMにロードできます。ポリシーを設定しようとすると、警告が表示されます。

ramGrace TT_INTEGER 最後のアプリケーションが切断されてから何秒後までデータベースをRAMに保持するかを設定します。この値は、ramPoliyinUseの場合にのみ有効です。このパラメータはオプションであり、省略するか、NULLを設定した場合、既存のramGrace期間は、変更されません。

結果セット

ttRamPolicySetは結果を返しません。

データベースをRAMにロードするポリシーをinUseに設定し、データベースが、最後のアプリケーションが切断された後も10秒間RAMに保持されるようにするには、次のように実行します。

CALL ttRamPolicySet('inUse', 10);

関連項目


ttRamPolicyGet
「ttAdmin」
『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のRAMポリシーの指定に関する説明

ttRedundantIndexCheck

説明

このプロシージャは、指定された表(または現在のユーザーのすべての表)をスキャンして、冗長索引を見つけます。冗長索引の名前および削除する索引に関するアドバイスを返します。

必要な権限

このプロシージャには、権限は必要ありません。

構文

ttRedundantIndexCheck('tblname')

パラメータ

ttRedundantIndexCheckには、次のパラメータがあります。

パラメータ データ型 説明
tblName TT_CHAR(61) アプリケーション表の名前。表の所有者を含めることができます。NULLまたは空の文字列を値として指定すると、現在のユーザーのすべての表の冗長索引がスキャンされます。

表名の指定にシノニムは使用できません。


結果セット

ttRedundantIndexCheckは次の結果を返します。

データ型 説明
redundancy TT_VARCHAR (1024) NOT NULL 冗長索引の名前および削除する索引に関するアドバイス。

主キーを持つ表yを作成します。次に、索引iを作成します。冗長索引が作成されているという警告が返されます。別の索引i1を作成します。コマンドは失敗し、エラーが返されます。このプロシージャをコールして、警告を表示します。

CREATE TABLE y (ID tt_integer primary key);
CREATE INDEX i ON y (id);

Warning 2240: New non-unique index I has the same key 
columns as existing unique index Y; consider dropping index I

CREATE INDEX i1 ON y (id);

2231: New index I1 would be identical to existing index I 
The command failed.

CALL ttredundantindexcheck ('y');

< Non-unique index SCOTT.Y.I has the same key columns 
as unique index SCOTT.Y.Y;
consider dropping index SCOTT.Y.I >
1 row found.

ttRepDeactivate

説明

このプロシージャは、アクティブ・スタンバイ・ペアのアクティブ・データベースの状態をACTIVEからIDLEに変更します。アクティブ・スタンバイ・ペアのマスター・データベースのロールを元に戻す場合に、このプロシージャを使用します。

必要な権限

このプロシージャには、ADMIN権限が必要です。

構文

ttRepDeactivate()

パラメータ

ttRepDeactivateにパラメータはありません。

結果セット

ttRepDeactivateは結果を返しません。

アクティブ・スタンバイ・ペアのアクティブ・データベースを無効にするには、次のコマンドを使用します。

CALL ttRepDeactivate();

関連項目


ttRepTransmitGet
ttRepTransmitSet
ttReplicationStatus
ttRepPolicySet
ttRepStateSave
ttRepStateSet
ttRepStop
ttRepSubscriberStateSet
ttRepSubscriberWait
『Oracle TimesTen In-Memory Database C開発者ガイド』のttRepDuplicateExに関する説明

ttReplicationStatus

説明

このプロシージャは、1つ以上のレプリケーション・ピア・データベースの状態を返します。

必要な権限

このプロシージャには、権限は必要ありません。

構文

ttReplicationStatus(['subscriber'], ['hostname'])

パラメータ

ttReplicationStatusには、次のオプションのパラメータがあります。

パラメータ データ型 説明
subscriber TT_VARCHAR(200) 関係するサブスクライバ(すべてのサブスクライバの場合はNULL)。パラメータを指定すると、情報を収集するレプリケーション・サブスクライバが指定されます。パラメータを指定しないと、現在のデータベースに定義されているレプリケーション・サブスクライバに関する情報が返されます。
hostname TT_VARCHAR(200) 実行中のデータ・ストアから更新を受信するように構成された、1つ以上のデータ・ストアのホスト名(NULLの場合、受信側のデータ・ストアはサブスクライバのみによって識別されます)。レシーバおよびホスト名の両方がNULLの場合、受信側のすべてのデータ・ストアが選択されます。

結果セット

ttReplicationStatusは次の結果セットを返します。

データ型 説明
subscriber TT_VARCHAR (200) NOT NULL サブスクライバ名。
hostName TT_VARCHAR (200) NOT NULL サブスクライバをホスティングするシステムの名前。
port TT_INTEGERNOT NULL マスターからの更新を受信するサブスクライバ・エージェントで使用されるTCP/IPポート。値が0(ゼロ)の場合は、レプリケーションでポートが自動的に割り当てられたことを示します。
pState TT_CHAR (10) NOT NULL マスター・データベースに対するサブスクライバの現在のレプリケーションの状態。結果列の値は次のとおりです。

start: このピアでは、レプリケーションは有効です。

pause: このピアでは、レプリケーションは一時停止中です。TimesTenは更新を保存します。詳細は、『Oracle TimesTen In-Memory Database開発者および管理者ガイド』のサブスクライバのレプリケーション状態の設定に関する説明を参照してください。

stop: このピアのためのレプリケーションの更新は収集されていません

failed: しきい値(ログ・データ)を超えているため、サブスクライバへのレプリケーションは失敗したとみなされます。この状態は、システムによって設定されます。

logs TT_INTEGERNOT NULL マスター・データベースがサブスクライバのために保持しているトランザクション・ログ・ファイルの数。
lastMsg TT_INTEGER 最後の対話以降の秒数またはNULL
replicationName TT_CHAR (30) NOT NULL レプリケーション・スキームの名前。
replicationOwner TT_CHAR (30) NOT NULL レプリケーション・スキームの所有者。

Command> call ttReplicationStatus();
< MASTER2, HOST1, 0, start     , 1, 257142, \
     _ACTIVESTANDBY         , TTREP       >
1 row found.

Command> call ttReplicationStatus('master2', 'host1');
< MASTER2, HOST1, 0, start     , 1, 266439, \
     _ACTIVESTANDBY                , TTREP                          >
1 row found.

注意

receiverパラメータがNULLでない場合、指定されたレシーバの状態のみが返されます。receiverパラメータがNULLである場合、すべてのサブスクライバの状態が返されます。

このプロシージャはTimesTen Data Manager ODBCアプリケーションでのみサポートされています。TimesTen ClientまたはJDBCアプリケーションではサポートされていません。

関連項目


ttRepDeactivate
ttRepPolicySet
ttRepStop
ttRepSubscriberStateSet
ttRepSyncGet
ttRepSyncSet
ttRepTransmitSet
『Oracle TimesTen In-Memory Database C開発者ガイド』のttRepDuplicateExに関する説明

ttRepPolicyGet

説明

このプロシージャは、接続されたデータベースに対してTimesTenを実行するタイミングを決定するレプリケーションの再起動ポリシーを返します。ポリシーは、alwaysmanualnorestartのいずれかです。

必要な権限

このプロシージャには、権限は必要ありません。

構文

ttRepPolicyGet()

パラメータ

ttRepPolicyGetにパラメータはありません。

結果セット

ttRepPolicyGetは次の結果を返します。

データ型 説明
repPolicy TT_VARCHAR (10) データベースに対してTimesTenレプリケーション・エージェントを実行するタイミングを決定するために使用するポリシー。有効な値は、次のとおりです。

always: レプリケーション・エージェントはデータベースに対して常時実行されます。このオプションは、TimesTenレプリケーション・エージェントをただちに起動します。TimesTenデーモンが再起動されると、自動的にレプリケーション・エージェントが再起動されます。

manual: ttRepStart組込みプロシージャまたはttAdmin -repStartコマンドのいずれかを使用して、レプリケーション・エージェントを手動で起動する必要があります。ttRepStop組込みプロシージャまたはttAdmin -repStopコマンドのいずれかを使用して、レプリケーション・エージェントを明示的に停止する必要があります。

norestart: エラーが発生した後、データベースに対するレプリケーション・エージェントは再起動されません。


TimesTenレプリケーション・エージェントのポリシーをalwaysに設定するには、次のように実行します。

CALL ttRepPolicyGet();

関連項目


ttRepDeactivate
ttRepTransmitSet
ttReplicationStatus
ttRepPolicySet
ttRepStart
ttRepStop
ttRepSubscriberStateSet
ttRepSubscriberWait
ttRepSyncGet
ttRepSyncSet
『Oracle TimesTen In-Memory Database C開発者ガイド』のttRepDuplicateExに関する説明

ttRepPolicySet

説明

このプロシージャは、接続されたデータベースに対してTimesTenを実行するタイミングを決定するレプリケーションの再起動ポリシーを定義します。ポリシーは、alwaysmanualnorestartのいずれかです。

必要な権限

このプロシージャには、ADMIN権限が必要です。

構文

ttRepPolicySet('repPolicy')

パラメータ

ttRepPolicySetには、次のパラメータがあります。

パラメータ データ型 説明
repPolicy TT_VARCHAR (10) NOT NULL データベースに対してTimesTenレプリケーション・エージェントを実行するタイミングを決定するために使用するポリシーを指定します。有効な値は、次のとおりです。

always: レプリケーション・エージェントはデータベースに対して常時実行されます。このオプションは、TimesTenレプリケーション・エージェントをただちに起動します。TimesTenデーモンが再起動されると、自動的にレプリケーション・エージェントが再起動されます。

manual: ttRepStart組込みプロシージャまたはttAdmin -repStartコマンドのいずれかを使用して、レプリケーション・エージェントを手動で起動する必要があります。ttRepStop組込みプロシージャまたはttAdmin -repStopコマンドのいずれかを使用して、レプリケーション・エージェントを明示的に停止する必要があります。

norestart: エラーが発生した後、データベースに対するレプリケーション・エージェントは再起動されません。


結果セット

ttRepPolicySetは結果を返しません。

TimesTenレプリケーション・エージェントのポリシーをalwaysに設定するには、次のように実行します。

CALL ttRepPolicySet('always');

関連項目


ttRepDeactivate
ttRepTransmitSet
ttReplicationStatus
ttRepPolicyGet
ttRepStart
ttRepStop
ttRepSubscriberStateSet
ttRepSubscriberWait
ttRepSyncGet
ttRepSyncSet
『Oracle TimesTen In-Memory Database C開発者ガイド』のttRepDuplicateExに関する説明

ttRepQueryThresholdGet

説明

このプロシージャは、レプリケーション・エージェントの問合せしきい値として最後に指定された秒数を返します。返された秒数は、有効な問合せしきい値と同じでない場合があります。問合せしきい値に新たに設定した値は、次回レプリケーション・エージェントが起動されたときに有効になります。

必要な権限

このプロシージャには、ADMIN権限が必要です。

構文

ttRepQueryThresholdGet()

パラメータ

ttRepQueryThresholdGetにパラメータはありません。

結果セット

ttRepQueryThresholdGetは次の結果を返します。

データ型 説明
repQueryThreshold TT_INTEGER レプリケーション問合せの最大実行秒数(この秒数を超えるとエラーが返されます)。

レプリケーションの問合せしきい値を取得するには、次のコマンドを実行します。

CALL ttRepQueryThresholdGet;
< 4 >
1 row found.

関連項目


ttRepDeactivate
ttReplicationStatus
ttRepPolicyGet
ttRepQueryThresholdSet
ttRepStart
ttRepStop
ttRepSubscriberStateSet
ttRepSubscriberWait
ttRepSyncGet
ttRepSyncSet
ttRepTransmitSet
『Oracle TimesTen In-Memory Database C開発者ガイド』のttRepDuplicateExに関する説明

ttRepQueryThresholdSet

説明

このプロシージャは、レプリケーション・エージェントが問合せを実行できる最大秒数を指定し、この秒数を超えると、警告がサポート・ログに書き込まれ、SNMPトラップがスローされます。指定された値は、レプリケーション・エージェントを次に起動したときに有効になります。レプリケーション・エージェントの問合せしきい値は、マテリアライズド・ビューのディテール表に対するSQL実行、ON DELETE CASCADE処理、およびSQL文を実行する一部の内部処理に適用されます。

必要な権限

このプロシージャには、ADMIN権限が必要です。

構文

ttRepQueryThresholdSet(seconds);

パラメータ

ttRepQueryThresholdSetには、次のパラメータがあります。

パラメータ データ型 説明
seconds TT_INTEGERNOT NULL レプリケーション・エージェントがSQL文を実行できる最大秒数(この秒数を超えると、警告がサポート・ログに書き込まれ、SNMPトラップがスローされます)。0以上の値を指定する必要があります。デフォルトは0で、TimesTenが警告を書き込まないことを示します。

結果セット

ttRepQueryThresholdSetは結果を返しません。

レプリケーションの問合せしきい値を4秒に設定するには、次のコマンドを実行します。

CALL ttRepQueryThresholdSet(4);

関連項目


ttRepDeactivate
ttReplicationStatus
ttRepPolicyGet
ttRepQueryThresholdGet
ttRepStart
ttRepStop
ttRepSubscriberStateSet
ttRepSubscriberWait
ttRepSyncGet
ttRepSyncSet
ttRepTransmitSet
『Oracle TimesTen In-Memory Database C開発者ガイド』のttRepDuplicateExに関する説明

ttRepStart

説明

このプロシージャは、接続しているデータベースに対してTimesTenレプリケーション・エージェントを起動します。

必要な権限

このプロシージャには、CACHE_MANAGER権限が必要です。

構文

ttRepStart()

パラメータ

ttRepStartにパラメータはありません。

結果セット

ttRepStartは結果を返しません。

レプリケーション・エージェントを起動するには、次のように実行します。

CALL ttRepStart();

注意

いずれのレプリケーション・スキームにもデータベースが存在しない場合、レプリケーション・エージェントは起動しません。

このプロシージャを使用する場合、コールを実行するアプリケーションを含めたすべてのアプリケーションは、データベース・レベルのロック(LockLevel=1)を指定する接続を保持することができません。

関連項目


ttRepDeactivate
ttRepTransmitGet
ttRepTransmitSet
ttReplicationStatus
ttRepPolicySet
ttRepStop
ttRepSubscriberStateSet
ttRepSubscriberWait
ttRepSyncSet
ttRepSyncGet
『Oracle TimesTen In-Memory Database C開発者ガイド』のttRepDuplicateExに関する説明

ttRepStateGet

説明

このプロシージャは、アクティブ・スタンバイ・ペアのデータベースの現在のレプリケーションの状態を返します。

必要な権限

このプロシージャには、権限は必要ありません。

構文

ttRepStateGet()

パラメータ

ttRepStateGetにパラメータはありません。

結果セット

ttRepStateGetは次の結果を返します。

データ型 説明
state TT_VARCHAR (20) NOT NULL データベースの現在のレプリケーションの状態。次のいずれかです。

ACTIVE: データベースは、現在アクティブ・マスター・データベースです。アプリケーションによって、レプリケートされた表が更新される場合があります。

STANDBY: データベースは、スタンバイ・マスター・データベースです。アプリケーションによって、レプリケートされていない表のみが更新される場合があります。

FAILED: データベースは、障害が発生したマスター・データベースです。更新はレプリケートされていません。

IDLE: データベースは、アクティブ・スタンバイ・ペアのロールを割り当てられていません。このデータベースは、アプリケーションまたはレプリケーションでは更新できません。すべてのストアがIDLE状態で表示されます。

RECOVERING - データ・ストアは、障害の発生後、アクティブ・ストアとの同期更新を処理中です。

gridState TT_VARCHAR (20) NOT NULL データベースの現在のグリッドの状態。次のいずれかです。

NO GRID - ノードはアタッチされていません。

AVAILABLE: ノードはアタッチされていて、ノードのロールはレプリケーション・ストアの状態と一致しており、アクティブまたはスタンバイのいずれかです。所有者の変更が発生する可能性のある処理を実行できます。このような処理には、AGINGDELETEINSERTLOADSELECTおよびUNLOADが含まれます。

IN TRANSITION: ノードはアタッチされていて、スタンバイ状態からアクティブ状態に移行中です。これはアクティブ・スタンバイ状態のフェイルオーバー中に発生する可能性があります。レプリケーション・ストアはアクティブですが、所有者の変更が可能な処理では使用できません。所有者の変更が可能な処理は許可されません。

UNAVAILABLE: ノードはアタッチされていますが、エラーのために最後のフェイルオーバー中にアクティブ・グリッドの状態に変更することができませんでした。レプリケーション・ストアの状態はすでにアクティブですが、所有者の変更が可能な処理は許可されません。ユーザーはエラー状態を修正し、明示的にttGridAttachプロシージャを実行してノードをアクティブ状態にする必要があります。


アクティブ・スタンバイ・ペアのレプリケーションとグリッド状態を決定するには、次のコマンドを使用します。

Call ttRepStateGet();
<STANDBY, NO GRID>
 
Call ttRepStateGet();
<ACTIVE, NO GRID>
 
Call ttRepStateGet();
<ACTIVE, AVAILABLE>
 
Call ttRepStateGet();
<ACTIVE, UNAVAILABLE>

関連項目


ttRepDeactivate
ttRepTransmitSet
ttReplicationStatus
ttRepPolicySet
ttRepStateSave
ttRepStateSet
ttRepStop
ttRepSubscriberStateSet
ttRepSubscriberWait
『Oracle TimesTen In-Memory Database C開発者ガイド』のttRepDuplicateExに関する説明

ttRepStateSave

説明

アクティブ・スタンバイ・ペアのリモート・ピア・データベースの状態を現在接続されているデータベースに保存します。現在、スタンバイ・データベース(hostName上のstoreName)で障害が発生したこと、およびアクティブ・データベースに対するすべての更新を読取り専用サブスクライバに直接レプリケートする必要があることをアクティブ・データベースに通知するためにのみ使用されます。

必要な権限

このプロシージャには、ADMIN権限が必要です。

構文

ttRepStateSave('state', 'storeName', 'hostName')

パラメータ

ttRepStateSaveには、次のパラメータがあります。

パラメータ データ型 説明
state TT_VARCHAR (20) NOT NULL データベースのレプリケーションの状態。このリリースでは、FAILEDとしてのみ指定できます。スタンバイ・データベースで障害が発生したことを記録すると、レプリケートされたすべての更新が、アクティブ・データベースから読取り専用サブスクライバに直接送信されるように指定されます。
storeName TT_VARCHAR (200) NOT NULL 状態が示されるデータベース名。
hostName TT_VARCHAR (200) データベースが存在するホスト名。

結果セット

ttRepStateSaveは結果を返しません。

backup1というホスト上のスタンバイ・データベースstandbyで障害が発生したことをアクティブ・データベースに通知するには、次のように実行します。

ttRepStateSave('FAILED', 'standby', 'backup1');

関連項目


ttRepDeactivate
ttRepTransmitSet
ttReplicationStatus
ttRepPolicySet
ttRepStateGet
ttRepStateSet
ttRepStop
ttRepSubscriberStateSet
ttRepSubscriberWait
ttRepSyncGet
ttRepSyncSet
『Oracle TimesTen In-Memory Database C開発者ガイド』のttRepDuplicateExに関する説明

ttRepStateSet

説明

このプロシージャは、アクティブ・スタンバイ・ペアのデータベースのレプリケーション・スキームの状態を設定します。現在、ttRepStateSetは、データベースの状態をACTIVEにするためにのみ使用でき、ACTIVEは、データベースがアクティブ・スタンバイ・ペアでアクティブな役割を果たすことを示します。ttRepStateSetは、次の状況でのみ使用できます。

  • データベースで、CREATE ACTIVE STANDBY PAIRコマンドが実行され、それ以降、障害が発生していない場合。

  • データベースが現在STANDBY状態で、アクティブ・スタンバイ・ペアの他のデータベースでttRepDeactivateプロシージャが使用されてその状態がACTIVEからIDLEに変更された場合。

  • データベースがローカル・トランザクション・ログからリカバリした直後で、停止前はACTIVE状態であった場合。

必要な権限

このプロシージャには、ADMIN権限が必要です。

構文

ttRepStateSet('state')

パラメータ

ttRepStateSetには、次のパラメータがあります。

パラメータ データ型 説明
state TT_VARCHAR (20) NOT NULL データベースのレプリケーションの状態。このリリースでは、ACTIVEと設定する必要があります。ストアをACTIVEに設定すると、アクティブ・スタンバイ・ペアのアクティブ・データベースとして指定されます。

結果セット

ttRepStateSetは結果を返しません。

データベースのレプリケーションの状態をACTIVEに設定するには、次のように実行します。

CALL ttRepStateSet('ACTIVE');

関連項目


ttRepDeactivate
ttRepTransmitSet
ttReplicationStatus
ttRepPolicySet
ttRepStateGet
ttRepStateSave
ttRepStop
ttRepSubscriberStateSet
ttRepSubscriberWait
ttRepSyncGet
ttRepSyncSet
『Oracle TimesTen In-Memory Database C開発者ガイド』のttRepDuplicateExに関する説明

ttRepStop

説明

このプロシージャは、接続しているデータベースに対してTimesTenレプリケーション・エージェントを停止します。

必要な権限

このプロシージャには、CACHE_MANAGER権限が必要です。

構文

ttRepStop()

パラメータ

ttRepStopにパラメータはありません。

結果セット

ttRepStopは結果を返しません。

レプリケーション・エージェントを停止するには、次のように実行します。

CALL ttRepStop();

注意

このプロシージャを使用する場合、コールを実行するアプリケーションを含めたすべてのアプリケーションは、データベース・レベルのロック(LockLevel=1)を指定する接続を保持することができません。

関連項目


ttRepDeactivate
ttRepTransmitSet
ttReplicationStatus
ttRepPolicySet
ttRepStart
ttRepSubscriberStateSet
ttRepSubscriberWait
ttRepSyncGet
ttRepSyncSet
『Oracle TimesTen In-Memory Database C開発者ガイド』のttRepDuplicateExに関する説明

ttRepSubscriberStateSet

説明

このプロシージャは、実行中のマスター・ストアのレプリケーション・サブスクライバの状態を変更します。

必要な権限

このプロシージャには、ADMIN権限が必要です。

構文

ttRepSubscriberStateSet('replicationName', 'replicationOwner',
 'subscriberStoreName', 'subscriberHostName', newStateCode)

パラメータ

ttRepSubscriberStateSetには、次のパラメータがあります。

パラメータ データ型 説明
replicationName TT_CHAR (30) 処理対象のレプリケーション・スキーム名です。NULLは、すべてのレプリケーション・スキームを示します。
replicationOwner TT_CHAR (30) レプリケーション・スキームの所有者です。NULLは、すべてのレプリケーション・スキーム所有者を示します。
subscriberStoreName TT_VARCHAR (200) 状態を設定するサブスクライバのデータベース名です。NULLは、subscriberHostNameホスト上のすべてのストアを示します。
subscriberHostName TT_VARCHAR (200) サブスクライバのホストです。NULLは、サブスクライバのピアのすべてのホストを示します。
newStateCode TT_INTEGER 指定されたサブスクライバの新しい状態を表す整数コードです。

0/NULL - 開始(デフォルト)。サブスクライバへのレプリケーションを開始します。

1 - 一時停止。更新を保持したまま、レプリケーション・エージェントを一時停止します。

2 - 停止。サブスクライバへのレプリケーションを停止し、更新を破棄します。

その他のすべての状態コードは許可されません。(このプロシージャでは、サブスクライバの状態を「failed」に設定することはできません。)詳細は、『Oracle TimesTen In-Memory Database開発者および管理者ガイド』のサブスクライバのレプリケーション状態の設定に関する説明を参照してください。


結果セット

ttRepSubscriberStateSetは結果を返しません。

次の例では、REPL.REPSCHEMEというレプリケーション・スキームについて、サブスクライバ・データベース(SUBSCRIBERDS ON SYSTEM1)の状態を停止(2)に設定するようにマスター・データベースに指示します。

CALL ttRepSubscriberStateSet('REPSCHEME', 'REPL', 
'SUBSCRIBERDS','SYSTEM1', 2);

すべてのサブスクライバの状態を一時停止(1)に設定するようマスター・データベースに指示するには、次のように実行します。

CALL ttRepSubscriberStateSet( , , , , 1 );

パラメータを指定しない場合の動作は、NULLを使用した場合と同じです。

関連項目


ttRepDeactivate
ttRepTransmitSet
ttReplicationStatus
ttRepPolicySet
ttRepStart
ttRepStop
ttRepSubscriberWait
ttRepTransmitGet
ttRepTransmitSet
『Oracle TimesTen In-Memory Database C開発者ガイド』のttRepDuplicateExに関する説明

ttRepSubscriberWait

説明

このプロシージャでは、コール元は、コール前にコミットされたすべてのトランザクションがサブスクライバsubscriberStoreNameに送信されるまで待機します。さらに、サブスクライバ・データベースで更新が永続的にコミットされたことをこのサブスクライバが認識するまで待機します。

他に保留中のトランザクションがアクティブ・データベースにない場合は、別のトランザクションでこのプロシージャをコールします。アクティブ・データベース上で開かれているトランザクションがある場合、このコールはエラーを返します。

waitTimeパラメータを-1に、subscriberStoreNameパラメータをNULLに設定した場合、プロシージャのコール時点までにコミットされたすべての更新がすべてのサブスクライバに送信され、更新が永続的にコミットされたことをすべてのサブスクライバが認識するまで、ttRepSubscriberWaitプロシージャは結果を返しません。

緊急レスポンスが必要な場合は、ttRepSubscriberWaitプロシージャを使用しないでください。RETURN RECEIPTサービスを使用してください。


注意:

すべての書込みトランザクション・アクティビティがストアで静止された後にこのプロシージャがコールされた場合(アクティブなトランザクション、起動されているトランザクションがない状態)、すべての更新がサブスクライバで永続的にコミットされていることを示す応答をサブスクライバが送信するまでに60秒以上かかる可能性があります。

必要な権限

このプロシージャには、権限は必要ありません。

構文

ttRepSubscriberWait('replicationName', 'replicationOwner', 
'subscriberStoreName', 'subscriberHostName', waitTime)

パラメータ

ttRepSubscriberWaitには、次のパラメータがあります。

パラメータ データ型 説明
replicationName TT_CHAR (30) 処理対象のレプリケーション・スキーム名です。NULLは、すべてのレプリケーション・スキームを示します。
replicationOwner TT_CHAR (30) レプリケーション・スキームの所有者です。NULLは、すべてのレプリケーション・スキーム所有者を示します。
subscriberStoreName TT_VARCHAR (200) 状態を設定するサブスクライバのデータベース名です。NULLは、subscriberHostNameホスト上のすべてのストアを示します。
subscriberHostName TT_VARCHAR(200) サブスクライバのホストです。NULLは、サブスクライバのピアのすべてのホストを示します。
waitTime TT_INTEGERNOT NULL 指定したサブスクライバを待機する時間(秒)。-1は永久に待機することを表します。このパラメータは必須で、NULLは使用できません。

結果セット

ttRepSubscriberWaitは次の結果セットを返します。

データ型 説明
timeOut BINARY(1) 0x00: 指定されたwaitTime内で待機は成功し、指定されたサブスクライバは、このプロシージャがコールされた時点の最新状態になっています。十分な時間が割り当てられていない場合、TimesTenは0x01を返します。

定義済レプリケーション・スキームREPOWNER.REPSCHEMEが1つある場合に、SERVER2上のサブスクライバREP2が追いつくまで送信側データ・ストアを10分待機させるには、次のように実行します。

CALL ttRepSubscriberWait('REPSCHEME','REPOWNER', 
'REP2', 'SERVER2', 600);

関連項目


ttRepDeactivate
ttRepTransmitSet
ttReplicationStatus
ttRepPolicySet
ttRepStart
ttRepStop
ttRepSubscriberStateSet
ttRepSyncGet
ttRepSyncSet
『Oracle TimesTen In-Memory Database C開発者ガイド』のttRepDuplicateExに関する説明

ttRepSyncGet

説明

このプロシージャは、コール元でのレプリケーション・ベースのRETURNサービスの使用状況に関連付けられた静的属性を返します。このプロシージャは、RETURN RECEIPTサービスまたはRETURN TWOSAFEサービスのいずれかとともに動作します。

必要な権限

このプロシージャには、権限は必要ありません。

構文

ttRepSyncGet()

パラメータ

ttRepSyncGetにパラメータはありません。

結果セット

ttRepSyncGetは次の結果セットを返します。

データ型 説明
requestReturn BINARY(1)descr 0(デフォルト): RETURN RECEIPT BY REQUESTまたはRETURN TWOSAFE BY REQUESTオプションによって設定されるリターン通知を待機しません。

1: リターン通知を待機します。コミットすると、この属性はデフォルト値の0 (オフ)にリセットされます。

returnWait TT_INTEGER RETURNサービスの応答を待機する秒数を指定します。デフォルト値は10秒です。0は待機時間がないことを意味します。この属性はトランザクションをまたいで動作し、BY REQUESTオプションとは独立して、すべてのRETURNサービスに適用されます。
localAction TT_INTEGER RETURNサービスの現在のLOCAL ACTION構成です。

1 (デフォルト) - NO ACTIONCOMMITがタイムアウトすると、ブロックされていないアプリケーションが返され、トランザクションはCOMMIT開始時と同じ状態のままになります。アプリケーションはCOMMITのみを再発行する場合があります。

2 - COMMITCOMMITがタイムアウトすると、トランザクションはローカルでコミットされます。この属性は、接続されているかぎり、トランザクションをまたいで存続します。


コール元のrequestReturn値を取得するには、次のように実行します。

SQLCHAR requestReturn[1];
SQLINTEGER    len;
rc = SQLExecDirect   ( hstmt
                , (SQLCHAR *) "{CALL ttRepSyncGet( NULL )}"
                , SQL_NTS )
rc = SQLBindCol     ( hstmt
                , /* ColumnNumber */      1
                , /* TargetType */      SQL_C_BINARY )
                , /* TargetValuePtr */     requestReturn
                ,./* BufferLength */      sizeof requestReturn
                , /* StrLen_ */         &len );
rc = SQLFetch( hstmt );
if ( requestReturn[0] ) {
...
}

注意

スタンドアロンのトランザクション内でコールすると、ttRepSyncGetは常に、requestReturnのデフォルト値を返します。

アプリケーションはトランザクション内のどの時点でもttRepSyncGetをコールすることができ、そのトランザクションに対するBY REQUESTを指定したRETURNサービスをリクエストするために使用できます。

RETURN RECEIPT BY REQUESTまたはRETURN TWOSAFE BY REQUESTレプリケーション要素の更新を行わないトランザクションでttRepSyncGetをコールしても、外部的な影響はありません。

関連項目


ttRepDeactivate
ttRepTransmitSet
ttReplicationStatus
ttRepPolicySet
ttRepStart
ttRepStop
ttRepSubscriberStateSet
ttRepSubscriberWait
ttRepSyncSet
『Oracle TimesTen In-Memory Database C開発者ガイド』のttRepDuplicateExに関する説明

ttRepSyncSet

説明

このプロシージャは、コール元でのレプリケーション・ベースのRETURNサービスの使用状況に関連付けられた静的属性を設定します。このプロシージャは、RETURN RECEIPTサービスまたはRETURN TWOSAFEサービスのいずれかとともに動作します。

必要な権限

このプロシージャには、権限は必要ありません。

構文

ttRepSyncSet([requestReturn], [returnWait], [localAction])

パラメータ

ttRepSyncSetには、次のオプションのパラメータがあります。

パラメータ データ型 説明
requestReturn BINARY(1) 0x00: 現在のトランザクションのRETURNサービスを無効にします。

0x01: 現在のトランザクションのRETURNサービスを有効にします。トランザクションをコミットすると、この属性はデフォルト値の0(オフ)にリセットされます。

レプリケーション・サブスクライバがRETURN RECEIPT BY REQUESTまたはRETURN TWOSAFE BY REQUESTで構成されている場合にのみ、このパラメータを使用してRETURNサービスを有効または無効にできます。

returnWait TT_INTEGER RETURNサービスの応答を待機する秒数を指定します。デフォルト値は10です。0は待機時間がないことを意味します。

このタイムアウト値は、CREATE REPLICATION文またはALTER REPLICATION文のRETURN WAIT TIME属性で設定された値より優先されます。

このパラメータによって設定されたタイムアウトはトランザクションをまたいで動作し、BY REQUESTオプションとは独立して、すべてのRETURNサービスに適用されます。

localAction TT_INTEGER returnWaitによって指定されたタイムアウト時間内に、サブスクライバがトランザクションのコミットを認識できない場合に実行されるアクションです。このパラメータは、RETURN TWOSAFEトランザクションに対してのみ使用できます。RETURNサービスの使用時はNULLに設定します。

1 (デフォルト) - NO ACTIONCOMMITがタイムアウトすると、ブロックされていないアプリケーションが返され、トランザクションはCOMMIT開始時と同じ状態のままになります。アプリケーションはCOMMITのみを再発行する場合があります。

2 - COMMITCOMMITがタイムアウトすると、トランザクションはローカルでコミットされます。この属性は、接続されているかぎり、トランザクションをまたいで存続します。


結果セット

ttRepSyncSetは結果を返しません。

RETURN RECEIPT BY REQUESTまたはRETURN TWOSAFE BY REQUESTで構成されたすべてのレプリケーション要素に対する現在のトランザクションでRETURN RECEIPTサービスを有効にするには、次のように実行します。

rc = SQLExecDirect ( hstmt,
 (SQLCHAR *)"{CALL ttRepSyncSet( 0x01 )}",
                     SQL_NTS )

注意

RETURN RECEIPTサービスを有効にするコールは、トランザクションの一部である必要があります(AutoCommitは無効である必要があります)。

関連項目


ttRepDeactivate
ttRepTransmitSet
ttReplicationStatus
ttRepPolicySet
ttRepStart
ttRepStop
ttRepSubscriberStateSet
ttRepSubscriberWait
ttRepSyncGet
『Oracle TimesTen In-Memory Database C開発者ガイド』のttRepDuplicateExに関する説明

ttRepSyncSubscriberStatus

説明

このプロシージャは、RETURNサービス、およびサブスクライバに対するRETURNサービス・ブロッキングが障害ポリシーによって無効になっているかどうかを判断するRETURN DISABLE障害ポリシーで構成されているレプリケーション・スキームのサブスクライバ・データベースへの問合せを行います。

ttRepSyncSubscriberStatusプロシージャは、指定のホスト上にあり、指定した名前を持つサブスクライバ・データベースの障害状態を返します。storeNameのみを指定できます。ただし、レプリケーション・スキームで、異なるホスト上に同じ名前を持つサブスクライバが複数含まれる場合は、エラーが生成されます。

必要な権限

このプロシージャには、権限は必要ありません。

構文

ttRepSyncSubscriberStatus('subscriber', 'hostName')

パラメータ

ttRepSyncSubscriberStatusには、次のパラメータがあります。

パラメータ データ型 説明
subscriber TT_VARCHAR (200) NOT NULL 問合せを行うサブスクライバ・データベースの名前。
hostName TT_VARCHAR (200) 実行中のデータ・ストアから更新を受信するように構成された、1つ以上のデータ・ストアのホスト名(NULLの場合、受信側のデータ・ストアはレシーバのみによって識別されます)。レシーバおよびホスト名の両方がNULLの場合、受信側のすべてのデータ・ストアが選択されます。

結果セット

ttRepSyncSubscriberStatusは次の結果を返します。

データ型 説明
disabled TT_INTEGER 値は次のいずれかです。

1: RETURNサービスがサブスクライバ・データベースで無効である場合。

0: RETURNサービスがサブスクライバ・データベースで有効なままである場合。


注意

レプリケーション・スキームでDISABLE RETURN ALLが指定される場合は、ttRepSyncSubscriberStatusを使用して、レプリケーション・スキーム内の各サブスクライバの状態を問い合せる必要があります。

ttRepTransmitGet

説明

このプロシージャは、現在のトランザクションについて、サブスクライバへの更新データの転送状態を返します。対応するttRepSyncSet組込みプロシージャを使用すると、サブスクライバへの更新の転送をトランザクションが終わるまで停止できます。

必要な権限

このプロシージャには、ADMIN権限が必要です。

構文

ttRepTransmitGet()

パラメータ

ttRepTransmitGetにパラメータはありません。

結果セット

ttRepTransmitGetは次の結果を返します。

データ型 説明
transmit TT_INTEGER 0: 更新は、この接続のトランザクションが終了するまで、サブスクライバに転送されません。

1 (デフォルト): 更新は、この接続のサブスクライバに転送されています。


アクティブ・スタンバイ・ペアのアクティブ・データベースの転送状態を返すには、次のコマンドを使用します。

CALL ttRepTransmitGet();

関連項目


ttRepDeactivate
ttReplicationStatus
ttRepPolicySet
ttRepStateSave
ttRepStateSet
ttRepStop
ttRepSubscriberStateSet
ttRepSubscriberWait
ttRepTransmitSet
『Oracle TimesTen In-Memory Database C開発者ガイド』のttRepDuplicateExに関する説明

ttRepTransmitSet

説明

このプロシージャは、実行されている接続に対する後続の更新データを、サブスクライバにレプリケートしないようにします。トランザクションを部分的にレプリケートした場合には、トランザクションの不整合がリモート・ストアで発生しやすくなるため、このプロシージャは、注意して使用してください。更新データのレプリケーションが許可されない場合、サブスクライバのストアはマスター・ストアから分岐します。

必要な権限

このプロシージャには、ADMIN権限が必要です。

構文

ttRepTransmitSet(transmit)

パラメータ

ttRepTransmitSetには、次のパラメータがあります。

パラメータ データ型 説明
transmit TT_INTEGERNOT NULL 1に設定すると、この組込みプロシージャを実行した後で、更新が接続されているサブスクライバに転送されます。(これがデフォルトです。)

0 (ゼロ)に設定すると、このコールを発行した接続でコールが発行されたトランザクションが終了するまで、更新はどのサブスクライバにも転送されません。


結果セット

ttRepTransmitSetは結果を返しません。

アクティブ・スタンバイ・ペアのアクティブ・データベースを有効にするには、次のコマンドを使用します。

CALL ttRepTransmitSet(1);

アクティブ・スタンバイ・ペアのアクティブ・データベースを無効にするには、次のコマンドを使用します。

CALL ttRepTransmitSet(0);

関連項目


ttRepDeactivate
ttReplicationStatus
ttRepPolicySet
ttRepStateSave
ttRepStateSet
ttRepStop
ttRepSubscriberStateSet
ttRepSubscriberWait
ttRepTransmitGet
『Oracle TimesTen In-Memory Database C開発者ガイド』のttRepDuplicateExに関する説明

ttRepXactStatus

説明

このプロシージャは、RETURN RECEIPTまたはRETURN TWOSAFEレプリケーション・トランザクションの状態を確認します。組込みプロシージャttRepXactTokenGetを使用すると、RETURN RECEIPTまたはRETURN TWOSAFEトランザクションのトークンを受信できます。このトークンは、その後、入力パラメータとして、この組込みプロシージャへ渡されます。ここで使用されるのは、ttRepXactTokenGetから受信したトークンのみです。このプロシージャは、3つのパラメータ、サブスクライバ名、サブスクライバに関連するレプリケーション状態、およびRETURN TWOSAFEレプリケーション・トランザクションがコミット処理を開始し、完了していない場合にのみ返されるエラー文字列が含まれる行のリストを返します。


注意:

errorパラメータはRETURN TWOSAFEトランザクションでのみ返されます。

必要な権限

このプロシージャには、権限は必要ありません。

構文

ttRepXactStatus(xactID)

パラメータ

ttRepXactStatusには、次のパラメータがあります。

パラメータ データ型 説明
xactID VARBINARY (10000) パラメータが指定されていない場合、次のいずれかのステータスが返されます。
  • コミット処理を開始し、完了していないトランザクションでコールされた場合は、そのトランザクションのステータスが返されます。

  • それ以外のときにコールされた場合は、RETURN RECEIPTモードまたはRETURN TWOSAFEモードであった接続で最後にコミットされたトランザクションのステータスが返されます。


結果セット

ttRepXactStatusは、次の結果セットを返します。

データ型 説明
subscriberName TT_CHAR (61) トランザクションで更新された表をサブスクライブするデータベース名。名前はstore_name@host_nameという形式で返されます。
state TT_CHAR (2) サブスクライバ・データベースに関連するトランザクションの状態。戻り値は、次のいずれかです。

'NS': サブスクライバに送信されていないトランザクション。

'RC': サブスクライバ・エージェントによって受信されたトランザクション。

'CT': サブスクライバ・ストアで適用されたトランザクション。(適用時にトランザクションでエラーが発生したかどうかは送信されません。)

'AP': トランザクションは永続的にサブスクライバに適用されています。

errorString TT_VARCHAR (2000) TWOSAFEトランザクションの適用時に発生したエラーを説明するサブスクライバ・エージェントによって返されたエラー文字列。エラーが発生していない場合、このパラメータはNULLです。コミット処理を開始し、まだ完了していないTWOSAFEレプリケーション・トランザクション内でこのプロシージャがコールされた場合のみ、NULL以外の値が返されます。

関連項目


ttRepDeactivate
ttRepTransmitSet
ttReplicationStatus
ttRepPolicySet
ttRepStart
ttRepStop
ttRepSubscriberStateSet
ttRepSubscriberWait
ttRepSyncGet
ttRepSyncSet
ttRepXactTokenGet
『Oracle TimesTen In-Memory Database C開発者ガイド』のttRepDuplicateExに関する説明

ttRepXactTokenGet

説明

このプロシージャは、RETURN RECEIPTまたはRETURN TWOSAFEレプリケーション・トランザクションにトークンを返します。入力パラメータtypeによって、次のいずれかが返されます。

  • トランザクションが呼び出された接続ハンドルで最後にコミットされたRETURN RECEIPTトランザクションへのトークン。

  • トランザクションが呼び出された接続ハンドルにおける最新のトランザクションへのトークン。RETURN TWOSAFEモードのトランザクションでコミット処理が開始されている。

このプロシージャは、RETURN TWOSAFEレプリケーションのトランザクションに対してコミット処理が開始された後に、後続のトランザクションまたは同じトランザクションで実行できます。

必要な権限

このプロシージャには、権限は必要ありません。

構文

ttRepXactTokenGet('type')

パラメータ

ttRepXactTokenGetには、次のパラメータがあります。

パラメータ データ型 説明
type TT_CHAR (2) NOT NULL 希望するトランザクションのタイプ。

'RR' - RETURN RECEIPT。

'R2' - RETURN TWOSAFE。


結果セット

ttRepXactTokenGetは、次の結果セットを返します。

データ型 説明
token VARBINARY (10000) 希望するトランザクションを表すVARBINARYトークン。

関連項目


ttRepDeactivate
ttRepTransmitSet
ttReplicationStatus
ttRepPolicySet
ttRepStart
ttRepStop
ttRepSubscriberStateSet
ttRepSubscriberWait
ttRepSyncGet
ttRepSyncSet
ttRepXactStatus
『Oracle TimesTen In-Memory Database C開発者ガイド』のttRepDuplicateExに関する説明

ttSetUserColumnID

説明

このプロシージャは、ユーザー指定の列IDを明示的に設定します。トランザクション・ログAPIによってアプリケーションに渡された更新には、表の列に関する情報が含まれることがあります。この列情報には、システム指定の列番号とユーザー指定の列識別子が含まれます。ユーザー指定の列IDは、このコールによって明示的に設定されるまで、値は0です。

システムは、CREATE TABLE処理またはALTER TABLE処理で各列にIDを割り当てます。ユーザーによって割り当てられた値を列IDに設定すると、データベース全体にわたり一意の列番号セットを設定したり、指定された表に対して固有の列番号方式を設定することができます。

必要な権限

このプロシージャには、XLA権限が必要です。

構文

ttSetUserColumnID('tblName', 'colName', repID)

パラメータ

ttSetUserColumnIDには、次のパラメータがあります。

パラメータ データ型 説明
tblName TT_CHAR (61) NOT NULL 表名。

表名の指定にシノニムは使用できません。

colName TT_CHAR (30) NOT NULL 列名。
repID TT_INTEGERNOT NULL 整数値の識別子。

結果セット

ttSetUserColumnIDは結果を返しません。

CALL ttSetUserColumnID('APP.SESSION', 'SESSIONID', 15);

関連項目


ttSetUserTableID
『Oracle TimesTen In-Memory Database開発者および管理者ガイド』

ttSetUserTableID

説明

このプロシージャは、ユーザー表IDの値を明示的に設定します。各行が関連付けられている表は、アプリケーションが提供するユーザー表IDのコードと、システムが提供するシステム表IDのコードの、2つのコードによって表現されます。更新は、完全な行の形でトランザクション・ログAPIによってアプリケーションに渡されます。ユーザー表IDは、プロシージャttSetUserTableIDによって明示的に設定されるまで、値は0です。

必要な権限

このプロシージャには、XLA権限が必要です。

構文

ttSetUserTableID('tblName', repID)

パラメータ

ttSetUserTableIDには、次のパラメータがあります。

パラメータ データ型 説明
tblName TT_CHAR(61) NOT NULL 表名。

表名の指定にシノニムは使用できません。

repID BINARY(8) NOT NULL 整数値の識別子。

結果セット

ttSetUserTableIDは結果を返しません。

CALL ttSetUserTableID('APP.SESSION', 0x123456);

関連項目


ttSetUserColumnID
『Oracle TimesTen In-Memory Database開発者および管理者ガイド』

ttSize

説明

このプロシージャは、表またはビューのサイズおよび索引のサイズを推定します。表の推定バイト数が単一のDOUBLE列を持つ単一行として返されます。表は、表名または完全修飾された表名のいずれかとして指定できます。nrowsパラメータがNULL以外の場合、現在の表の統計が指定した行数まで拡大したものと想定して表のサイズが推定されます。nrowsパラメータがNULLの場合、表のサイズは現在の行数を使用して推定されます。

現在の表のコンテンツをスキャンして、VARBINARYおよびVARCHAR列の平均サイズが判断されます。表が空の場合、VARBINARY列とVARCHAR列の平均サイズは、宣言されている最大サイズの半分になるように推定されます。ttSizeによって計算される推定値には、表、VARBINARY列とVARCHAR列、およびその表に定義された索引の記憶域が含まれます。

この組込みプロシージャをコールすると表がスキャンされます。NULL以外のfrac(01の間)を指定することによって、表のスキャンを回避できます。この値は、可変長列の平均サイズを推定します。fracを各可変長列の最大サイズに掛けて、VARBINARY列またはVARCHAR列の推定平均サイズを計算します。fracパラメータを指定しないと、表内の既存の行がスキャンされ、既存の行における可変長列の平均長が使用されます。fracを省略した場合、表に行が存在しないと、fracの値は0.5であると想定されます。

必要な権限

このプロシージャでは、指定した表に対するSELECT権限が必要です。

構文

ttSize('tblName', [nRows], frac)

パラメータ

ttSizeには、次のパラメータがあります。

パラメータ データ型 説明
tblName TT_CHAR (61) NOT NULL アプリケーション表の名前。表の所有者を含めることができます。このパラメータは必須です。

表名の指定にシノニムは使用できません。

nRows TT_INTEGER 推定される表内の行数。このパラメータはオプションです。
frac BINARY_DOUBLE VARBINARY列またはVARCHAR列のサイズの推定される平均端数。このパラメータはオプションです。

結果セット

ttSizeは、次の結果セットを返します。

データ型 説明
size BINARY_DOUBLE NOT NULL 推定される表のサイズ(バイト)。

CALL ttSize('ACCTS', 1000000, NULL);

CALL ttSize('ACCTS', 30000, 0.8);

CALL ttSize('SALES.FORECAST', NULL, NULL);

ttSizeを使用する場合、コマンドを実行した後、結果をフェッチする必要があります。次に例を示します。

ODBC

double size;
SQLLEN len;

rc = SQLExecDirect(hstmt, "call ttSize('SalesData', 250000, 
0.75)", SQL_NTS);
rc = SQLBindColumn(hstmt, 1, SQL_C_DOUBLE, &size, sizeof double, 
&len);
rc = SQLFetch(hstmt);
rc = SQLFreeStmt(hstmt, SQL_CLOSE);

JDBC

. . . . . .
String URL="jdbc:timesten:MyDataStore";
Connection con;
double tblSize=0;
. . . . . .
con = DriverManager.getConnection(URL);
CallableStatement cStmt = con.prepareCall("
{CALL ttSize('SalesData', 250000, 0.75) }");
if( cStmt.execute() ) 
  {
   rs=cStmt.getResultSet();
   if (rs.next()) {
    tblSize=rs.getDouble(1);
   }
   rs.close();
  }
cStmt.close();
con.close();

. . . . . .

注意

ttSizeプロシージャを使用すると、行が完全にロードされたときに表がどの程度大きくなるかを、少量のサンプルをもとに推定できます。最適な結果を得るには、1,000以上の典型的な行を表にロードします。

関連項目


ttComputeTabSizes

ttSQLCmdCacheInfo

説明

このプロシージャは、TimesTen SQLコマンド・キャッシュのすべての準備されたSQL文に関する情報を返します。

必要な権限

このプロシージャには、ADMIN権限が必要です。

構文

ttSQLCmdCacheInfo([sqlCmdID])

パラメータ

ttSQLCmdCacheInfoには、次のオプションのパラメータがあります。

パラメータ データ型 説明
sqlCmdID 32-bitシステムの場合はTT_INTEGER

64-bitシステムの場合はTT_BIGINT

TimesTenコマンド・キャッシュでのSQLコマンドの一意の識別子。値が指定しない場合、すべてのコマンドに関する情報が表示されます。

結果セット

ttSQLCmdCacheInfoは次の結果セットを返します。

データ型 説明
sqlCmdID 32-bitシステムの場合はTT_INTEGER NOT NULL

64-bitシステムの場合はTT_BIGINT NOT NULL

コマンドの一意の識別子。
privateCommandConnectionID TT_INTEGER コマンドがプライベートの場合、これは準備された場所の接続の接続IDです。プライベート・コマンドでない場合、この値は2048です。
executions TT_BIGINT

NOT NULL

コマンドの実行回数をカウントします。
prepares TT_BIGINTNOT NULL コマンドの準備の数をカウントします。
reprepares TT_BIGINT NOT NULL コマンドの再準備の数をカウントします。
freeable TT_TINYINT NOT NULL このコマンドがサブデーモンによってガベージ収集可能かどうかを示します。

1 - 解放可能であることを示します。

0 - 解放可能でないことを示します。

size TT_INTEGERNOT NULL コマンド・キャッシュでこのコマンドに割り当てられた領域の合計(バイト)。
owner TT_CHAR (31) NOT NULL コマンドを作成したユーザー。
queryText TT_VARCHAR (409600) NOT NULL 現在のコマンドの完全なSQLテキスト。

現在有効なすべてのコマンドに関する情報をttIsqlに表示するには、次のように実行します。

Command> call ttsqlcmdcacheinfo;
< 51635464, 2048, 12, 12, 0, 1, 3056, SYS                            , delete fr
om sys.idl_sb4$ where obj#=:1 and part=:2 >
< 43437072, 2048, 5, 5, 0, 1, 1960, SYS                            , select obj#
 from sys.objerror$ >
< 51620736, 2048, 4, 4, 0, 1, 2736, SYS                            , delete from
 sys.obj$ where obj# = :1 >
< 51680216, 2048, 1, 1, 0, 1, 3592, BWAF4EVR                       , call ttsqlc
mdcacheinfo(51623232) >
< 51676856, 2048, 2, 2, 0, 0, 3552, BWAF4EVR                       , call ttsqlc
mdcacheinfo >
< 43438936, 2048, 5, 5, 0, 1, 3200, SYS                            , select obj#
 from sys.syn$ where owner=:1 and name=:2 >
< 44066504, 2048, 0, 14, 0, 1, 5640, SYS                            , select nul
l from sys.obj$ where obj#=:1 and type#=:2 and obj# not in (select p_obj# from d
ependency$ where p_obj# = sys.obj$.obj#) >
< 51649488, 2048, 1, 1, 0, 1, 2344, BWAF4EVR                       , create tabl
e tab1 (c1 number primary key not null, c2 number) >
< 51671608, 2048, 1, 1, 0, 1, 4656, BWAF4EVR                       , call ttSQLC
mdCacheInfo2(51635464) >
< 51666232, 2048, 1, 1, 0, 1, 2048, BWAF4EVR                       , call ttSQLC
mdCacheInfoGet >
< 51612064, 2048, 4, 4, 0, 1, 8424, SYS                            , select o.ow
ner#, o.name, o.namespace,    o.obj#, d.d_timestamp, nvl(d.property,0), o.type#,
 d.d_attrs  from sys.dependency$ d, sys.obj$ o  where d.p_obj#=:1  and   (d.p_ti
mestamp=nvl(:2,d.p_timestamp) or d.property=2)  and   o.owner#=nvl(:3,o.owner#)
 and   d.d_obj#=o.obj#  order by o.obj# >
< 43415648, 2048, 4, 4, 0, 1, 4544, BWAF4EVR                       , create acti
ve standby pair sampledb_1122, bwaf4evr_dummy1 subscriber bwaf4evr_dummy2 >
< 43431912, 2048, 5, 5, 0, 1, 4720, SYS                            , select owne
r#,name,namespace,obj#,type#,ctime,mtime,stime,status,flags from sys.obj$ where
obj#=:1 >
< 51657712, 2048, 4, 4, 0, 1, 3552, BWAF4EVR                       , call ttSQLC
mdCacheInfo >
< 51653200, 2048, 1, 1, 0, 1, 1816, BWAF4EVR                       , call ttxlab
ookmarkcreate('mybookmark', 0x01) >
< 43420768, 2048, 1, 1, 0, 1, 2064, BWAF4EVR                       , create tabl
e tab1 (c1 number, c2 number) >
< 44058168, 2048, 14, 14, 0, 1, 7760, SYS                            , select o.
owner#,o.obj#,u.name,o.name,o.namespace from sys.user$ u, sys.obj$ o where u.use
r#=o.owner#   and o.type#=:1   and not exists   (select p_obj# from sys.dependen
cy$ where p_obj# = o.obj#) order by o.obj# for update >
< 49370616, 2048, 1, 1, 0, 0, 4024, SYS                            , select u.us
er#, u.password, u.identification, u.astatus from sys.user$ u where u.name = :na
me and u.type# = 1 >
< 51655376, 2048, 2, 2, 0, 1, 2528, BWAF4EVR                       , select * fr
om tab1 >
< 51638280, 2048, 4, 4, 0, 1, 2544, SYS                            , delete from
 sys.objauth$ where obj#=:1 >
< 43423200, 2048, 14, 14, 0, 1, 5520, SYS                            , select ow
ner#,name,namespace,obj#,type#,ctime,mtime,stime,status,flags from sys.obj$ wher
e owner#=:1 and name=:2 and namespace=:3 >
< 51668216, 2048, 1, 1, 0, 1, 3592, BWAF4EVR                       , call ttSQLC
mdCacheInfo(51635464) >
< 51661208, 2048, 3, 3, 0, 1, 4640, BWAF4EVR                       , call ttSQLC
mdCacheInfo2 >
< 43428992, 2048, 5, 5, 0, 1, 2800, SYS                            , select sys.
objectSequence.nextval from dual >
< 51629120, 2048, 12, 12, 0, 1, 3040, SYS                            , delete fr
om sys.idl_char$ where obj#=:1 and part=:2 >
< 51641192, 2048, 2, 2, 0, 1, 2112, BWAF4EVR                       , create tabl
e tab1 (c1 number not null, c2 number) >
< 43442488, 2048, 5, 5, 0, 1, 4616, SYS                            , insert into
 sys.obj$(owner#,name,namespace,obj#,type#,ctime,mtime,stime,status,flags) value
s(:1,:2,:3,:4,:5,:6,:7,:8,:9,:10) >
< 51632072, 2048, 12, 12, 0, 1, 3040, SYS                            , delete fr
om sys.idl_ub2$ where obj#=:1 and part=:2 >
< 49375216, 2048, 0, 1, 0, 0, 4232, SYS                            , select 1 fr
om sys.sysauth$ s where (s.grantee# = :userid or s.grantee# = 1) and (s.privileg
e# = :priv or s.privilege# = 67) >
< 51626304, 2048, 12, 12, 0, 1, 3040, SYS                            , delete fr
om sys.idl_ub1$ where obj#=:1 and part=:2 >
< 51645776, 2048, 1, 1, 0, 1, 2344, BWAF4EVR                       , create tabl
e tab1 (c1 number primary key not null, col2 number) >
< 51623232, 2048, 4, 4, 0, 1, 2704, SYS                            , delete from
 sys.source$ where obj#=:1 >
32 rows found.

sqlCmdID 527973892のコマンド情報をttIsqlに表示するには、次のように実行します。

Command> call ttSQLCmdCacheInfo(527973892);
< 527973892, 2048, 0, 1, 0, 1, 2872, TTUSER, 
select * from t1 where x1 in (select x2 from t2) or 
x1 in (select x3 from t3) order by 1, 2, 3 >
1 row found.

ttIsqlで情報を垂直形式で表示するには、次のように実行します。

Command> vertical call ttSQLCmdCacheInfo;
...

sqlCmdID 51623232の情報をttIsqlで垂直形式で表示するには、次のように実行します。

Command> vertical call ttsqlcmdcacheinfo(51623232);
 
  SQLCMDID:                        51623232
  PRIVATE_COMMAND_CONNECTION_ID:   2048
  EXECUTIONS:                      4
  PREPARES:                        4
  REPREPARES:                      0
  FREEABLE:                        1
  SIZE:                            2704
  OWNER:                           SYS
  QUERYTEXT:                       delete from sys.source$ where obj#=:1
 
1 row found.

ttSQLCmdCacheInfo2

説明

このプロシージャは、TimesTen SQLコマンド・キャッシュのすべての準備されたSQL文に関する情報を返します。

これはttSQLCmdCacheInfoと似ていますが、結果セットの説明に示すとおり、追加の列が返されます。

必要な権限

このプロシージャには、ADMIN権限が必要です。

構文

ttSQLCmdCacheInfo2([sqlCmdID])

パラメータ

ttSQLCmdCacheInfo2には、次のオプションのパラメータがあります。

パラメータ データ型 説明
sqlCmdID 32-bitシステムの場合はTT_INTEGER

64-bitシステムの場合はTT_BIGINT

TimesTenコマンド・キャッシュでのSQLコマンドの一意の識別子。値が指定しない場合、すべてのコマンドに関する情報が表示されます。

結果セット

ttSQLCmdCacheInfo2は次の結果セットを返します。

データ型 説明
sqlCmdID 32-bitシステムの場合はTT_INTEGER NOT NULL

64-bitシステムの場合はTT_BIGINT NOT NULL

コマンドの一意の識別子。
privateCommandConnectionID TT_INTEGER コマンドがプライベートの場合、これは準備された場所の接続の接続IDです。プライベート・コマンドでない場合、この値は2048です。
executions TT_BIGINT

NOT NULL

コマンドの実行回数をカウントします。
prepares TT_BIGINTNOT NULL コマンドの準備の数をカウントします。
reprepares TT_BIGINT NOT NULL コマンドの再準備の数をカウントします。
freeable TT_TINYINT NOT NULL このコマンドがサブデーモンによってガベージ収集可能かどうかを示します。

1 - 解放可能であることを示します。

0 - 解放可能でないことを示します。

size TT_INTEGERNOT NULL コマンド・キャッシュでこのコマンドに割り当てられた領域の合計(バイト)。
owner TT_CHAR (31) NOT NULL コマンドを作成したユーザー。
queryText TT_VARCHAR (409600) NOT NULL 現在のコマンドの完全なSQLテキスト。
fetchCount TT_BIGINT この文のために行われたフェッチ実行の合計数。フェッチ数はTT_PREFETCH_COUNTによって決まります。プリフェッチ数には、コミット読取り分離モードのデフォルト値5およびシリアライズ可能なモードのデフォルト値128があります。
startTime TT_TIMESTAMP 文が最後に実行された時刻。値の形式はYYYY-MM-DD HH:MI:SS.FFFです。
maxExecuteTime NUMBER この文の最大ウォール・クロック実行時間が秒単位で表示されます。
lastExecuteTime NUMBER コマンドの最後に測定された実行時間が秒単位で表示されます。
minExecuteTime NUMBER SqlCmdSampleFactor > 0の場合、秒単位の最小実行時間となり、それ以外は0.0となります。

現在有効なすべてのコマンドに関する情報をttIsqlに表示するには、次のように実行します。

Command> call ttSQLCmdCacheInfo2;
...

ttSQLCmdCacheInfottSQLCmdCacheInfo2の出力の違いを次の例に示します。

Command> call ttSQLCmdCacheInfo;
...
< 51635464, 2048, 12, 12, 0, 1, 3056, SYS , delete from 
sys.idl_sb4$ where obj#=:1 and part=:2 >
...
 
Command> call ttSQLCmdCacheInfo2;
...
< 51635464, 2048, 12, 12, 0, 1, 3056, SYS, delete 
from sys.idl_sb4$ where obj#=:1 and part=:2, 0, 
2013-10-28 16:47:09.173000, 0, 0,
0 >
...

ttSQLCmdCacheInfoGet

説明

このプロシージャは、TimesTen SQLコマンド・キャッシュのコマンドに関する情報を表示します。

必要な権限

このプロシージャには、権限は必要ありません。

構文

ttSQLCmdCacheInfoGet()

パラメータ

ttSQLCmdCacheInfoGetにパラメータはありません。

結果セット

ttSQLCmdCacheInfoGetは次の結果セットを返します。

データ型 説明
cmdCount TT_INTEGERNOT NULL キャッシュ内のコマンドの数。
freeableCount TT_INTEGERNOT NULL その時点でサブデーモンによってガベージ収集される解放可能なコマンドの数。この数は、コマンド情報を調べることによって取得されます。
size TT_BIGINTNOT NULL キャッシュされたすべてのコマンドを格納するために割り当てられた現在の領域の合計(バイト単位)。

コマンドの数、解放可能なコマンドの数およびコマンド・キャッシュに割り当てられた領域の合計を表示するには、次のように実行します。

Command> call ttSQLCmdCacheInfoGet;
< 5,4,12316 >
1 row found

ttSQLCmdQueryPlan

説明

このプロシージャは、TimesTen SQLコマンド・キャッシュのSQL文のすべての詳細なランタイム問合せ計画を返します。引数を指定しないと、このプロシージャはTimesTenキャッシュのすべての有効なコマンドの問合せ計画を表示します。コマンドが無効である場合には、エラーが返され、問合せおよび構文の問題を指摘するテキストが表示されます。

必要な権限

このプロシージャには、ADMIN権限が必要です。

構文

ttSQLCmdQueryPlan([sqlCmdID])

パラメータ

ttSQLCmdQueryPlanには、次のオプションのパラメータがあります。

パラメータ データ型 説明
sqlCmdID 32-bitシステムの場合はTT_INTEGER

64-bitシステムの場合はTT_BIGINT

TimesTenコマンド・キャッシュでのSQLコマンドの一意の識別子。値が指定されない場合、TimesTenキャッシュのすべての有効なコマンドの問合せ計画を表示します。

結果セット

ttSQLCmdQueryPlanは次の結果セットを返します。

データ型 説明
sqlCmdID 32-bitシステムの場合はTT_INTEGER NOT NULL

64-bitシステムの場合はTT_BIGINT NOT NULL

TimesTenコマンド・キャッシュでのコマンドの一意の識別子。
queryText TT_VARCHAR(409600) 現在のコマンドのSQLテキストの最初の1024文字。
step TT_INTEGER このランタイム問合せ計画の現在の処理のステップ数。
level TT_INTEGER このランタイム問合せ計画の現在の処理のレベル数。
operation TT_CHAR(31) このランタイム問合せ計画の現在のステップの処理名。
tblName TT_CHAR(31) このステップに使用されている表の名前(存在する場合)。

表名の指定にシノニムは使用できません。

tblOwnerName TT_CHAR(31) このステップに使用されている表の所有者の名前(存在する場合)。
indexName TT_CHAR(31) このステップに使用されている索引の名前(存在する場合)。
indexedPred TTVARCHAR(1024) このステップでは、索引が使用される場合、索引付けされた条件が出力されます(使用可能な場合)。式をすべて出力できないため、出力が断片化および切り捨てられる可能性があります。"..."は、式の未終了の部分を表します。
nonIndexedPred TT_VARCHAR(1024) このステップでは、索引付けされていない条件が使用される場合、その索引付けされていない条件が出力されます(使用可能な場合)。式をすべて出力できないため、出力が断片化および切り捨てられる可能性があります。"..."は、式の未終了の部分を表します。

SQLCmdID 528078576の問合せ計画を表示するには、次のコマンドを実行します。

Command> call ttSqlCmdQueryPlan(528078576);
< 528078576, select * from t1 where 1=2 or (x1 in 
(select x2 from t2, t5 where y2 in (select y3 from t3)) 
and y1 in (select x4 from t4)), <NULL>, <NULL>, <NULL>,
 <NULL>, <NULL>, <NULL>, <NULL>, <NULL> >
< 528078576, <NULL>, 0, 4, RowLkSerialScan , T1 , TTUSER , , , >
< 528078576, <NULL>, 1, 7, RowLkRangeScan , T2 , TTUSER , I2 , , >
< 528078576, <NULL>, 2, 7, RowLkRangeScan , T5 , TTUSER , I2 , , >
< 528078576, <NULL>, 3, 6, NestedLoop , , , , , >
< 528078576, <NULL>, 4, 6, RowLkRangeScan , T3 , TTUSER , I1 , 
( (Y3=Y2; ) ) , >
< 528078576, <NULL>, 5, 5, NestedLoop , , , , , >
< 528078576, <NULL>, 6, 4, Filter , , , , , X1 = X2; >
< 528078576, <NULL>, 7, 3, NestedLoop(Left OuterJoin) , , , , , >
< 528078576, <NULL>, 8, 2, Filter , , , , , >
< 528078576, <NULL>, 9, 2, RowLkRangeScan , T4 , TTUSER , I2 , , 
Y1 = X4; >
< 528078576, <NULL>, 10, 1, NestedLoop(Left OuterJoin) , , , , , >
< 528078576, <NULL>, 11, 0, Filter , , , , , >
13 rows found.

すべての有効な問合せの問合せ計画を表示するには、次のようにttSqlCmdQueryPlanの引数を省略します。

< 528079360, select * from t7 where x7 is not null 
or exists (select 1 from t2,t3 where not 'tuf' like 'abc'), 
<NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL> >
< 528079360, <NULL>, 1, 3, RowLkRangeScan  , T2 
 , TTUSER  , I2 , , NOT(LIKE( tuf ,abc ,NULL )) >
< 528079360, <NULL>, 2, 3, RowLkRangeScan  , T3  , TTUSER  , 
I2  , , >
< 528079360, <NULL>, 3, 2, NestedLoop  ,  ,  ,  , , >
< 528079360, <NULL>, 4, 1, NestedLoop(Left OuterJoin) ,    ,    ,    , , >
< 528079360, <NULL>, 5, 0, Filter    ,    ,    ,    , , X7 >
< 527576540, call ttSqlCmdQueryPlan(527973892), <NULL>, <NULL>, 
<NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL> >
< 527576540, <NULL>, 0, 0, Procedure Call  ,  ,  ,  , , >
< 528054656, create table t2(x2 int,y2 int, z2 int), <NULL>, 
<NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL> >
< 528066648, insert into t2 select * from t1, <NULL>, <NULL>, 
<NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL> >
< 528066648, <NULL>, 0, 0, Insert  , T2  , TTUSER  ,  , , >
< 528013192, select * from t1 where exists (
select * from t2 where x1=x2) or y1=1,
<NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL> >
< 528061248, create index i1 on t3(y3), <NULL>, <NULL>, <NULL>, 
<NULL>, <NULL>, <NULL>, <NULL>, <NULL> >
< 528070368, call ttOptSetOrder('t3 t4 t2 t1'), <NULL>, <NULL>, 
<NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL> >
< 528070368, <NULL>, 0, 0, Procedure Call  ,  ,  ,  , , >
< 528018856, insert into t2 select * from t1, <NULL>, <NULL>, 
<NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL> >
< 527573452, call ttsqlCmdCacheInfo(527973892), <NULL>, <NULL>, 
<NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL> >
< 527573452, <NULL>, 0, 0, Procedure Call   ,    ,    ,    , , >
….. /* more rows here */

ttSQLExecutionTimeHistogram

説明

ttSQLExecutionTimeHistogram組込みプロシージャは、単一のSQLコマンド、またはコマンド・キャッシュでサンプリングを有効にしている場合はすべてのSQLコマンドのいずれかのSQL実行時間のヒストグラムを返します。

必要な権限

このプロシージャには、ADMIN権限が必要です。

構文

ttSQLExecutionTimeHistogram(sqlCommandID)

パラメータ

ttSQLExecutionTimeHistogramには、次のオプション・パラメータがあります。

パラメータ データ型 説明
sqlCommandID 32-bitシステムの場合はTT_INTEGER

64-bitシステムの場合はTT_BIGINT

TimesTenコマンド・キャッシュでのSQLコマンドの一意の識別子。値が指定されない場合、TimesTenコマンド・キャッシュの現在のすべてのコマンドに関する情報を表示します。

結果セット

ttSQLExecutionTimeHistogramは、次の結果セットを返します。

データ型 説明
histogramSamples TT_BIGINT データベースが起動されてからまたはttStatsConfig組込みプロシージャを使用して統計がリセットされてからの、SQLコマンド実行時間操作が測定された回数。
totalExecuteTime NUMBER サンプリング時の蓄積された実実行時間(秒)。
bucketUpperBound NUMBER 実行時間の上限(秒)。
count TT_BIGINT ExecutionTimeLimit以下であり、前の行または0からのExecutionTimeLimitを超える時間でのSQLコマンドの数。

次の例では、ttSQLExecutionTimeHistogram組込みプロシージャの出力を示しています。

次のttSQLExecutionTimeHistogram組込みプロシージャの例は、合計1919文が実行されていることを示しています。1919すべての文の実行にかかった合計時間は、1.090751秒でした。この例ではSQL文が次の時間枠で実行されたことを示しています。

  • 278文が.00001562秒以下の時間枠の間に実行された。

  • 1484文が.00001562秒を超え.000125以下の時間枠の間に実行された。

  • 35文が.000125秒を超え.001以下の時間枠の間に実行された。

  • 62文が.001秒を超え.008以下の時間枠の間に実行された。

  • 60文が.008秒を超え.064以下の時間枠の間に実行された。

Command> call ttSQLExecutionTimeHistogram;
< 1919, 1.090751, .00001562, 278 >
< 1919, 1.090751, .000125, 1484 >
< 1919, 1.090751, .001, 35 >
< 1919, 1.090751, .008, 62 >
< 1919, 1.090751, .064, 60 >
< 1919, 1.090751, .512, 0 >
< 1919, 1.090751, 4.096, 0 >
< 1919, 1.090751, 32.768, 0 >
< 1919, 1.090751, 262.144, 0 >
< 1919, 1.090751, 9.999999999E+125, 0 >
10 rows found.

ttStatsConfig

説明

ttStatsConfig組込みプロシージャは、統計収集およびパラメータを制御します。このプロシージャは、名前と値のペアを入力として取り、名前と値のペアのパラメータに対応する単一行の結果セットを出力します。

必要な権限

このプロシージャには、ADMIN権限が必要です。

構文

ttStatsConfig("param", [value])

パラメータ

ttStatsConfigには、次のパラメータがあります。

パラメータ データ型 説明
param VARCHAR2(50) NOT NULL TimesTenコマンド・キャッシュでのSQLコマンドの一意の識別子。
value VARCHAR2(200) 指定したコマンドの値。値が指定されない場合、TimesTenキャッシュのすべての有効なコマンドの問合せ計画を表示します。

結果セット

ttStatsConfigは、次の結果セットを返します。

データ型 説明
param VARCHAR2(50) NOT NULL TimesTenコマンド・キャッシュでのSQLコマンドの一意の識別子。
value VARCHAR2(200) 指定したコマンドの値。値を指定しなかった場合、コマンドの現在の値になります。

パラメータ/値のペア

次の名前/値のペアが結果セットで返されます。

名前 説明
SQLCmdSampleFactor 0 <= value <= 60000 SQLコマンドのサンプルが取られる頻度。デフォルトは0です。値0は、サンプリングがオフになっていることを示します。0を超える値は、SQL文の間隔でサンプルが取られることを示します。たとえば、値10は、10番目のSQL文の実行ごとに実行の実時間が取得されます。
ConnSampleFactor C,S

0<=C<=Connections

0<=S<=60000

TimesTenコマンド・キャッシュでのSQLコマンドの一意の識別子。値を指定しない場合、TimesTenではコマンドの現在の値が表示されます。
SQLCmdHistogramReset 0または0以外 指定された値が0(ゼロ)以外の場合、既存のSQL実行時間統計がリセットされます。
StatsLevel NONE

TYPICAL

ALL

BASIC

データベースおよびオペレーティング・システム統計の収集レベルを指定します。TimesTenでは、これらの統計を自己管理の意思決定を含む様々な目的で収集します。

StatsLevelパラメータをNONEに設定すると、システム統計の収集を無効にします。

デフォルト設定のTYPICALでは、データベースの自己管理機能に必要なすべての主要統計の収集が行われ、全体的に最良のパフォーマンスが得られます。このデフォルト値は、多くの環境に適しています。

StatsLevelパラメータがALLに設定された場合、TYPICAL設定で収集された統計のセットに付加的な統計が追加されます。付加的な統計とは、時限オペレーティング・システム統計と計画実行統計です。

StatsLevelパラメータをBASICに設定すると、多くのTimesTen機能で必要となる多くの重要な統計の収集が無効にされます。


各コマンドをサンプリングします。

Command> call ttStatsConfig('SqlCmdSampleFactor',1);
< SQLCMDSAMPLEFACTOR, 1 >
1 row found.

サンプリングをチェックします。

Command> call ttStatsConfig('SqlCmdSampleFactor');
< SQLCMDSAMPLEFACTOR, 1 >
1 row found.
 

接続1で5文ごとにサンプリングします。

Command> call ttStatsConfig('ConnSampleFactor', '1,5');
< CONNSAMPLEFACTOR, 1,5 >
1 row found.
 

接続1でのサンプリングをオフにします。

Command> call ttStatsConfig('ConnSampleFactor', '1,0');
< CONNSAMPLEFACTOR, 1,0 >
1 row found.
 

データ・ストア統計の収集レベルをチェックします。

Command> call ttstatsconfig('StatsLevel');
< STATSLEVEL, TYPICAL >
1 row found.
 

データ・ストア統計の収集をオフにします。

Command> call ttstatsconfig('StatsLevel','None');
< STATSLEVEL, NONE >
1 row found.

ttTableSchemaFromOraQueryGet

説明

この組込みプロシージャはOracle Databaseの表に対するSELECT問合せを評価し、実行を選択できるCREATE TABLE SQL文を生成します。TimesTen CREATE TABLE文は結果セットの列名とタイプを突き合せます。

このプロシージャはTimesTen表を作成しません。表スキーマを識別する文のみを返します。

詳細と使用法の情報については、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のOracle DatabaseからTimesTen表へのデータのロードに関する説明を参照してください。

必要な権限

このプロシージャには、権限は必要ありません。セッション・ユーザーは、Oracle Databaseに対して問合せを実行するために必要なすべての権限を持っている必要があります。

構文

ttTableSchemaFromOraQueryGet(['tblOwner'], 'tblName', 'Query')

パラメータ

ttTableSchemaFromOraQueryGetには、次のパラメータがあります。

パラメータ データ型 説明
tblOwner TT_CHAR (30) TimesTen表の所有者(オプション)。指定しない場合は、接続IDが使用されます。
tblName TT_CHAR(30) NOT NULL CREATE TABLE文の表名。

指定するTimesTen表はシステム表、シノニム、ビュー、マテリアライズド・ビューまたはマテリアライズド・ビューの詳細表、グローバル一時表、キャッシュ・グループ表とすることはできません。

Query TT_VARCHAR (409600) NOT NULL 表の列定義を導出する、Oracle Databaseに対するSELECT問合せ。

SELECTリストのすべての式には、列別名を指定する必要があります。指定しない場合、実装に依存した列名が想定され、式は評価されません。


結果セット

ttTableSchemaFromOraQueryGetは次の結果セットを返します。

データ型 説明
createSQL TT_VARCHAR (409600) NOT NULL Oracle DatabaseのSELECT問合せの結果セットを突き合せるCREATE TABLE文。

次の例ではCREATE TABLE文が返され、TimesTen HR.EMPLOYEES表が作成されます。この表のすべての列はOracle DatabaseのHR.EMPLOYEES表にあります。

Command> call ttTableSchemaFromOraQueryGet('hr','employees',
 'SELECT * FROM hr.employees');
< CREATE TABLE "HR"."EMPLOYEES" (
"EMPLOYEE_ID" number(6,0) NOT NULL,
"FIRST_NAME" varchar2(20 byte),
"LAST_NAME" varchar2(25 byte) NOT NULL,
"EMAIL" varchar2(25 byte) NOT NULL,
"PHONE_NUMBER" varchar2(20 byte),
"HIRE_DATE" date NOT NULL,
"JOB_ID" varchar2(10 byte) NOT NULL,
"SALARY" number(8,2),
"COMMISSION_PCT" number(2,2),
"MANAGER_ID" number(6,0),
"DEPARTMENT_ID" number(4,0)
 ) >
1 row found.

注意

Oracle Databaseに対する問合せはパラメータ・バインディングを持つことができません。

問合せにOracle Databaseに関する記述がない場合(構文エラーなど)、TimesTenはエラーを返します。

出力列タイプにTimesTenの一致タイプがない場合、TimesTenは警告および列定義の次の行を出力します。>>>>column_name column_type /* reason */

Oracle Databaseへの問合せでTimesTenでサポートされていないタイプが出力された場合、TimesTenがサポートするタイプに出力を明示的に変更するために、SELECTリストでCAST句を追加できます。SELECTリストの式について、それぞれ列別名を指定できます。

Oracle Databaseに対する問合せにLOB出力がある場合、VAR型にマップされます。

ttVersion

説明

ttVersionユーティリティは、リリース番号、プラットフォーム、インスタンス名、インスタンス管理者、インスタンス・ホーム・ディレクトリ、デーモン・ホーム・ディレクトリ、ポート番号およびビルド・タイムスタンプなどの、TimesTenリリース情報を表示します。次のように様々な出力レベルを指定できます。

  • 出力を簡略形式で表示するには、オプションなしでttVersionを指定します。

  • 出力を拡張形式で表示するには、-mオプションを指定します。

  • 特定の属性の出力のみを表示するには、属性を指定します。

必要な権限

このプロシージャには、権限は必要ありません。

構文

ttVersion()

パラメータ

ttVersionにパラメータはありません。

結果セット

ttVersionは次の結果セットを返します。

データ型 説明
major1 TT_INTEGERNOT NULL メジャー・リリース番号。インフラストラクチャおよび機能に重要な変更が加えられたリリースであることを示します。
major2 TT_INTEGERNOT NULL 2番目のメジャー・リリース番号。新たな機能変更が加えられたものの、インフラストラクチャには変更がないバージョンであることを示します。
minor TT_INTEGERNOT NULL マイナー・リリース番号。前回のメンテナンス・リリース以降のすべてのバグ修正を含むリリースであることを示します。
patch TT_INTEGERNOT NULL マイナーなバグ修正を施したリリースであることを示します。
portpatch TT_INTEGERNOT NULL 特定のプラットフォームに対してパッチ修正を施したリリースであることを示します。

CALL ttVersion( );
<11, 2, 2 , 5, 0>
1 row found.

この場合、TimesTenリリース番号は11.2.2.5.0です。

ttWarnOnLowMemory

説明

このプロシージャを使用すると、現在の接続で実行された処理で割り当てられたメモリーが少ない場合に警告が返されるようにアプリケーションで指定できます。値を設定した場合、メモリーが割り当てられる処理で、総メモリーの使用量が接続のしきい値(接続属性PermWarnThresholdおよびTempWarnThresholdで指定)を超えると、警告が返されます。

必要な権限

このプロシージャには、権限は必要ありません。

構文

ttWarnOnLowMemory(permanent, temporary)

パラメータ

ttWarnOnLowMemoryには、次のパラメータがあります。

パラメータ データ型 説明
permanent TT_INTEGERNOT NULL 1: 永続データ・パーティションに対する警告を有効化

0: 永続データ・パーティションに対する警告を無効化

temporary TT_INTEGERNOT NULL 1: 永続データ・パーティションに対する警告を有効化

0: 永続データ・パーティションに対する警告を無効化


結果セット

ttWarnOnLowMemoryは結果を返しません。

CALL ttWarnOnLowMemory(1, 0);

永続データ・パーティションに対してのみ、メモリーが少ない場合の警告を有効にします。

注意

デフォルトでは、TimesTenは、いずれのパーティションに対してもメモリーが少ない場合の警告を発行しません。これらの警告を受け取る必要のあるアプリケーションでは、このプロシージャをコールする必要があります。このプロシージャは、接続固有であるため、警告を受け取る必要のある接続ごとに発行する必要があります。また、現在の設定は、後続の接続では適用されません。

ttXactIdGet

説明

このプロシージャは、ロック・メッセージを解釈するためのトランザクションID情報を返します。ttXactIdGetの2つの結果列を組み合せて使用すると、データベースのトランザクションを一意に識別できます。個々に使用される列は対象になりません。結果は、トランザクション情報の他のソースと相関させる目的にのみ使用します。数値に厳密なパターンはありません。

必要な権限

このプロシージャには、権限は必要ありません。

構文

ttXactIdGet()

パラメータ

ttXactIdGetにパラメータはありません。

結果セット

ttXactIdGetは次の結果セットを返します。

データ型 説明
xactID TT_INTEGER 接続ID。
counter TT_BIGINT 同じトランザクションIDの連続するトランザクションを区別するために使用される、累増する数値。

Command > automcommit 0;
Command > call ttXactIdGet;
<2,11>
1 row found
Command > commit;
Command > call ttXactIdGet
<3, 12>
1 row found

注意

出力は、ロック・エラー・メッセージで表示された値およびttXactAdminロック情報の出力と相互に関連があります。

関連項目


ttXactAdmin
『Oracle TimesTen In-Memory Database C開発者ガイド』のttXactIdRollbackに関する説明

ttXlaBookmarkCreate

説明

このプロシージャは、指定されたブックマークを作成します。

必要な権限

このプロシージャには、XLA権限が必要です。

構文

ttXlaBookmarkCreate('bookmark', 'replicated')

パラメータ

ttXlaBookmarkCreateには、次のパラメータがあります。

パラメータ データ型 説明
bookmark TT_CHAR(31) NOT NULL 作成するブックマークの名前。
replicated BINARY(1) レプリケートされないブックマークの場合は0x00またはNULL(同等の値)(デフォルト設定)。

レプリケートされるブックマークの場合は0x01

NULLの場合は、レプリケートされないブックマークが使用されます。


結果セット

ttXlaBookmarkCreateは結果を返しません。

レプリケートされないブックマークの場合は、次のコマンドを実行します。

Command > call ttXlaBookmarkCreate('mybookmark');

または

Command> call ttxlabookmarkcreate('mybkmk2',0x00);

レプリケートされるブックマークの場合は、次のコマンドを実行します。

Command > call ttXlaBookmarkCreate('mybookmark', 0x01);

レプリケートされるXLAブックマークなどXLAブックマークの詳細は、『Oracle TimesTen In-Memory Database C開発者ガイド』のXLAブックマークに関する説明を参照してください。

注意

XLAハンドルを初期化するttXlaPersistOpen関数のコール時にブックマークを作成することもできます。『Oracle TimesTen In-Memory Database C開発者ガイド』のブックマークの作成または再利用に関する説明を参照してください。

ttXlaBookmarkDelete

説明

このプロシージャは、指定されたブックマークを削除します。使用中のブックマークは削除できません。

必要な権限

このプロシージャには、XLA権限が必要です。

構文

ttXlaBookmarkDelete('bookmark')

パラメータ

ttXlaBookmarkDeleteには、次のパラメータがあります。

パラメータ データ型 説明
bookmark TT_CHAR(31) NOT NULL 削除するブックマークの名前。

結果セット

ttXlaBookmarkDeleteは結果を返しません。

Command > call ttXlaBookmarkDelete('mybookmark');

注意

XLAブックマークによってサブスクライブされている表を削除する前に、すべてのXLAブックマークを削除するか、XLA追跡によるサブスクライブを解除する必要があります。

ttXlaSubscribe

説明

このプロシージャは、表の永続XLA追跡を設定します。指定するブックマークが使用中の場合、このプロシージャは実行できません。

必要な権限

このプロシージャには、XLA権限が必要です。

構文

ttXlaSubscribe('tblName', 'bookmark')

パラメータ

ttXlaSubscribeには、次のパラメータがあります。

パラメータ データ型 説明
tblName TT_CHAR(61) NOT NULL 追跡する表の名前。

表名の指定にシノニムは使用できません。

bookmark TT_CHAR(31) NOT NULL アプリケーションがこの表を追跡するために使用するブックマークの名前。

結果セット

ttXlaSubscribeは結果を返しません。

Command > call ttXlaSubscribe ('SALLY.ACCTS', mybookmark);

注意

または、ttXlaTableStatus関数は、現行のブックマークを指定した表への更新にサブスクライブするか、表に関連付けられたDMLレコードを現行のブックマークがすでに監視しているかどうかを判断します。『Oracle TimesTen In-Memory Database C開発者ガイド』の更新の監視を行う表の指定に関する説明を参照してください。

ttXlaUnsubscribe

説明

このプロシージャは、表の永続XLA追跡を停止します。指定するブックマークが使用中の場合、このプロシージャは実行できません。

必要な権限

このプロシージャには、XLA権限が必要です。

構文

ttXlaUnsubscribe('tblName', 'bookmark')

パラメータ

ttXlaUnsubscribeには、次のパラメータがあります。

パラメータ データ型 説明
tblName TT_CHAR(61) NOT NULL XLA追跡を停止する表の名前。

表名の指定にシノニムは使用できません。

bookmark TT_CHAR(31) NOT NULL アプリケーションがこの表を追跡するために使用するブックマークの名前。

結果セット

ttXlaSubscribeは結果を返しません。

Command > call ttXlaUnsubscribe ('SALLY.ACCTS', mybookmark);

注意

XLAブックマークによってサブスクライブされている表を削除する前に、すべてのXLAブックマークを削除するか、XLA追跡によるサブスクライブを解除する必要があります。