ヘッダーをスキップ
Oracle® TimesTen In-Memory Databaseリファレンス
リリース11.2.1
B56050-02
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

2 組込みプロシージャ

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

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

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からコールすることもできます。

たとえば、組込みプロシージャ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エージングを使用できません。そのようなキャッシュ・グループでは、時間ベース・エージングを使用してください。

必要な権限

このプロシージャには、現在の値を問い合せるための権限は必要ありません。現在の値を変更するには、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分というように実行されます。

結果セット

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

データ型 説明
lowUsageThreshold BINARY_FLOAT NOT NULL データベースのPermSize割合の下限値に関する現在の設定(小数)。
highUsageThreshold BINARY_FLOAT NOT NULL データベースのPermSize割合の上限値に関する現在の設定(小数)。
agingCycle TT_INTEGER NOT 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 In-Memory 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, 2007-03-25 13:06:29.000000 >
< 2, 2007-03-25 13:06:42.000000 >
2 rows found.

Command> CALL ttAgingScheduleNow ('agingex');

Command> SELECT * FROM agingex;
0 rows found.

関連項目


ttAgingLRUConfig
『Oracle In-Memory Database Cacheユーザーズ・ガイド』

ttApplicationContext

説明

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

必要な権限

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

構文

ttApplicationContext (cmd)

パラメータ

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

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

結果セット

ttApplicationContextは結果を返しません。

CALL ttApplicationContext (0x123);

関連項目

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


ttBackupStatus

説明

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

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

必要な権限

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

構文

ttBackupStatus ()

パラメータ

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

結果セット

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

データ型 説明
ステータス TT_INTEGER NOT 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_INTEGER バックアップ・ポイントのトランザクション・ログ・ファイルのオフセット。データベースで実行されたバックアップがない場合、値は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_BIGINT NOT NULL データベースのブロックの合計数。
FreeBlocks TT_BIGINT NOT NULL データベースの空きブロックの合計数。
FreeBytes TT_BIGINT NOT NULL 空きブロックの合計サイズ。
LargestFree TT_BIGINT NOT 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_INTEGER 最後に書き込まれたトランザクション・ログ・ファイルのオフセット。
forceLFN TT_INTEGER 最後にディスクに書き込まれたトランザクション・ログ・ファイル。
forceLFO TT_INTEGER 最後にディスクに書き込まれたトランザクション・ログ・ファイルのオフセット。
holdLFN TT_INTEGER レプリケーション・ブックマーク・トランザクション・ログ・ファイル。
holdLFO TT_INTEGER レプリケーション・ブックマーク・ログのオフセット。

CALL ttBookmark ();

ttCacheAutorefresh

説明

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

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

必要な権限

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

構文

ttCacheAutorefresh ('cacheGroupOwner', 'cacheGroupName', synchronous)

パラメータ

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

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

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

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


結果セット

ttCacheAutorefreshは結果を返しません。

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

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

注意

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

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


ttCacheAutorefreshStatsGet

説明

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

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

必要な権限

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

構文

ttCacheAutorefreshStatsGet ('cacheGroupOwner', 'cacheGroupName')

パラメータ

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

パラメータ データ型 説明
cacheGroupOwner VARCHAR2 (30) キャッシュ・グループの所有者の名前。
cacheGroupName 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で更新される行の数を超える場合があります。

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

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

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

  • inProgress

  • Failed

Y

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

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

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

注意

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

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

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


ttCacheAwtMonitorConfig

説明

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

レプリケーション・エージェントが起動されると、監視は無効になります。

監視状態をOFFに設定すると、監視ツールの内部カウンタがリセットされます。

必要な権限

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

構文

ttCacheAWTMonitorConfig ('state', samplingRate)

パラメータ

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

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

結果セット

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

データ型 説明
State TTVARCHAR (10) NOT NULL AWT監視の現在の状態。値は、ONまたはOFFです。
AWTSamplingFactor TT_INTEGER NOT 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_INTEGER NOT NULL データベースに関連付けられたすべてのAWTキャッシュ・グループのトランザクション・ログ・ファイルの数。0(ゼロ)の場合、設定された制限はありません。

CALL ttCacheAWTThresholdGet();

注意

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

関連項目

ttCacheAWTThresholdSet


ttCacheAWTThresholdSet

説明

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

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

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

必要な権限

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

構文

ttCacheAWTThresholdSet(threshold)

パラメータ

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

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

結果セット

ttCacheAWTThresholdSetは結果を返しません。

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

CALL ttCacheAWTThresholdSet(12);

注意

このプロシージャは、Oracle In-Memory Database Cacheで使用できます。

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

関連項目

ttCacheAWTThresholdGet


ttCacheConfig

説明

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

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

必要な権限

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

構文

ttCacheConfig(Param, tblOwner, tblName, Value)

パラメータ

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

パラメータ データ型 説明
Param VARCHAR2(50) NOT NULL Valueで設定するパラメータを指定します。
  • AgentTimeout: キャッシュ・エージェントがOracleサーバーに接続できないときにデータベースが停止していると宣言されるまでの秒数を指定します。

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

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

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

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

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

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

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

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

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

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

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

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

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


結果セット

パラメータ値の設定に使用される場合、ttCacheConfigは結果を返しません。パラメータ設定を返す目的で使用される場合は、次の結果を返します。

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

  • DeadDbRecovery

  • TblSpaceFullRecovery

  • TblSpaceThreshold

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

注意

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

関連項目


ttCacheDbCgStatus
ttCachePolicyGet
ttCachePolicySet
ttCacheStart
ttCacheStop
ttCacheUidGet
ttCacheUidPwdSet
ttAdmin

ttCacheDbCgStatus

説明

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

必要な権限

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

構文

ttCacheDbCgStatus([cgowner, cgName])

パラメータ

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

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

結果セット

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

データ型
dbStatus VARCHAR2(20) データベース内のすべてのキャッシュ・グループの、自動リフレッシュに関する状態を指定します。次のいずれかの状態になります。
  • alive: データベースはアクティブです。すべてのキャッシュ・グループの状態はokです。キャッシュ・エージェントは、Oracleサーバーに接続されています。

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

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

cgStatus VARCHAR2(20) 指定されたキャッシュ・グループの自動リフレッシュの状態を指定します。次のいずれかの状態になります。
  • ok: 指定されたキャッシュ・グループはOracle Databaseと同期化されています。キャッシュ・エージェントは、Oracleサーバーに接続されています。

  • dead: キャッシュ・エージェントはタイムアウト時間内にOracleに接続できませんでした。指定されたキャッシュ・グループとOracleサーバーが非同期である可能性があります。

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


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

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

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

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

注意

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

関連項目


ttCacheConfig
ttCachePolicyGet
ttCachePolicySet
ttCacheStart
ttCacheStop
ttCacheUidGet
ttCacheUidPwdSet
ttAdmin

ttCacheDDLTrackingConfig

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

DDL追跡では、キャッシュされたすべてのOracle表の変更履歴が保存されます。SQL文とその実行日時が、Oracleのキャッシュ管理ユーザー・スキーマ内の表に書き込まれます。DDL追跡表が1つ作成され、キャッシュされたすべてのOracle表に対して発行されたDDL文が格納されます。この情報は、自動リフレッシュの問題を診断する場合に使用できます。

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

必要な権限

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

構文

ttCacheDDLTrackingConfig('trackingStatus')

パラメータ

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

パラメータ データ型 説明
trackingStatus TT_VARCHAR (10) キャッシュされたOracle表に対して発行された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 ();

注意

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

関連項目


ttCacheConfig
ttCacheDbCgStatus
ttCachePolicySet
ttCacheStart
ttCacheStop
ttCacheUidGet
ttCacheUidPwdSet
ttAdmin

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');

注意

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

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

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

関連項目


ttCacheConfig
ttCacheDbCgStatus
ttCachePolicyGet
ttCacheStart
ttCacheStop
ttCacheUidGet
ttCacheUidPwdSet
ttAdmin

ttCachePropagateFlagSet

説明

このプロシージャを使用すると、Oracleへの更新の伝播を一時的に停止できます。

必要な権限

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

構文

ttCachePropagateFlagSet(CommitsOn)

パラメータ

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

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

1を指定すると、更新はOracleに送信されます。


結果セット

ttCachePropagateFlagSetは結果を返しません。

注意

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

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

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

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

ttCachePropagateFlagSetは、FLUSH、LOAD、REFRESH、UNLOADなどのその他のキャッシュ・グループ処理と同じトランザクションで使用できる唯一の組込みプロシージャです。


ttCacheSqlGet

説明

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

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

必要な権限

このプロシージャには、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) キャッシュ・グループの名前。ASYNCHRONOUS WRITETHROUGHキャッシュ・グループのオブジェクトをインストールする場合、またはAUTOREFRESHユーザー・アカウント内のすべてのOracleオブジェクトを削除する場合には、NULLを指定します。
install_flag TT_INTEGER NOT NULL install_flagが1の場合、ttCacheSqlGetは、自動リフレッシュまたは非同期のWRITETHROUGHのOracleオブジェクトをインストールするOracle SQLを返します。

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


結果セット

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

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

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

AUTOREFRESHユーザー・アカウントのすべてのOracleオブジェクトを削除するには、次のコマンドを使用します。

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

注意

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

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

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

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


ttCacheStart

説明

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

必要な権限

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

構文

ttCacheStart()

パラメータ

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

結果セット

ttCacheStartは結果を返しません。

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

CALL ttCacheStart ();

注意

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

データベースにAUTOREFRESHまたはASYNCHRONOUS WRITETHROUGHキャッシュ・グループがある場合、またはある可能性がある場合は、キャッシュ管理ユーザーIDおよびパスワードを設定してから、キャッシュ・エージェントを起動する必要があります。

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

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

関連項目


ttCacheConfig
ttCacheDbCgStatus
ttCachePolicyGet
ttCachePolicySet
ttCacheStop
ttCacheUidPwdSet
ttCacheUidGet
ttAdmin

ttCacheStop

説明

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

必要な権限

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

構文

ttCacheStop(timeout)

パラメータ

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

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

結果セット

ttCacheStopは結果を返しません。

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

CALL ttCacheStop();

注意

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

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

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

関連項目


ttCachePolicySet
ttCacheStart
ttCacheUidPwdSet
ttCacheUidGet
ttAdmin

ttCacheUidGet

説明

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

必要な権限

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

構文

ttCacheUidGet()

パラメータ

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

結果セット

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

データ型 説明
UID TT_VARCHAR (30) AUTOREFRESHおよびASYNCHRONOUS WRITETHROUGHキャッシュ・グループで使用される、現在のキャッシュ管理ユーザーID。

CALL ttCacheUidGet();

注意

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

関連項目


ttCacheUidPwdSet
ttAdmin

ttCacheUidPwdSet

説明

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

必要な権限

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

構文

ttCacheUidPwdSet('UID', 'PWD')

パラメータ

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

パラメータ データ型 説明
UID TT_VARCHAR (30) AUTOREFRESHおよびASYNCHRONOUS WRITETHROUGHキャッシュ・グループで使用される、キャッシュ管理ユーザーID。
PWD TT_VARCHAR (30) キャッシュ管理ユーザーのパスワード。

結果セット

ttCacheUidPwdSetは結果を返しません。

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

注意

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

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

キャッシュ・エージェントまたはレプリケーション・エージェントが実行されている場合は、キャッシュ管理ユーザーIDおよびパスワードを設定することができません。

データベースにASYNCHRONOUS WRITETHROUGHキャッシュ・グループまたはAUTOREFRESHキャッシュ・グループ(OFFではない状態)がある場合は、キャッシュ管理ユーザーIDをリセットすることができません。

関連項目


ttCacheUidGet
ttAdmin

ttCkpt

説明

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

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

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

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

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

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

必要な権限

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

構文

ttCkpt()

パラメータ

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
ttCkptConfig
ttCkptHistory

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オペレーション・ガイド』のトランザクション管理およびリカバリに関する説明を参照してください。

関連項目


ttCkpt
ttCkptConfig
ttCkptHistory

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_INTEGER NOT NULL チェックポイント頻度の現在アクティブな設定(秒)。
ckptLogVolume TT_INTEGER NOT NULL チェックポイント間のログ・ボリュームの現在アクティブな設定(MB)。
ckptRate TT_INTEGER NOT NULL チェックポイントがディスクに書き込まれる現在の速度。

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

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

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

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

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

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

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

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

注意

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

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

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

関連項目


CkptFrequency
CkptLogVolume
ttCkpt
ttCkptHistory

ttCkptHistory

説明

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

必要な権限

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

構文

ttCkptHistory( )

パラメータ

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

結果セット

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

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

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

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

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

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

ステータス 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_INTEGER NOT NULL チェックポイントで使用されるデータベース・ファイル番号。このファイル番号は、チェックポイント・ファイル拡張子datastore.ds0またはdatastore.ds1の番号に対応しています。
ckptLFN TT_INTEGER チェックポイント・ログ・レコードのトランザクション・ログ・ファイル番号。
ckptLFO TT_INTEGER チェックポイント・ログ・レコードのトランザクション・ログ・ファイル・オフセット。
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を比較して計算されます。この値は、必ずしもチェックポイントの完了に必要な残り時間を正確に表すものではありませんが、ディスク書込みに必要な残り時間の目安にはなります。このフィールドには、使用済ブロックの書込みの進捗状況のみが表示され、チェックポイントの最後に追加のブックキーピングは含まれません。

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

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

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

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

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

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

< 2010-04-14 16:54:36.861728, 2010-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;
< 2010-04-14 16:57:14.476860, 2010-04-14 16:57:14.477957, Fuzzy           , Failed          , User            , 847, 1, <NULL>, <NULL>, 0, 0, 0, 0, 0, 0, 0, <NULL>, 7 >

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

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

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

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

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

< 2010-04-14 16:54:36.861728, 2010-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

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_INTEGER NOT NULL ttCompactTSが圧縮するデータ・ブロック数を指定する、0(ゼロ)以外の正の整数。1つのquantumは1つのデータ・ブロックに対応します。

結果セット

ttCompactTSは結果を返しません。

CALL ttCompactTS (5);

注意

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

関連項目

ttCompact


ttConfiguration

説明

このプロシージャは、現在のデータベース接続のほとんどの属性値を返します。

必要な権限

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

構文

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 >
. . .

注意

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

関連項目

「接続属性」


ttContext

説明

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

必要な権限

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

構文

ttContext()

パラメータ

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

結果セット

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

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

CALL ttContext;

注意

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

関連項目


ttDataStoreStatus
ttStatus

ttDataStoreStatus

説明

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

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

必要な権限

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

構文

ttDataStoreStatus('dataStore')

パラメータ

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

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

結果セット

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

データ型 説明
dataStore TT_VARCHAR (256) NOT NULL データベースのフルパス名。
PID TT_INTEGER NOT 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_INTEGER NOT NULL データベースの数値ID。

CALL ttDataStoreStatus('/data/Purchasing');

関連項目


ttContext
ttStatus

ttDurableCommit

説明

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

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

必要な権限

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

構文

ttDurableCommit()

パラメータ

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

結果セット

ttDurableCommitは結果を返しません。

CALL ttDurableCommit;

注意

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


ttGridAttach

説明

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

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

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

必要な権限

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

構文

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

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

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

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

パラメータ

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

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

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

2: スタンバイ・マスター・データベース

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

結果セット

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
ttGridInfo
ttGridNameSet
ttGridNodeStatus
『Oracle In-Memory Database Cacheユーザーズ・ガイド』のキャッシュ・グリッドの構成に関する説明

ttGridCheckOwner

説明

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

必要な権限

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

構文

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

パラメータ

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

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

結果セット

ttGridCheckOwnerは結果を返しません。

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

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

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

CALL ttGridCheckOwner();

関連項目


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

ttGridCreate

説明

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

必要な権限

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

構文

ttGridCreate('gridName')

パラメータ

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

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

結果セット

ttGridCreateは結果を返しません。

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

CALL ttGridCreate ('mygrid');

関連項目


ttGridAttach
ttGridCheckOwner
ttGridDestroy
ttGridDetach
ttGridDetachAll
ttGridDetachList
ttGridGlobalCGResume
ttGridGlobalCGSuspend
ttGridInfo
ttGridNameSet
ttGridNodeStatus
『Oracle In-Memory 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
ttGridInfo
ttGridNameSet
ttGridNodeStatus
『Oracle In-Memory Database Cacheユーザーズ・ガイド』のキャッシュ・グリッドの構成に関する説明

ttGridDetach

説明

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

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

必要な権限

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

構文

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

パラメータ

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

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

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

force TT_INTEGER このオプションのパラメータでは、ノードが停止しているかどうかをチェックせずにそのノードがデタッチされます。有効な値は1です。

結果セット

ttGridDetachは結果を返しません。

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

CALL ttGridDetach();

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

CALL ttGridDetach('TTGRID_alone2_2',1);

関連項目


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

ttGridDetachAll

説明

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

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

必要な権限

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

構文

ttGridDetachAll()

パラメータ

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

結果セット

ttGridDetachAllは結果を返しません。

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

CALL ttGridDetachAll();

関連項目


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

ttGridDetachList

説明

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

必要な権限

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

構文

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

パラメータ

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

パラメータ データ型 説明
nodeMemberName TT_VARCHAR (8192) NOT NULL 削除するノードの完全修飾名。
force TT_INTEGER このオプションのパラメータでは、ノードが停止しているかどうかをチェックせずにノードがデタッチされます。有効な値は1です。

結果セット

ttGridDetachListは結果を返しません。

CALL ttGridDetachList('TTGRID_cacheact_3A TTGRID_cachestand_3B',1);

関連項目


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

ttGridGlobalCGResume

説明

このプロシージャは、ttGridGlobalCGSuspendへのコール後にブロックされた処理を再開します。まだ実行されていない場合は、このプロシージャによってキャッシュ・エージェントが起動されます。

必要な権限

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

構文

ttGridGlobalCGResume()

パラメータ

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

結果セット

ttGridGlobalCGResumeは結果を返しません。

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

CALL ttGridGlobalCGResume();

関連項目


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

ttGridGlobalCGSuspend

説明

このプロシージャは、グローバル・キャッシュ・グループのキャッシュ・インスタンスの動的なロードおよび削除を一時的にブロックします。まだ実行されていない場合は、このプロシージャによってキャッシュ・エージェントが起動されます。これらのアクションを再度有効にするには、ttGridGlobalCGResumeプロシージャを使用します。

必要な権限

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

構文

ttGridGlobalCGSuspend(wait)

パラメータ

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

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

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


結果セット

ttGridGlobalCGSuspendは結果を返しません。

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

CALL ttGridGlobalCGSuspend(10);

関連項目


ttGridAttach
ttGridCheckOwner
ttGridCreate
ttGridDestroy
ttGridDetach
ttGridDetachAll
ttGridDetachList
ttGridGlobalCGResume
ttGridInfo
ttGridNameSet
ttGridNodeStatus
『Oracle In-Memory 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) グリッドが稼働しているオペレーティング・システム・プラットフォーム。

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

operating system, bit-level

例:

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

カンマは改行という意味ではありません。

major1, major2, major3 各フィールドでTT_VARCHAR (10) グリッドに関連付けられているTimesTenのメジャー・リリース。たとえば、リリース11.2.1の場合11, 2, 1と出力されます。

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

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

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

CALL ttGridInfo();

関連項目


ttGridAttach
ttGridCheckOwner
ttGridCreate
ttGridDestroy
ttGridDetach
ttGridDetachAll
ttGridDetachList
ttGridGlobalCGResume
ttGridGlobalCGSuspend
ttGridNameSet
ttGridNodeStatus
『Oracle In-Memory 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
ttGridInfo
ttGridNodeStatus
『Oracle In-Memory Database Cacheユーザーズ・ガイド』のキャッシュ・グリッドの構成に関する説明

ttGridNodeStatus

説明

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

必要な権限

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

構文

ttGridNodeStatus(['gridName'])

パラメータ

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

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

結果セット

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

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

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

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

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

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

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

host2 TT_VARCHAR(200) スタンバイ・マスター・データベースが存在するホスト名。
nodeName2 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
ttGridInfo
ttGridNameSet
『Oracle In-Memory Database Cacheユーザーズ・ガイド』のキャッシュ・グリッドの構成に関する説明

ttHostNameGet

説明

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

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

必要な権限

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

構文

ttHostnameGet()

パラメータ

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

結果セット

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

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

CALL ttHostNameGet ();

関連項目


ttHostNameSet
『Oracle TimesTen In-Memory Database TimesTen to TimesTen開発者および管理者ガイド』のレプリケート・システムの設定に関する説明

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 TimesTen to TimesTen開発者および管理者ガイド』のレプリケート・システムの設定に関する説明

ttLockLevel

説明

この接続の次のトランザクションとすべての後続トランザクションに対して、行レベルのロックとデータベース・レベルのロックでロック・レベルを変更します。アプリケーションでは、再度ttLockLevelを呼び出すことによって、再度ロック・レベルを変更できます。初期値は、LockLevel属性によって異なります。各種ロック・レベルの詳細は、「LockLevel」を参照してください。

必要な権限

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

構文

ttLockLevel('lockLevel')

パラメータ

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

パラメータ データ型 説明
lockLevel TT_CHAR (20) NOT NULL 接続で使用するロック・レベル。

lockLevelの値は次の文字列のいずれかで、大文字と小文字は区別されません。

Row: 行レベル・ロックに設定します。

DS: データベース・レベル・ロックに設定します。

結果セット

ttLockLevelは結果を返しません。

CALL ttLockLevel ('Row');

注意

このプロシージャは、現在のトランザクションには影響しません。

Oracle表をキャッシュするには、行レベル・ロックが必要です。

このプロシージャは、トランザクション内から呼び出す必要があります。トランザクションを起動した接続に対する後続のトランザクションに、ロック・レベルを設定します。新しいロック・レベルは、現在のトランザクションには影響しません。次のトランザクションの開始時に有効になります。

関連項目

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トランザクションは、ロックがただちに利用できない場合、事前に設定された時間だけ待機し、ロックを取得しようとします。その後、ロック・リクエストはタイムアウトになり、アプリケーションにTimesTenエラー6003を返します。デフォルトでは、TimesTenはロック・タイムアウトに10秒の値を使用します。

ロック・タイムアウト間隔の値が0の場合は注意してください。値0が指定された場合、トランザクションは利用できないロックを待機しません。ロックが利用できない場合、TimesTenエラー6003が返されます。

関連項目


ttLockLevel
「LockLevel」

ttLogHolds

説明

このプロシージャは、トランザクション・ログの保持に関する情報を返します。これには増分バックアップ、レプリケーション・ピア、永続XLAサブスクライバ、XA、長時間実行トランザクションおよびチェックポイントのかわりに作成されたログも含まれます。このプロシージャは、チェックポイント処理ですべての不要なトランザクション・ログ・ファイルが消去されていない可能性がある状況を診断する場合に役立ちます。

必要な権限

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

構文

ttLogHolds()

パラメータ

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

結果セット

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

データ型 説明
HoldLFN TT_INTEGER NOT NULL 保持されているトランザクション・ログ・ファイルの番号を返します。
HoldLFO TT_INTEGER NOT NULL 保持されているトランザクション・ログ・ファイルのオフセットを返します。
type TT_CHAR(30) NOT NULL 保持されているログ・タイプを返します。次のいずれかです。
  • チェックポイント

  • レプリケーション

  • バックアップ

  • XLA

  • 長時間実行トランザクション

  • 長時間実行XAトランザクション

description TT_VARCHAR(1024) NOT NULL 保持されたログ・タイプ固有のオブジェクトの説明です。それぞれの説明は、返されるタイプに対応しています。次のいずれかです。
  • チェックポイント・ファイルの名前

  • レプリケーション・サブスクライバの名前

  • サブスクライバによって使用されるパラレル・レプリケーション追跡ID

  • バックアップ・パス

  • 永続XLAサブスクリプション名、および永続XLAサブスクリプションがオープンされている場合は、そのサブスクリプションをオープンした最後のプロセスのプロセスID

  • XAトランザクションの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 >

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(いいえ)または1(はい)。デフォルトは0です。

invalidateが1の場合、他のユーザーが準備したコマンドを含む、影響を受ける表を参照するすべてのコマンドは、再実行時に自動的に再準備されます。

invalidateが0の場合、統計は変更されたとはみなされず、既存のコマンドは再準備されません。


結果セット

ttOptClearStatsは結果を返しません。

CALL ttOptClearStats ( 'SALLY.ACCTS', 1 );

SALLY.ACCTS表の統計を消去し、ACCTS表に影響するすべてのコマンドを再準備します。

CALL ttOptClearStats();

現在のユーザーのすべての表の統計を消去し、これらの表に影響するすべてのコマンドを再準備します。

CALL ttOptClearStats('', 0);

現在のユーザーのすべての表の統計を消去しますが、これらの表に影響するコマンドは再準備しません。

関連項目


ttOptEstimateStats
ttOptSetColIntvlStats
ttOptSetFlag
ttOptSetOrder
ttOptSetTblStats
ttOptUpdateStats
ttPLSQLMemoryStats

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バイト以下のすべての列に対して、正確な統計を計算します。たとえば、

ttOptEstimateStats ('ACCTS', 1, '100 PERCENT' )

ttOptUpdateStats( 'ACCTS', 1 )

の相違点は、ttOptEstimateStatsが長い列の統計を計算しないということのみです。

統計は、システム表TBL_STATSおよびCOL_STATSに格納されます。

TimesTenでは、パフォーマンス上の理由から、統計の計算時に表ロックおよび行ロックは保持されません。ただし、統計の計算をそのように行った場合でも、パフォーマンスが低下する可能性があります。統計は、正確に計算するよりも推定した方が一般にパフォーマンスは向上します。

関連項目


ttOptSetColIntvlStats
ttOptSetFlag
ttOptSetOrder
ttOptSetTblStats
ttOptUpdateStats
ttPLSQLMemoryStats

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) )>

関連項目


ttOptSetColStats
ttOptSetColIntvlStats

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_INTEGER NOT NULL 現在のフラグ値(0または1)。

CALL ttOptGetFlag('TmpHash');

関連項目

ttOptSetFlag


ttOptGetMaxCmdFreeListCnt

説明

このプロシージャは、コンパイル済SQLコマンド・キャッシュの空きリストのサイズを返します。キャッシュ・サイズをリセットするには、マテリアライズド・ビューについてはttOptSetMaxPriCmdFreeListCntを使用し、通常の表についてはttOptSetMaxCmdFreeListCntを使用します。

必要な権限

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

パラメータ

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

構文

ttOptGetMaxCmdFreeListCnt()

結果セット

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

データ型 説明
retVal TT_VARCHAR(200) NOT NULL コンパイル済SQLコマンドのキャッシュ・サイズ。

CALL ttOptGetMaxCmdFreeListCnt( );

関連項目


ttOptSetMaxPriCmdFreeListCnt
ttOptSetMaxCmdFreeListCnt

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(いいえ)または1(はい)。invalidateが1の場合、影響を受ける表を参照するすべてのコマンドは、再実行時に自動的に再準備されます。このようなコマンドには、他のユーザーが準備したコマンドが含まれます。invalidateが0の場合、統計は変更されたとはみなされず、既存のコマンドは再準備されません。
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)とは、指定した時間隔で最も頻繁に出現する値です。


結果セット

ttOptSetColIntvlStatsは結果を返しません。

t1.x1に次のような統計を設定します。

この場合、次の文を実行します。

CALL ttOptSetColIntvlStats('t1', 'x1', 1, (2, 10, 10, 100, (4, 40, 10, 1, 10, 5),
 (4, 20, 20, 11, 20, 15)));

注意

時間隔の最小値および最大値をVARBINARYとして指定する必要があります。NULL値を最小値または最大値として指定することはできません。値は、プラットフォーム固有のエンディアン形式で格納されます。

関連項目


ttOptEstimateStats
ttOptGetColStats
ttOptSetColStats
ttOptSetTblStats
ttOptUpdateStats

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 その表内の列の名前。
numUniq TT_INTEGER NOT NULL 列内の一意値の数。
minVal VARBINARY(1024) NOT NULL 列内の最小値(切り捨てられる可能性あり)。
maxVal VARBINARY(1024) NOT NULL 列内の最大値(切り捨てられる可能性あり)。
invalidate TT_INTEGER 0(いいえ)または1(はい)。invalidateが1の場合、影響を受ける表を参照するすべてのコマンドは、再実行時に自動的に再準備されます。このようなコマンドには、他のユーザーが準備したコマンドが含まれます。invalidateが0の場合、統計は変更されたとはみなされず、既存のコマンドは再準備されません。
numNull TT_INTEGER 列のNULLの総数を指定します。

結果セット

ttOptSetColStatsは結果を返しません。

CALL ttOptSetColStats ('SALLY.ACCTS, 'BALANCE, 400, 0x00001388, 0x000186A0, 1, 0);

注意

最小値および最大値をVARBINARYとして指定する必要があります。NULL値を最小値または最大値として指定することはできません。値は、プラットフォーム固有のエンディアン形式で格納されます。

統計は、最小値と最大値の間に均一に配分されている列値の、単一の時間隔として処理されます。

関連項目


ttOptEstimateStats
ttOptGetColStats
ttOptSetColIntvlStats
ttOptSetTblStats
ttOptUpdateStats

ttOptSetFlag

説明

このプロシージャでは、アプリケーションで、TimesTen問合せオプティマイザによる実行計画の生成を変更できるようにします。フラグを設定して、様々なアクセス方法の使用を有効または無効にします。このコールによって加えられた変更は、文を準備するときに有効になります。影響を受けるのは、現在のトランザクションでこれから実行される、ODBC関数SQLPrepareおよびSQLExecDirectへのすべてのコール、またはJDBCメソッドConnection.prepareCallおよびStatement.executeへのすべてのコールです。オプティマイザのすべてのフラグは、トランザクションがコミットまたはロールバックされた時点でそれぞれのデフォルト値にリセットされます。AutoCommitがオンになっている状態でオプティマイザ・フラグを設定しても、各文は固有のトランザクション内で実行されるため、そのフラグは無視されます。

必要な権限

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

構文

ttOptSetFlag('optFlag', optVal)

パラメータ

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

パラメータ データ型 説明
optFlag TT_CHAR(32) NOT NULL オプティマイザ・フラグの名前。
optVal TT_INTEGER NOT NULL オプティマイザ・フラグの値。次の「オプティマイザ・フラグ」に記載されている場合を除き、通常、値は0(無効/禁止)または1(有効/許可)です。

オプティマイザ・フラグ

オプティマイザ・フラグを設定する場合は、次の文字列を使用します。大文字と小文字は区別されません。

フラグ 説明
DynamicLoadEnable TimesTenの動的キャッシュ・グループへのOracleデータの動的ロードを有効または無効にします。Oracleデータの動的ロードは、デフォルトで有効になっています。
DynamicLoadErrorMode 動的ロード・エラー・モードを有効または無効にします。このモードにより、TimesTen動的キャッシュ・グループに対する透過的ロード処理が失敗した場合のエラー・メッセージの出力が制御されます。デフォルトでは無効になっています。
FirstRow SELECTUPDATEまたはDELETEの最初の行の最適化を有効または無効にします。SQLキーワードのFIRSTがSQL文で使用された場合、これはオプティマイザ・ヒントより優先されます。キーワードFIRSTは、最初の行の最適化を有効にします。
GenPlan 残りのトランザクションでのPLAN表のエントリの作成を有効または無効にします。

『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』の問合せ計画の生成に関する説明を参照してください。

GlobalProcessing グリッドのSELECTおよびUNLOAD CACHE GROUP文のグローバル実行を有効または無効にします。デフォルトでは、これらの文はローカルで実行されます。

0: SELECTおよびUNLOAD CACHE GROUP文はローカルで実行されます。

1: SELECTおよびUNLOAD CACHE GROUP文はグローバルで実行されます。

詳細は、『Oracle In-Memory Database Cacheユーザーズ・ガイド』を参照してください。

Hash 索引付けされた表スキャンで、既存のハッシュ索引の使用を有効または無効にします。
HashGb ハッシュ・グループの使用を有効または無効にします。
MergeJoin マージ結合の使用を有効または無効にします。
NestedLoop 2つの表を結合する一般的な方法を示します。
PassThrough IMDB Cacheアプリケーションのパススルー・レベルを一時的に変更します。パススルー・レベルはいつでも設定が可能で、変更はただちに有効になります。このフラグの有効な値は次のとおりです。

0: SQL文はTimesTenに対してのみ実行されます。(デフォルト)

1: TimesTen以外の1つ以上の表を参照していないかぎり、INSERTUPDATEおよびDELETE文はTimesTenに対して実行されます。TimesTen以外の1つ以上の表を参照している場合は、Oracle Databaseに渡されます。DDL文はTimesTenに対して実行されます。その他の文がTimesTenで構文エラーを生成する場合、またはその他の文で参照されている1つ以上の表がTimesTenに存在しない場合に、その他の文はOracle Databaseに渡されます。

2: 読取り専用キャッシュ・グループまたはREADONLYキャッシュ表属性を持つユーザー管理キャッシュ・グループ表に対して実行されたINSERTUPDATEおよび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データベースで実行されます。

RowLock オプティマイザによる行ロックの使用を許可または禁止します。
Scan 全表スキャンを示します。
Rowid Row IDの使用を有効または無効にします。
ShowJoinOrder オプティマイザ・スキャンでの表の結合順序を表示します。
TmpHash 一時的なハッシュ・スキャンの使用を有効または無効にします。これは、文の評価で使用するために実行時に作成される索引です。索引の作成には時間がかかりますが、結合条件を評価する場合の時間を節約できます。
TblLock オプティマイザによる表ロックの使用を有効または無効にします。
TmpTable 中間結果を一時表に格納します。この処理は、結合問合せでの条件の評価を繰り返し実行することを回避したり、結合における中間結果のスキャンを単に高速化するために選択されることもあります。
TmpTtree 一時的な範囲スキャンを実行します。また、マージ結合で値をソートするためにも使用できます。索引の作成には時間がかかりますが、結合条件を評価する場合の時間を節約できます。
Ttree 索引付けされた表スキャンで、既存の範囲索引の使用を有効または無効にします。

文字列AllFlagsは、すべてのオプティマイザ・フラグを示すために使用され、文字列Defaultは、デフォルトのフラグを示すために使用されます。Defaultには、GenPlanフラグ以外のすべてのオプティマイザ・フラグが含まれます。

フラグの説明

各フラグの値は1または0です。

たとえば、アプリケーションで、中間結果を格納する計画をオプティマイザが選択できないようにできます。

ttOptSetFlag ( 'TmpTable', 0 )

同様に、アプリケーションでMergeJoinのプリファレンスを指定できます。

ttOptSetFlag ( 'NestedLoop', 0 )

2つ目の例では、マージ結合が不可能な場合(たとえば、マージ結合条件がない場合)、オプティマイザはネステッド・ループ・ジョインを選択できます。同様に、オプティマイザが、表スキャンを回避するアプリケーション・リクエストを満たすことができない場合もあります(Scanフラグが0に設定されている場合)。

特定の処理が特定の計画手順で禁止されると指定すること、または特定の2つの表では必ず特定の結合方法が使用されると指定することはできません。同様に、特定の索引が使用されると指定すること、または特定の条件を評価するためにハッシュ索引が使用されると指定することもできません。各処理は、完全に許可されているか、完全に制限されているかのいずれかです。

コマンドが準備されている場合は、現在のオプティマイザ・フラグ、索引ヒントおよび結合順序はコマンドのコンパイル済形式の構造で保持され、システムによってそのコマンドが再準備されるときに使用されます。再準備された文の例については、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のTimesTen問合せオプティマイザに関する説明を参照してください。

RowLockおよびTblLockの両方が無効な場合、TimesTenでは行ロックが使用されます。RowLockおよびTblLockの両方が有効な場合、TimesTenでは、パフォーマンスがより高い方のロック・スキームが使用されます。

TblLockの状態 RowLockの状態 オプティマイザへの影響
無効 無効 行レベル・ロックの使用
有効 無効 表レベル・ロックの使用
無効 有効 行レベル・ロックの使用
有効 有効 行レベル・ロックまたは表レベル・ロックをオプティマイザが選択します。

問合せによって表の行の重要な部分がアクセスされる場合、またはその表に同時アクセスしているトランザクションの数が非常に少ない場合(あるいはその両方)に、表レベル・ロックは有効です。

結果セット

ttOptSetFlagは結果を返しません。

CALL ttOptSetFlag ('TmpHash', 1);

関連項目


ttOptEstimateStats
ttOptGetFlag
ttOptGetOrder
ttOptSetColIntvlStats
ttOptSetOrder
ttOptSetTblStats
ttOptUpdateStats
ttPLSQLMemoryStats

ttOptSetMaxCmdFreeListCnt

説明

このプロシージャは、通常の表に対するコンパイル済SQLコマンドの空きリストの最大カウントを設定します。現在の設定値を取得するには、ttOptGetMaxCmdFreeListCntプロシージャを使用します。

必要な権限

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

構文

ttOptSetMaxCmdFreeListCnt(maxCnt)

パラメータ

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

パラメータ データ型 説明
maxCnt TT_INTEGER NOT NULL 通常の表に対するコンパイル済SQL空きコマンドの最大数。

結果セット

ttOptSetMaxCmdFreeListCntは結果を返しません。

CALL ttOptSetMaxCmdFreeListCnt(40);

関連項目


ttOptGetMaxCmdFreeListCnt

ttOptSetMaxPriCmdFreeListCnt

説明

このプロシージャは、マテリアライズド・ビューのメンテナンスを実行するコンパイル済SQLコマンドの空きリストの最大カウントを設定します。

このコマンドを設定すると、解放可能なコンパイル済マテリアライズド・ビュー・コマンドは通常の表とは別にカウントされます。このコマンドを設定しない場合、コンパイル済マテリアライズド・ビュー・コマンドは通常のコマンドとしてカウントされます。

必要な権限

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

構文

ttOptSetMaxCmdPriFreeListCnt(maxCnt)

パラメータ

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

パラメータ データ型 説明
maxCnt TT_INTEGER NOT NULL コンパイル済SQLコマンドのキャッシュ・サイズ。

結果セット

ttOptSetMaxPriCmdFreeListCntは結果を返しません。

CALL ttOptSetMaxPriCmdFreeListCnt(40);

関連項目


ttOptGetMaxCmdFreeListCnt
ttOptSetMaxCmdFreeListCnt

ttOptSetOrder

説明

このプロシージャは、オプティマイザが表を結合する順序を指定します。文字列は、カンマではなく空白で区切られた相関名のリストで、問合せまたは副問合せで参照されます。最初に表示されている表が、計画によって最初にスキャンされます(たとえば、ネステッド・ループ結合では一番外側になります)。相関名は、修飾された表名のショートカットまたは別名です。

必要な権限

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

構文

ttOptSetOrder('joinOrder')

パラメータ

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

パラメータ データ型 説明
joinOrder 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');

オプティマイザは、特定のアカウントで働いている従業員の数を評価する際に、DEPTSとACCTSの間で結合を実行することはできません。

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では、コマンドが準備される際、有効な結合順序が考慮され、指定した結合順序は無視されます。

注意

文字列の長さは1,024バイトに制限されています。文字列がこの長さを超えると、切り捨てられ、警告が発行されます。

副問合せで参照される相関名が結合順序に含まれていると、TimesTenでは、内部的に分離モードに切り替えられます。

コマンドが準備されている場合は、現在のオプティマイザ・フラグ、索引ヒントおよび結合順序はコマンドのコンパイル済形式の構造で保持され、システムによってそのコマンドが再準備されるときに使用されます。再準備された文の例については、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のTimesTen問合せオプティマイザに関する説明を参照してください。

このコールによって加えられた変更はただちに有効になり、現在のトランザクションでのODBC関数SQLPrepareまたはJDBCメソッドConnection.prepareCallへの後続のすべてのコールに影響します。後続のトランザクションに備えて、問合せオプティマイザの動作はデフォルトに戻ります。

結合順序を使用する場合、問合せによって参照される表の名前は、指定した名前と厳密に一致している必要があります(比較では大文字と小文字が区別されません)。完全な順序を指定する必要があります。部分的な順序を指定するメカニズムはありません。問合せに副問合せがある場合、結合順序は副問合せの中の相関名も参照する必要があります。つまり、結合順序は問合せの中のすべての相関名を参照する必要があります。TimesTenオプティマイザは、GROUP BYを使用して、特別な種類の結合問合せとして副問合せを内部的に実装します。結合順序を適用可能にするには、すべての相関名を参照する必要があります。矛盾がある場合は警告が発行され、指定した結合順序は完全に無視されます。

関連項目


ttOptEstimateStats
ttOptGetFlag
ttOptGetOrder
ttOptSetColIntvlStats
ttOptSetFlag
ttOptSetTblStats
ttOptUpdateStats
ttPLSQLMemoryStats

ttOptSetTblStats

説明

このプロシージャは、指定した表の統計を変更します。このプロシージャを使用すると、TimesTenが自動的に統計を計算するのではなく、アプリケーションで明示的に統計を設定できます。

必要な権限

このプロシージャには、所有者の場合は権限が必要ありませんが、所有者でない場合はALTER ANY TABLE権限が必要です。

構文

ttOptSetTblStats('tblName', numRows, invalidate)

パラメータ

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

パラメータ データ型 説明
tblName TT_CHAR (61) NOT NULL アプリケーション表の名前。表の所有者を含めることができます。

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

numRows TT_INTEGER NOT NULL 表の行数。
invalidate TT_INTEGER 0(いいえ)または1(はい)。invalidateが1の場合、他のユーザーが準備したコマンドを含む、影響を受ける表を参照するすべてのコマンドは、再実行時に自動的に再準備されます。invalidateが0の場合、統計は変更されたとはみなされず、既存のコマンドは再準備されません。

結果セット

ttOptSetTblStatsは結果を返しません。

CALL ttOptSetTblStats ( 'ACCTS', 10000, 0 );

注意

この機能は、データが挿入される前にコマンドを準備したり、表サイズが実行計画の選択に与える影響を調べる場合に役立ちます。コマンドは表にデータが存在する前から使用できるため、指定する値は実際の値とは関係のないものでもかまいません。このプロシージャによって、TBL_STATSシステム表の関連する行が変更されます。Oracle TimesTen In-Memory Databaseのシステム表および制限についてのマニュアルSYS.TBL_STATSに関する説明を参照してください。

関連項目


ttOptEstimateStats
ttOptGetFlag
ttOptGetOrder
ttOptSetColIntvlStats
ttOptSetFlag
ttOptSetOrder
ttOptUpdateStats
ttPLSQLMemoryStats

ttOptShowJoinOrder

説明

このプロシージャは、現在のトランザクションで最後に準備または実行されたSQL文(SELECTUPDATEDELETEおよびINSERT SELECT)の結合順序を返します。結合順序を収集するには、同じトランザクションで、まずttOptSetFlag('ShowJoinOrder', 1)を使用するか、またはttIsqlのShowJoinOrderコマンドをON(1)に設定します。これらのコマンドのいずれかを使用するときは、AUTOCOMMITをオフにしておいてください。結合順序は、表の名前によって表されます。

必要な権限

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

構文

ttOptShowJoinOrder()

パラメータ

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

結果セット

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

データ型 説明
tblName TT VARCHAR (4096) NOT NULL 表名(指定されている場合は、所有者名の修飾子および各表の相関名が含まれます)。表名は、カッコで囲まれて返されます。

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


>AUTOCOMMIT 0;
> CALL ttOptSetFlag ('ShowJoinOrder', 1);
>PREPARE SELECT * FROM t1;
>CALL ttOptShowJoinOrder();
>( T1 )

注意

このプロシージャは、ttOptSetFlag('ShowJoinOrder', 1)をコールするか、ttIsqlのShowJoinOrderコマンドをON(1)に設定してから使用する必要があります。

このプロシージャは、1つのトランザクション内で正しく動作します。複数のトランザクション間では正しく動作しません。

関連項目


ttOptEstimateStats
ttOptGetFlag
ttOptGetOrder
ttOptSetColIntvlStats
ttOptSetFlag
ttOptSetOrder
ttOptSetTblStats
ttOptUpdateStats
ttPLSQLMemoryStats

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の場合、他のユーザーが準備したコマンドを含む、影響を受ける表を参照するすべてのコマンドは、再実行時に自動的に再準備されます。invalidateが0の場合、統計は変更されたとはみなされず、既存のコマンドは再準備されません。

invalidateパラメータはオプションで、デフォルトは0です。

option TT_INTEGER 完全な時間隔の統計情報の収集をするかどうかを指定します。このオプションに有効な値は、次のとおりです。

Nullまたは0: 列に範囲索引が存在する場合に、完全な時間隔統計を収集します。範囲索引が存在しない場合は、単一の時間隔統計を収集します。

1: 完全な時間隔統計を収集しません。単一の時間隔統計のみが収集されます。

詳細は、「注意」を参照してください。


結果セット

ttOptUpdateStatsは結果を返しません。

CALL ttOptUpdateStats ( 'ACCTS', 1 );

ACCTS表を更新し、ACCTS表を参照するすべてのコマンドを次回の実行時に再準備します。

CALL ttOptUpdateStats('', 1);

現在のユーザーのすべての表を更新し、その表に対するコマンドを次回の実行時に再準備します。

CALL ttOptUpdateStats('ACCTS', 0, 1);

単一の時間隔統計を収集します。

注意

指定した表名が空の文字列である場合、統計は現在のユーザーのすべての表について更新されます。

完全な時間隔統計を収集する場合、表の列の総数は20以下の時間隔に分割され、各時間隔の配分が統計に記録されます。新しい統計には、次の情報が含まれます。

完全な時間隔統計を収集するには、データをソートする必要があります。

完全な時間隔統計を選択しない場合、全体の配分を単一の時間隔として処理することにより、統計が収集されます。

TimesTenでは、パフォーマンス上の理由から、統計の計算時に表ロックおよび行ロックは保持されません。ただし、統計の計算をそのように行った場合でも、パフォーマンスが低下する可能性があります。統計は、正確に計算するよりも推定した方が一般にパフォーマンスは向上します。統計の推定については、「ttOptEstimateStats」を参照してください。

関連項目


ttOptEstimateStats
ttOptGetColStats
ttOptSetColStats
ttOptSetColIntvlStats
ttOptSetTblStats
ttOptUpdateStats

ttOptUseIndex

説明

このプロシージャでは、アプリケーションで、TimesTen問合せオプティマイザによる実行計画の生成を変更できるようにします。一連の索引の使用を無効にしたり、問合せで使用する各相関関係のために一連の索引のみの使用を有効にすることができます。索引の使用を有効にしても、生成された計画がその索引を使用するとはかぎりません。オプティマイザは、推定されたコストに応じて、指定した索引を使用する計画より優れた計画が得られる場合、シリアライズ・スキャンまたはマテリアライズ・スキャンを使用して、関連する相関関係にアクセスすることを選択する場合があります。

このコールによって加えられた変更はただちに有効になり、アプリケーションがこれを消去するコールを明示的に発行するまで、現在のトランザクションでのODBC関数SQLPrepareおよびSQLExecDirectへの後続のすべてのコール、JDBCメソッドConnection.prepareCallおよびStatement.executeへの後続のすべてのコールに影響します。新しいトランザクションが開始されるたびに、設定は消去されます。

必要な権限

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

構文

ttOptUseIndex('IndexName, CorrelationName, 0 | 1 [;...]')

パラメータ

ttOptUseIndexには、次の構成要素を持つTT_VARCHAR(1024)型の単一の文字列パラメータindOptionがあります。

構成要素 説明
IndexName ユーザー定義索引の名前。一時的な範囲索引の場合は「_TMPTTREE」、一時的なハッシュ索引の場合は「_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をコールすると、前の索引ヒントが消去されます。

関連項目


ttOptEstimateStats
ttOptGetFlag
ttOptGetOrder
ttOptSetColIntvlStats
ttOptSetFlag
ttOptSetOrder
ttOptSetTblStats
ttOptUpdateStats
ttPLSQLMemoryStats

ttPLSQLMemoryStats

説明

このプロシージャは、PL/SQLライブラリ・キャッシュのパフォーマンスおよびアクティビティに関する結果統計を返します。

必要な権限

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

構文

ttPLSQLMemoryStats(paramName, paramValue )

パラメータ

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

パラメータ

ttPLSQLMemoryStatsは、次の列に結果を返します。

データ型 説明
paramName TT_VARCHAR(30) NOT NULL この行に返された結果統計の名前。
paramValue BINARY_FLOAT NOT NULL この行に返された結果統計の値。

次の統計が返されます。

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.

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();

関連項目


ttAdmin
ttRamPolicySet
『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);

関連項目


ttAdmin
ttRamPolicyGet
『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('receiver', 'hostname')

パラメータ

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

パラメータ データ型 説明
receiver TT_VARCHAR(200) 関係するサブスクライバ。すべてのサブスクライバの場合はNULL。パラメータを指定すると、情報を収集するレプリケーション・サブスクライバが指定されます。パラメータを指定しないと、現在のデータベースに定義されているレプリケーション・サブスクライバに関する情報が返されます。
hostname TT_VARCHAR(200) 実行中のデータ・ストアから更新を受信するように構成された、1つ以上のデータ・ストアのホスト名。NULLの場合、受信側のデータ・ストアはサブスクライバのみによって識別されます。receiverおよびhostnameの両方がNULLの場合、受信側のすべてのデータ・ストアが選択されます。

結果セット

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

データ型 説明
subscriber TT_VARCHAR(200) NOT NULL サブスクライバ名。
hostName TT_VARCHAR(200) NOT NULL ホスト名。
port TT_INTEGER NOT NULL 定義されたポート番号。
pState TT_CHAR(10) NOT NULL ピアの状態。結果列の値は次のとおりです。

start: このピアでは、レプリケーションは有効です。

pause: このピアでは、レプリケーションは一時停止中です。

stop: このピアのためのレプリケーションの更新は収集されていません

failed: しきい値(ログ・データ)を超えているため、サブスクライバへのレプリケーションは失敗したとみなされます。この状態は、システムによって設定されます。

logs TT_INTEGER NOT NULL このピアのために保持されているトランザクション・ログ・ファイルの数。
lastMsg TT_INTEGER 最後の対話以降の秒数またはNULL
replicationName TT_CHAR(30) NOT NULL レプリケーション・スキームの名前。
replicationOwner TT_CHAR(30) NOT NULL レプリケーション・スキームの所有者。

CALL ttReplicationStatus('System8');

注意

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_INTEGER NOT 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は、次の状況でのみ使用できます。

必要な権限

このプロシージャには、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」に設定することはできません。)


結果セット

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に関する説明

ttRepSubscriberSync

説明

このプロシージャは、指定したマスター・データベースからすべての更新を受信したかどうかを確認するためにサブスクライバ・データベースをチェックします。

この組込みプロシージャは、サブスクライバからのみ起動可能で、一度に1接続だけがこのプロシージャを起動できます。

プロシージャが戻る場合は、プロシージャがタイムアウトになったか、プロシージャの起動前にコミットされていたすべてのトランザクションが送信され、サブスクライバに適用されています。このプロシージャにはすべての引数の値を指定する必要があります。

必要な権限

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

構文

ttRepSubscriberSync('replicationName', 'replicationOwner', 'MASTERStoreName',
 'masterHostName', waitTime)

パラメータ

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

パラメータ データ型 説明
replicationName TT_CHAR(30) NOT NULL 処理対象のレプリケーション・スキーム名です。NULLは、すべてのレプリケーション・スキームを示します。
replicationOwner TT_CHAR(30) NOT NULL レプリケーション・スキームの所有者です。NULLは、すべてのレプリケーション・スキーム所有者を示します。
masterStoreName TT_VARCHAR(200) NOT NULL サブスクライバが同期する必要のあるマスター・データベースの名前。
masterHostName TT_VARCHAR(200) NOT NULL マスター・ホスト。NULLは、マスター・ピアのすべてのホストを示します。
waitTime TT_INTEGER NOT NULL 指定したマスターを待機する時間(秒)。-1は永久に待機することを表します。このパラメータは必須で、NULLは使用できません。

結果セット

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

データ型 説明
timeOut BINARY(1) 0x00: 指定されたwaitTime内で待機は成功しました。指定されたサブスクライバは、このプロシージャがコールされた時点の最新状態になっています。十分な時間が割り当てられていない場合、TimesTenは0x01を返します。

定義済レプリケーション・スキームREPOWNER.REPSCHEMEが1つある場合に、SERVER1上のマスターREP1に追いつくまでサブスクライバ・データベースを10分待機させるには、次のように実行します。

CALL ttRepSubscriberSync('REPSCHEME, 'REPOWNER, 'REP1', 'SERVER1', 600);

関連項目


ttRepDeactivate
ttRepTransmitSet
ttReplicationStatus
ttRepPolicySet
ttRepStart
ttRepStop
ttRepSubscriberStateSet
ttRepSubscriberWait
ttRepSyncGet
ttRepSyncSet
ttRepSyncSubscriberStatus
『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_INTEGER NOT 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) 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 ACTION: COMMITがタイムアウトすると、ブロックされていないアプリケーションが返され、トランザクションはCOMMIT開始時と同じ状態のままになります。アプリケーションはCOMMITのみを再発行する場合があります。これはデフォルトです。

2 -- COMMIT: COMMITがタイムアウトすると、トランザクションはローカルでコミットされます。このトランザクション上でこれ以上の処理を行うことはできず、レプリケートされたデータベースは分岐します。この属性は、接続されているかぎり、トランザクションをまたいで存続します。


コール元の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 ACTION: COMMITがタイムアウトすると、ブロックされていないアプリケーションが返され、トランザクションはCOMMIT開始時と同じ状態のままになります。アプリケーションはCOMMITのみを再発行する場合があります。これはデフォルトです。

2 -- COMMIT: COMMITがタイムアウトすると、トランザクションはローカルでコミットされます。このトランザクション上でこれ以上の処理を行うことはできず、レプリケートされたデータベースは分岐します。この属性は、接続されているかぎり、トランザクションをまたいで動作します。


結果セット

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('storeName', 'hostName')

パラメータ

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

パラメータ データ型 説明
subscriber TT_VARCHAR(200) NOT NULL 問合せを行うサブスクライバ・データベースの名前。
hostName TT_VARCHAR(200) 実行中のストアから更新を受信するように構成された、1つ以上のストアのホスト名。NULLの場合、受信側のストアは受信者のみによって識別されます。receiverおよびhostnameの両方が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_INTEGER NOT 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(token)

パラメータ

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 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またはALTER TABLE処理で各列にIDを割り当てます。ユーザーによって割り当てられた値を列IDに設定すると、データベース全体にわたり一意の列番号セットを設定したり、指定された表に対して固有の列番号方式を設定することができます。

必要な権限

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

構文

ttSetUserColumnID('tblName', 'colName', repID)

パラメータ

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

パラメータ データ型 説明
tblName TT_CHAR (61) NOT NULL 表名

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

colName TT_CHAR(30) NOT NULL 列名
repID TT_INTEGER NOT NULL 整数値の識別子

結果セット

ttSetUserColumnIDは結果を返しません。

CALL ttSetUserColumnID('APP.SESSION', 'SESSIONID', 15);

関連項目


ttSetUserTableID
『Oracle TimesTen In-Memory Database TimesTen to TimesTen開発者および管理者ガイド』

ttSetUserTableID

説明

このプロシージャでは、ユーザー表IDの値を明示的に設定します。各行が関連付けられている表は、2つのコードによって表現されます。アプリケーションが提供するユーザー表IDのコードと、システムが提供するシステム表IDのコードです。更新は、完全な行の形でトランザクション・ログ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 TimesTen to TimesTen開発者および管理者ガイド』

ttSize

説明

このプロシージャによって、表またはビューのサイズが推定されます。表の推定バイト数が単一のDOUBLE列を持つ単一行として返されます。表は、表名または完全修飾された表名のいずれかとして指定できます。nrowsパラメータがNULL以外の場合、現在の表の統計が指定した行数まで拡大したものと想定して表のサイズが推定されます。nrowsパラメータがNULLの場合、表のサイズは現在の行数を使用して推定されます。

現在の表のコンテンツをスキャンして、VARBINARYおよびVARCHAR列の平均サイズが判断されます。表が空の場合、VARBINARY列とVARCHAR列の平均サイズは、宣言されている最大サイズの半分になるように推定されます。ttSizeによって計算される推定値には、表、VARBINARY列とVARCHAR列、およびその表に定義された索引の記憶域が含まれます。

この組込みプロシージャをコールすると表がスキャンされます。NULL以外のfrac(0と1の間)を指定することによって、表のスキャンを回避できます。この値を使用して、可変長列の平均サイズを推定します。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以上の典型的な行を表にロードすることをお薦めします。


ttSQLCmdCacheInfo

説明

このプロシージャは、TimesTen SQLコマンド・キャッシュのすべてのコンパイルされたSQL文を返します。

必要な権限

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

構文

ttSQLCmdCacheInfo()

パラメータ

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

パラメータ データ型 説明
sqlCommandID 32-bitシステムの場合はTT_INTEGER

64-bitシステムの場合はTT_BIGINT

TimesTenコマンド・キャッシュでのSQLコマンドの一意の識別子。値が指定されない場合、TimesTenキャッシュの現在のすべてのコマンドに関する情報を表示します。

結果セット

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

パラメータ データ型 説明
sqlCommandID 32-bitシステムの場合はTT_INTEGER NOT NULL

64-bitシステムの場合はTT_BIGINT NOT NULL

TimesTenコマンド・キャッシュでのコマンドの一意の識別子。
privateCommandConnectionID TT_INTEGER プライベート接続の一意のID。プライベート接続でない場合、値はNULLです。
executions TT_BIGINT

NOT NULL

コマンド・キャッシュへの格納以降にこのコマンドを実行した回数を数えるためのカウンタ。
prepares TT_BIGINT

NOT NULL

コマンド・キャッシュでヒットするユーザー準備の数を数えるためのカウンタ。
reprepares TT_BIGINT

NOT NULL

このコマンドの再準備または無効化の数を数えるためのカウンタ。
freeable TT_TINYINT

NOT NULL

このコマンドがサブデーモンによってガベージ収集可能かどうかを示します。

1: 解放可能であることを示します。

0: 解放可能でないことを示します。

size TT_INTEGER

NOT NULL

コマンド・キャッシュでこのコマンドに割り当てられた領域の合計(バイト)。
owner TT_CHAR (31) NOT NULL このコマンドを作成したユーザーの識別子。
queryText TT_VARCHAR (409600) NOT NULL 現在のコマンドの完全なSQLテキスト。

現在の有効なすべてのコマンドについてコマンド情報を表示するには、次のコマンドを実行します。

Command> CALL ttSQLCmdCacheInfo;
< 528079360, 2048, 0, 1, 0, 1, 2168, TTUSER , select * from t7 where x7 is 
not null or exists (select 1 from t2,t3 where not 'tuf' like 'abc') >
< 527609108, 2048, 0, 1, 0, 1, 2960, TTUSER , select * from t1 where x1 = 
(select x2 from t2 where z2 in (1,3) and y1=y2) order by 1, 2, 3 >
< 528054656, 2048, 0, 1, 0, 1, 1216, TTUSER , create table t2(x2 int,y2 int, 
z2 int) >
< 528066648, 2048, 0, 1, 0, 1, 1176, TTUSER , insert into t2 select * from t1 >
< 528013192, 2048, 0, 1, 0, 1, 1848, TTUSER , select * from t1 where exists
 (select * from t2 where x1=x2) or y1=1 >
< 527582620, 2048, 0, 1, 0, 1, 1240, TTUSER , insert into t2 select * from t1 >
< 527614292, 2048, 0, 1, 0, 1, 2248, TTUSER , select * from t1 where exists
 (select x2 from t2 where x1=x2) order by 1, 2, 3 >
< 528061248, 2048, 0, 1, 0, 1, 696, TTUSER , create index i1 on t3(y3) >
< 528070368, 2048, 0, 1, 0, 1, 824, TTUSER , call ttOptSetOrder('t3 t4 t2 t1') >
< 528018856, 2048, 0, 1, 0, 1, 984, TTUSER , insert into t2 select * from t1 >
< 527606460, 2048, 0, 1, 0, 1, 2624, TTUSER , select * from t1 where x1 = 
(select x2 from t2 where y1=y2) order by 1, 2, 3 >
< 528123000, 2048, 0, 1, 0, 1, 3616, TTUSER , select * from t1 where x1 = 1 or 
x1 = (select x2 from t2,t3 where z2=t3.x3) >
< 528074624, 2048, 0, 1, 0, 1, 856, TTUSER , call ttOptSetOrder('t4 t2 t3 t1') >
< 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 >
< 527953876, 2048, 0, 1, 0, 1, 3000, TTUSER , select * from t1 where x1 = 
(select x2 from t2) order by 1, 2, 3 >
< 527603900, 2048, 0, 1, 0, 1, 2440, TTUSER , select * from t1 where x1 in 
(select x2 from t2 where y1=y2) order by 1, 2, 3 >
< 528093308, 2048, 0, 1, 0, 1, 3608, TTUSER , select * from t1 where x1 = 1 or 
x1 = (select x2 from t2,t3 where z2=t3.x3 and t3.z3=1) >
< 528060608, 2048, 0, 1, 0, 1, 696, TTUSER , create index i1 on t2 (y2) > 
…..

SqlCmdId 527973892のコマンド情報を表示するには、次のコマンドを実行します。

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.

ttSQLCmdCacheInfoGet

説明

このプロシージャは、コマンド統計の更新情報を返します。このプロシージャはCREATE INDEXDROP INDEXなどの特定の操作、およびオブジェクトを変更するDDL操作に有効です。

必要な権限

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

構文

ttSQLCmdCacheInfoGet()

パラメータ

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

結果セット

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

パラメータ データ型 説明
cmdCount TT_INTEGER NOT NULL キャッシュ内のコマンドの数。
freeableCount TT_INTEGER NOT NULL その時点でサブデーモンによってガベージ収集される解放可能なコマンドの数。この数は、コマンド情報を調べることによって取得されます。
size TT_BIGINT NOT NULL キャッシュされたすべてのコマンドを格納するために割り当てられた現在の領域の合計。

すべてのTimesTenインスタンス・ユーザーのリストを生成するには、次のように実行します。

Command> CALL ttSQLCmdCacheInfoGet;
< 5,4,12316 >
1 row found

ttSQLCmdQueryPlan

説明

このプロシージャは、TimesTen SQLコマンド・キャッシュのSQL文のすべての詳細なランタイム問合せ計画を返します。引数を指定しないと、このプロシージャはTimesTenキャッシュのすべての有効なコマンドの問合せ計画を表示します。コマンドが無効である場合には、エラーが返され、問合せおよび構文の問題を指摘するテキストが表示されます。

必要な権限

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

構文

ttSQLCmdQueryPlan(commandID)

パラメータ

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

パラメータ データ型 説明
sqlCommandID 32-bitシステムの場合はTT_INTEGER

64-bitシステムの場合はTT_BIGINT

TimesTenコマンド・キャッシュでのSQLコマンドの一意の識別子。値が指定されない場合、TimesTenキャッシュのすべての有効なコマンドの問合せ計画を表示します。

結果セット

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

パラメータ データ型 説明
sqlCommandID 32-bitシステムの場合はTT_INTEGER NOT NULL

64-bitシステムの場合はTT_BIGINT NOT NULL

TimesTenコマンド・キャッシュでのコマンドの一意の識別子。
queryText TT_VARCHAR(1024) 現在のコマンドのSQLテキストの最初の1024文字。
step TT_INTEGER このランタイム問合せ計画の現在の処理のステップ数。
level TT_INTEGER このランタイム問合せ計画の現在の処理のレベル数。
operation TT_CHAR(31) このランタイム問合せ計画の現在のステップの処理名。
tblName TT_CHAR(31) このステップに使用されている表の名前(存在する場合)。

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

tblOwnerName TT_CHAR(31) このステップに使用されている表の所有者の名前(存在する場合)。
ixName 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, RowLkTtreeScan , T2 , TTUSER , I2 , , >
< 528078576, <NULL>, 2, 7, RowLkTtreeScan , T5 , TTUSER , I2 , , >
< 528078576, <NULL>, 3, 6, NestedLoop , , , , , >
< 528078576, <NULL>, 4, 6, RowLkTtreeScan , 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, RowLkTtreeScan , 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, RowLkTtreeScan  , T2 
 , TTUSER  , I2 , , NOT(LIKE( tuf ,abc ,NULL )) >
< 528079360, <NULL>, 2, 3, RowLkTtreeScan  , 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 */

ttVersion

説明

このプロシージャは、現在のTimesTenインスタンスのリリース番号を構成する5桁の数字を返します。

必要な権限

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

構文

ttVersion()

パラメータ

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

結果セット

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

データ型 説明
major TT_INTEGER NOT NULL メジャー・リリース番号。インフラストラクチャおよび機能に重要な変更が加えられたリリースであることを示します。
minor TT_INTEGER NOT NULL マイナー・リリース番号。新たな機能変更が加えられたものの、インフラストラクチャには変更がないバージョンであることを示します。
patch TT_INTEGER NOT NULL パッチ・リリース番号。前回のメンテナンス・リリース以降のすべてのバグ修正を含むリリースであることを示します。
relDot4 TT_INTEGER NOT NULL マイナーなバグ修正を施したリリースであることを示します。
relDot5 TT_INTEGER NOT NULL リリース番号のこの桁は、将来の使用に備え予約されています。

CALL ttVersion( );
<11, 2, 1 , 1, 0>
1 row found.

この場合、TimesTenリリース番号は11.2.1.1.0です。


ttWarnOnLowMemory

説明

このプロシージャは、現在の接続で実行された処理で割り当てられたメモリーが少ない場合に警告が返されるように、アプリケーションで指定できます。値を設定した場合、メモリーが割り当てられ、総メモリーが接続のしきい値を超えて使用されている処理に対して、警告が返されます。しきい値は、データベース属性PermWarnThresholdおよびTempWarnThresholdで指定されます。詳細は、「接続属性」を参照してください。

必要な権限

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

構文

ttWarnOnLowMemory(permanent, temporary)

パラメータ

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

パラメータ データ型 説明
permanent TT_INTEGER NOT NULL 永続データ・パーティションに対する警告を有効にする場合は1、無効にする場合は0です。
temporary TT_INTEGER NOT NULL 一時データ・パーティションに対する警告を有効にする場合は1、無効にする場合は0です。

結果セット

ttWarnOnLowMemoryは結果を返しません。

CALL ttWarnOnLowMemory(1, 0);

永続データ・パーティションに対してのみ、メモリーが少ない場合の警告を有効にします。

注意

デフォルトでは、いずれのパーティションの場合も、メモリーが少ない場合の警告は発行されません。これらの警告を受け取る必要のあるアプリケーションでは、このプロシージャをコールする必要があります。このプロシージャは、接続固有であるため、警告を受け取る必要のある接続ごとに発行する必要があります。また、現在の設定は、後続の接続では適用されません。


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ブックマークに関する説明を参照してください。

関連項目


ttXlaSubscribe
ttXlaUnsubscribe
ttXlaBookmarkDelete

ttXlaBookmarkDelete

説明

このプロシージャは、指定されたブックマークを削除します。使用中のブックマークは削除できません。

必要な権限

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

構文

ttXlaBookmarkDelete('bookmark')

パラメータ

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

パラメータ データ型 説明
bookmark TT_CHAR (31) NOT NULL 削除するブックマークの名前。

結果セット

ttXlaBookmarkDeleteは結果を返しません。

Command > call ttXlaBookmarkDelete('mybookmark');

注意

XLAブックマークによってサブスクライブされている表を削除する前に、すべてのXLAブックマークを削除するか、XLA追跡によるサブスクライブを解除する必要があります。

関連項目


ttXlaBookmarkCreate
ttXlaSubscribe
ttXlaUnsubscribe

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);

関連項目


ttXlaBookmarkCreate
ttXlaBookmarkDelete
ttXlaUnsubscribe

ttXlaUnsubscribe

説明

このプロシージャは、表の永続XLA追跡を停止します。指定するブックマークが使用中の場合、このプロシージャは実行できません。

必要な権限

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

構文

ttXlaUnsubscribe('tblName', 'bookmark')

パラメータ

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

パラメータ データ型 説明
tblName TT_CHAR (61) NOT NULL XLA追跡を停止する表の名前。

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

bookmark TT_CHAR (31) NOT NULL アプリケーションがこの表を追跡するために使用するブックマークの名前。

結果セット

ttXlaSubscribeは結果を返しません。

Command > call ttXlaSubscribe ('SALLY.ACCTS', mybookmark);

注意

XLAブックマークによってサブスクライブされている表を削除する前に、すべてのXLAブックマークを削除するか、XLA追跡によるサブスクライブを解除する必要があります。

関連項目


ttXlaBookmarkCreate
ttXlaBookmarkDelete
ttXlaSubscribe