TimesTen組込みプロシージャによって、標準のODBCおよびJDBC機能が拡張されます。これらのプロシージャは、ODBCまたはJDBCのプロシージャ・コール・インタフェースを使用してコールできます。プロシージャは、次の例に示すとおり、SQL文と同様に実行されます。
次のODBCコールは、オプティマイザに対し、コマンドを準備するときに一時ハッシュ索引を作成しないように指示します。
SQLExecDirect (hstmt, (SQLCHAR*)
"{CALL ttOptSetFlag ('TmpHash', 0)}", SQL_NTS);
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である場合を除き、この例で示すように一重引用符で囲む必要があります。 |
説明
このプロシージャは、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説明
このプロシージャは、エージング・サイクルの値にかかわらずエージング・プロセスを開始します。進行中のエージング・プロセスが存在しないかぎり、プロシージャがコールされた直後にエージング・プロセスが開始されます。その場合、組込みプロシージャをコールしたときに進行中だったエージング・プロセスが完了すると、新しいエージング・プロセスが開始されます。
このプロシージャをコールすると、エージングは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) |
エージング・プロセスを開始する表の名前です。
表名の指定にシノニムは使用できません。 |
結果セット
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説明
このプロシージャは、アプリケーション固有のデータをXLAリーダーに渡すために、次の更新レコード(UPDATEまたはコミット)に対するアプリケーション定義のコンテキストを設定します。
このプロシージャには、権限は必要ありません。
構文
ttApplicationContext (cmd)
パラメータ
ttApplicationContextには、次のパラメータがあります。
| パラメータ | データ型 | 説明 |
|---|---|---|
cmd |
VARBINARY(16384) NOT NULL |
渡されるコンテキスト情報。 |
結果セット
ttApplicationContextは結果を返しません。
例
CALL ttApplicationContext (0x123);
関連項目
『Oracle TimesTen In-Memory Database C開発者ガイド』のXLAリファレンスに関する説明
説明
このプロシージャは、データベースの現在のバックアップまたは最後のバックアップに関する情報が含まれる単一の行を返します。バックアップが進行中の場合は、この情報は現在のバックアップのものになります。バックアップが行われていない場合は、この情報は最後に実行されたバックアップのものになります。
最後に初期接続を行った後にデータベースをバックアップしていない場合は、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で、startTimeがNULL以外の場合、バックアップは進行中です。 |
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は次の結果セットを返します。
| 列 | データ型 | 説明 |
|---|---|---|
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.
説明
このプロシージャは、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 ();
説明
このプロシージャは、指定されたキャッシュ・グループと同じ自動リフレッシュ間隔を共有することで関連付けられている一連のキャッシュ・グループに対して、即時自動リフレッシュを開始します。通常は、この関連付けられた一連のキャッシュ・グループは、自動で同時にリフレッシュされます。自動リフレッシュ・プロセスへの影響は、指定されたキャッシュ・グループと同じリフレッシュ間隔を持つに新しいキャッシュ・グループを追加する場合と同じです。このプロシージャは、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でのみ使用可能です。
説明
このプロシージャは、指定されたキャッシュ・グループで実行された過去10回の自動リフレッシュ・トランザクションに関する情報を返します。この情報は、AUTOREFRESHの状態がONまたはPAUSEDで、キャッシュ・エージェントが実行中である場合のみ返されます。
この組込みプロシージャが返す情報は、次の場合に常にリセットされます。
キャッシュ・エージェントが再起動された場合
状態がOFFに設定されてから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) | 現在の自動リフレッシュの状態を説明する文字列。「注意」を参照してください。このフィールドでサポートされている値は次のとおりです。
|
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でのみ使用可能です。
説明
このプロシージャを使用すると、監視を有効にして、AWTキャッシュ・グループのワークフローの各コンポーネントに費やされた時間を確認できます。監視結果を表示するには、-awtmoninfoおよび-showstatusオプションを指定してttRepAdminユーティリティを使用します。
レプリケーション・エージェントが起動されると、監視は無効になります。
監視状態をOFFに設定すると、監視ツールの内部カウンタがリセットされます。
必要な権限
このプロシージャには、CACHE_MANAGER権限が必要です。
構文
ttCacheAWTMonitorConfig ('state', samplingRate)
パラメータ
ttCacheAWTMonitorConfigには、次のパラメータがあります。
| パラメータ | データ型 | 説明 |
|---|---|---|
state |
TT_CHAR(10) |
AWT監視を有効および無効にします。値は、ONまたはOFFです。デフォルトはOFFです。 |
samplingRate |
TT_INTEGER |
AWTワークフローがサンプリングされる頻度を指定する正の整数。samplingFactorを1に設定すると、すべてのAWT処理が監視されます。値が大きいほど、サンプリングの頻度は低くなります。正確性とパフォーマンスの観点から推奨される値は16です。stateがONに設定されている場合、samplingFactorのデフォルトは16です。stateがOFFに設定されている場合、samplingFactorのデフォルトは0です。 |
結果セット
パラメータを何も指定しない場合、ttCacheAWTMonitorConfigは次の結果を返します。レプリケーション・エージェントが実行中でない場合、またはAWTキャッシュ・グループが作成されていない場合は、エラーを返します。
| 列 | データ型 | 説明 |
|---|---|---|
State |
TTVARCHAR (10) NOT NULL |
AWT監視の現在の状態。値は、ONまたはOFFです。 |
AWTSamplingFactor |
TT_INTEGER NOT NULL |
AWTワークフローがサンプリングされる頻度を指定する正の整数。 |
例
例2-2
監視を有効にし、サンプリング係数を16に設定します。
Command> CALL ttCacheAwtMonitorConfig ('ON', 16);
< ON, 16 >
1 row found.
関連項目
説明
このプロシージャは、AWTキャッシュ・グループを含むデータベースの、現在のトランザクション・ログ・ファイルのしきい値を返します。
必要な権限
このプロシージャには、権限は必要ありません。
構文
ttCacheAWTThresholdGet()
パラメータ
ttCacheAWTThresholdGetにパラメータはありません。
結果セット
ttCacheAWTThresholdGetは次の結果を返します。
| 列 | データ型 | 説明 |
|---|---|---|
threshold |
TT_INTEGER NOT NULL |
データベースに関連付けられたすべてのAWTキャッシュ・グループのトランザクション・ログ・ファイルの数。0(ゼロ)の場合、設定された制限はありません。 |
例
CALL ttCacheAWTThresholdGet();
注意
このプロシージャは、IMDB Cacheでのみ使用可能です。
関連項目
説明
このプロシージャは、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で使用できます。
しきい値を超えたときのリカバリは、ユーザーが行います。
関連項目
説明
同じOracleインスタンスのデータをキャッシュするすべてのキャッシュ・グループに対し、このプロシージャは、Oracleサーバーが使用不可になっており、キャッシュ・エージェントまたはデータベースが停止しているとみなされる場合の、タイムアウト値とリカバリ・ポリシーを指定します。
データベースとキャッシュ・グループの自動リフレッシュの状態は、プロシージャttCacheDbCgStatusで確認できます。
このプロシージャには、CACHE_MANAGER権限が必要です。
構文
ttCacheConfig(Param, tblOwner, tblName, Value)
パラメータ
ttCacheConfigには、次のパラメータがあります。
| パラメータ | データ型 | 説明 |
|---|---|---|
Param |
VARCHAR2(50) NOT NULL |
Valueで設定するパラメータを指定します。
|
tblOwner |
VARCHAR2 (30) | キャッシュされたOracle表の所有者を指定します。
このパラメータは、 表名の指定にシノニムは使用できません。 |
tblName |
VARCHAR2 (30) |
キャッシュされたOracle表の名前を指定します。
このパラメータは、 表名の指定にシノニムは使用できません。 |
Value |
VARCHAR2(200) |
Paramに設定する値を指定します。
|
結果セット
パラメータ値の設定に使用される場合、ttCacheConfigは結果を返しません。パラメータ設定を返す目的で使用される場合は、次の結果を返します。
| 列 | データ型 | 値 |
|---|---|---|
Param |
VARCHAR2(50) |
パラメータ名は、次のいずれかです。
|
tblOwner |
VARCHAR2 (30) |
キャッシュされたOracle表の所有者。 |
tblName |
VARCHAR2 (30) |
キャッシュされたOracle表の名前。
表名の指定にシノニムは使用できません。 |
Value |
VARCHAR2(200) |
Paramの値セットです。
|
例
キャッシュ・エージェントのタイムアウトを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.customerのTblSpaceFullRecoveryについて現在の設定を確認するには、次のように入力します。
CALL ttCacheConfig('TblSpaceFullRecovery','terry','customer');
< TblSpaceFullRecovery, TERRY, CUSTOMER, none >
1 row found.
キャッシュ管理ユーザーの表領域が85%使用されているときに、キャッシュされたOracle表に対する更新処理が発生した場合に警告を受け取るようにするには、次のように入力します。
CALL ttCacheConfig('TblSpaceThreshold',,,'85');
注意
このプロシージャは、IMDB Cacheでのみ使用可能です。
関連項目
ttCacheDbCgStatusttCachePolicyGetttCachePolicySetttCacheStartttCacheStopttCacheUidGetttCacheUidPwdSetttAdmin説明
このプロシージャは、データベースおよび指定されたキャッシュ・グループの自動リフレッシュの状態を返します。パラメータに値を指定しない場合、プロシージャはデータベースの自動リフレッシュの状態を返します。
このプロシージャには、権限は必要ありません。
構文
ttCacheDbCgStatus([cgowner, cgName])
パラメータ
ttCacheDbCgStatusには、次のオプションのパラメータがあります。
| パラメータ | データ型 | 説明 |
|---|---|---|
cgOwner |
VARCHAR2 (30) |
キャッシュ・グループ所有者のユーザー名を指定します。 |
cgName |
VARCHAR2 (30) |
キャッシュ・グループ名を指定します。 |
結果セット
ttCacheDbCgStatusは次の結果を返します。
| 列 | データ型 | 値 |
|---|---|---|
dbStatus |
VARCHAR2(20) |
データベース内のすべてのキャッシュ・グループの、自動リフレッシュに関する状態を指定します。次のいずれかの状態になります。
|
cgStatus |
VARCHAR2(20) |
指定されたキャッシュ・グループの自動リフレッシュの状態を指定します。次のいずれかの状態になります。
|
例
次の例は、データベースの自動リフレッシュの状態がaliveであることを示しています。キャッシュ・グループの自動リフレッシュの状態はokです。
CALL ttCacheDbCgStatus ('terry', 'cgemployees');
< alive, ok >
1 row found.
データベースの自動リフレッシュの状態を確認するには、パラメータを指定せずにttCacheDbCgStatusをコールします。
CALL ttCacheDbCgStatus; < dead, <NULL> > 1 row found.
注意
このプロシージャは、IMDB Cacheでのみ使用可能です。
関連項目
ttCacheConfigttCachePolicyGetttCachePolicySetttCacheStartttCacheStopttCacheUidGetttCacheUidPwdSetttAdminこのプロシージャは、キャッシュされた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文を追跡するかどうかを指定します。有効な値は、次のとおりです。
|
結果セット
ttCacheDDLTrackingConfigは結果を返しません。
例
Command> CALL ttCacheDDLTrackingConfig('enable');
説明
このプロシージャは、接続されたデータベースに対してTimesTenキャッシュ・エージェントを実行するタイミングを決定する現在のポリシーを返します。ポリシーは、alwaysまたはmanualのいずれかです。
このプロシージャには、権限は必要ありません。
構文
ttCachePolicyGet()
パラメータ
ttCachePolicyGetにパラメータはありません。
結果セット
ttCachePolicyGetは次の結果を返します。
| 列 | データ型 | 値 |
|---|---|---|
cachePolicy |
TT_VARCHAR (10) |
データベースに対してTimesTenキャッシュ・エージェントを実行するタイミングを決定するために使用するポリシーを指定します。有効な値は、次のとおりです。
|
例
TimesTenキャッシュ・エージェントの現在のポリシーを取得するには、次のように実行します。
CALL ttCachePolicyGet ();
注意
このプロシージャは、IMDB Cacheでのみ使用可能です。
関連項目
ttCacheConfigttCacheDbCgStatusttCachePolicySetttCacheStartttCacheStopttCacheUidGetttCacheUidPwdSetttAdmin説明
このプロシージャは、接続されたデータベースに対してTimesTenキャッシュ・エージェントを実行するタイミングを決定するポリシーを定義します。ポリシーは、alwaysまたはmanualのいずれかです。
このプロシージャには、CACHE_MANAGER権限が必要です。
構文
ttCachePolicySet('cachePolicy')
パラメータ
ttCachePolicySetには、次のパラメータがあります。
| パラメータ | データ型 | 説明 |
|---|---|---|
cachePolicy |
TT_VARCHAR (10) NOT NULL |
データベースに対してTimesTenキャッシュ・エージェントを実行するタイミングを決定するために使用するポリシーを指定します。有効な値は、次のとおりです。
|
結果セット
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に設定すると、キャッシュ・エージェントが停止している場合は自動的に起動されます。
関連項目
ttCacheConfigttCacheDbCgStatusttCachePolicyGetttCacheStartttCacheStopttCacheUidGetttCacheUidPwdSetttAdmin説明
このプロシージャを使用すると、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などのその他のキャッシュ・グループ処理と同じトランザクションで使用できる唯一の組込みプロシージャです。
説明
このプロシージャは、次のキャッシュ・グループのOracleオブジェクトをインストールまたは削除するOracle SQL文を生成します。
読取り専用キャッシュ・グループ
増分自動リフレッシュが指定されたユーザー管理キャッシュ・グループ
非同期のWRITETHROUGH(AWT)キャッシュ・グループ
このプロシージャは、キャッシュ・グループを作成しているユーザーに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を返します。
|
結果セット
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を生成できます。
説明
このプロシージャは、接続しているデータベースに対して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)を指定する接続を保持することができません。
関連項目
ttCacheConfigttCacheDbCgStatusttCachePolicyGetttCachePolicySetttCacheStopttCacheUidPwdSetttCacheUidGetttAdmin説明
このプロシージャは、接続しているデータベースに対してTimesTenキャッシュ・エージェントを停止します。
このプロシージャには、CACHE_MANAGER権限が必要です。
構文
ttCacheStop(timeout)
パラメータ
ttCacheStopには、次のパラメータがあります。
| パラメータ | データ型 | 説明 |
|---|---|---|
timeout |
TT_INTEGER |
timeout秒数内にキャッシュ・エージェントが停止しない場合は、TimesTenデーモンによって強制終了されることを指定します。0を設定すると、デーモンはキャッシュ・エージェントを無期限待機します。デフォルト値は100秒です。 |
結果セット
ttCacheStopは結果を返しません。
例
TimesTenキャッシュ・エージェントを停止するには、次のように実行します。
CALL ttCacheStop();
注意
このプロシージャは、IMDB Cacheでのみ使用可能です。
キャッシュ・グループを削除または変更した直後にキャッシュ・エージェントを停止しないでください。かわりに、少なくとも2分間待機します。待機しないと、キャッシュ・エージェントは、AUTOREFRESH機能で使用されたOracleオブジェクトをクリーンアップすることができません。
このプロシージャを使用する場合、コールを実行するアプリケーションを含めたすべてのアプリケーションは、データベース・レベルのロック(LockLevel=1)を指定する接続を保持することができません。
関連項目
ttCachePolicySetttCacheStartttCacheUidPwdSetttCacheUidGetttAdmin説明
このプロシージャは、データベースのキャッシュ管理ユーザーIDを返します。キャッシュ管理ユーザーIDおよびパスワードがデータベースに設定されていない場合、ttCacheUidGetはNULLを返します。
このプロシージャには、CACHE_MANAGER権限が必要です。
構文
ttCacheUidGet()
パラメータ
ttCacheUidGetにパラメータはありません。
結果セット
ttCacheUidGetは次の結果を返します。
| 列 | データ型 | 説明 |
|---|---|---|
UID |
TT_VARCHAR (30) |
AUTOREFRESHおよびASYNCHRONOUS WRITETHROUGHキャッシュ・グループで使用される、現在のキャッシュ管理ユーザーID。 |
例
CALL ttCacheUidGet();
注意
このプロシージャは、IMDB Cacheでのみ使用可能です。
関連項目
ttCacheUidPwdSetttAdmin説明
キャッシュ管理ユーザー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をリセットすることができません。
関連項目
ttCacheUidGetttAdmin説明
このプロシージャは、非ブロッキング・チェックポイント処理を実行します。ブロッキング・チェックポイントについては、「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オペレーション・ガイド』のトランザクション管理およびリカバリに関する説明を参照してください。
関連項目
ttCkptBlockingttCkptConfigttCkptHistory説明
このプロシージャは、ブロッキング・チェックポイント処理を実行します。チェックポイント処理は、データベースの現在の状態をディスクに記録し、トランザクション・ログ・ファイルを削除するために行われます。このチェックポイントでは、データベースへの排他アクセスを必要とするため、チェックポイントの実行中は他のアプリケーションがデータベースからブロックされる可能性があります。
このプロシージャが呼び出されると、現行のトランザクションがコミットまたはロールバックされたときに、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オペレーション・ガイド』のトランザクション管理およびリカバリに関する説明を参照してください。
関連項目
ttCkptttCkptConfigttCkptHistory説明
このプロシージャは、バックグラウンド・チェックポイント処理を動的に再構成したり、構成パラメータの現在アクティブな設定を返します。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を設定します。
関連項目
CkptFrequencyCkptLogVolumettCkptttCkptHistory説明
このプロシージャは、最後に実行された8つのチェックポイントに関する情報を返します(チェックポイント、エージェントの種類は問いません)。
必要な権限
このプロシージャには、権限は必要ありません。
構文
ttCkptHistory( )
パラメータ
ttCkptHistoryにパラメータはありません。
結果セット
ttCkptHistoryは次の結果セットを返します。
| 列 | データ型 | 説明 |
|---|---|---|
startTime |
TT_TIMESTAMP NOT NULL |
チェックポイントが開始された時間。 |
endTime |
TT_TIMESTAMP |
チェックポイントが完了した時間。 |
type |
TT_CHAR (16) NOT NULL |
実行されたチェックポイントのタイプ。次のいずれかの値です。
Static: データベースの作成時および最後の切断時に自動的に実行されるチェックポイント。 Blocking: トランザクション一貫性チェックポイント。 Fuzzy: 非ブロッキング・チェックポイント。可能な場合、バックグラウンド・チェックポイント処理はこのタイプのチェックポイントを実行します。 None: チェックポイント・ファイルのない |
ステータス |
TT_CHAR (16) NOT NULL |
チェックポイント処理の結果のステータス。次のいずれかの値です。
In Progress: チェックポイントは現在処理中です。最新の結果行のみがこのステータスになります。 Completed: チェックポイントは正常に完了しました。 Failed: チェックポイントは失敗しました。最新の結果行のみがこのステータスになります。この場合、error列に、失敗の理由が示されます。 |
initiator |
TT_CHAR (16) NOT NULL |
チェックポイント・リクエストのソース。次のいずれかの値です。
User: ユーザーレベルのアプリケーション。このようなアプリケーションには、 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.
注意
結果は、開始時間が新しいものから順に表示されます。
失敗した行は、次のチェックポイントによって上書きされます。
関連項目
ttCkptttCkptBlocking説明
このプロシージャは、データベースの永続データ・パーティションと一時データ・パーティションの両方を圧縮します。
ttCompactは、空き領域の隣接しているブロックをマージしますが、割り当てられているデータ項目の移動は行いません。したがって、割当済のメモリーのブロックで囲まれている、未割当ての小さなブロックによって発生する断片化は、ttCompactを使用しても排除されません。
このプロシージャは、下位互換用にサポートされています。新しいアプリケーションではコールしません。
このプロシージャには、ADMIN権限が必要です。
構文
ttCompact()
パラメータ
ttCompactにパラメータはありません。
結果セット
ttCompactは結果を返しません。
例
CALL ttCompact;
注意
データを圧縮しても、結果のアドレスは変更されません。
関連項目
説明
このプロシージャは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);
注意
データを圧縮しても、結果のアドレスは変更されません。
関連項目
説明
このプロシージャは、現在のデータベース接続のほとんどの属性値を返します。
このプロシージャには、権限は必要ありません。
構文
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 > . . .
注意
クライアント・ドライバ属性は、このプロシージャで返されません。
関連項目
説明
このプロシージャは、現在の接続のコンテキスト値をBINARY(8)値として返します。コンテキストを使用して、ttStatusユーティリティおよびttDataStoreStatus組込みプロシージャによって提示される接続リストから、データベースに一意の接続を関連付けることができます。
このプロシージャには、権限は必要ありません。
構文
ttContext()
パラメータ
ttContextにパラメータはありません。
結果セット
ttContextは次の結果セットを返します。
| 列 | データ型 | 説明 |
|---|---|---|
CONTEXT |
BINARY(8) |
現在の接続のコンテキスト値。 |
例
CALL ttContext;
注意
コンテキスト値の番号は1つのプロセス内でのみ一意です。データベース全体では一意ではありません。したがって、異なるプロセスで同じコンテキスト値が使用されている可能性があります。
関連項目
ttDataStoreStatusttStatus説明
このプロシージャは、データベースに接続されたプロセスのリストを返します。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');
関連項目
ttContextttStatus説明
このプロシージャは、現在のトランザクションをコミット時に永続的にすることを指定します。このプロシージャは、DurableCommitsが無効であり、ディスクへのロギングが有効の状態で、アプリケーションがデータベースに接続されている場合にかぎり有効です。(「Logging」を参照)
また、ttDurableCommitを呼び出すことによって、現在のトランザクションおよび以前にコミットされた非永続トランザクションもすべて永続的になります。ttDurableCommitをコールした後にコミットされたトランザクションに対しては効果がありません。ttDurableCommit自体はトランザクションをコミットしません。たとえば、アプリケーションをコミットするには、SQLTransactなどを呼び出す必要があります。
このプロシージャには、権限は必要ありません。
構文
ttDurableCommit()
パラメータ
ttDurableCommitにパラメータはありません。
結果セット
ttDurableCommitは結果を返しません。
例
CALL ttDurableCommit;
注意
コントローラやドライバによっては、コントローラ内のキャッシュ・メモリーにデータを書き込むだけであったり、書込みが終了したことがオペレーティング・システムに通知された後のいずれかの時点でディスクに書込みを行う場合があります。このような場合に電力障害が発生すると、永続的にコミットされたものと思っていた情報の一部が失われている可能性もあります。こうしたデータの損失を避けるには、処理の完了を通知する前に必ず記録メディアに書き込むようにディスクを構成してください。または、無停電電源装置を使用することもできます。
説明
このプロシージャは、既存のローカル・キャッシュ・グリッドにグリッド・メンバーをアタッチします。スタンドアロンの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);
アクティブおよびスタンバイのマスター・データ・ストアをアタッチするコールの内容は、ノード番号を除いて同じです。
関連項目
ttGridCheckOwnerttGridCreatettGridDestroyttGridDetachttGridDetachListttGridDetachAllttGridGlobalCGResumettGridGlobalCGSuspendttGridInfottGridNameSetttGridNodeStatus説明
このプロシージャは、グローバル・キャッシュ・グループの行数が、所有者表の行数と同じかどうかをチェックします。このプロシージャは、キャッシュ・グリッドが実行されていない場合にのみコールしてください。
このプロシージャには、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();
関連項目
ttGridAttachttGridCreatettGridDestroyttGridDetachttGridDetachAllttGridDetachListttGridGlobalCGResumettGridGlobalCGSuspendttGridInfottGridNameSetttGridNodeStatus説明
このプロシージャは、キャッシュ・グリッドを作成します。この組込みプロシージャは、一度だけ実行する必要があります。この組込みプロシージャは、スタンドアロンのデータベース、あるいはアクティブ・スタンバイ・ペアのアクティブ・マスター・データベースまたはスタンバイ・マスター・データベースから実行できます。
このプロシージャには、CACHE_MANAGER権限が必要です。
構文
ttGridCreate('gridName')
パラメータ
ttGridCreateには、次のパラメータがあります。
| パラメータ | データ型 | 説明 |
|---|---|---|
gridName |
TT_VARCHAR(30) NOT NULL |
グリッドの名前を指定します。 |
結果セット
ttGridCreateは結果を返しません。
例
mygridという名前のグリッドを作成するには、次のように実行します。
CALL ttGridCreate ('mygrid');
関連項目
ttGridAttachttGridCheckOwnerttGridDestroyttGridDetachttGridDetachAllttGridDetachListttGridGlobalCGResumettGridGlobalCGSuspendttGridInfottGridNameSetttGridNodeStatus説明
このプロシージャは、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);
関連項目
ttGridAttachttGridCheckOwnerttGridCreatettGridDetachttGridDetachAllttGridDetachListttGridGlobalCGResumettGridGlobalCGSuspendttGridInfottGridNameSetttGridNodeStatus説明
このプロシージャは、キャッシュ・グリッドからノードをデタッチします。
このプロシージャは、キャッシュ・グリッドを破棄する前に使用します。キャッシュ・グリッドにアタッチされているノードがある場合、キャッシュ・グリッドを破棄できません。
このプロシージャには、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);
関連項目
ttGridAttachttGridCheckOwnerttGridCreatettGridDetachAllttGridDetachListttGridDestroyttGridGlobalCGResumettGridGlobalCGSuspendttGridInfottGridNameSetttGridNodeStatus説明
このプロシージャは、アタッチされているすべてのメンバーをグリッドからデタッチします。スタンドアロンのTimesTenデータベースまたはTimesTenアクティブ・スタンバイ・ペアをグリッド・メンバーにすることができます。
まだ実行されていない場合は、このプロシージャによってキャッシュ・エージェントが起動されます。
このプロシージャには、CACHE_MANAGER権限が必要です。
ttGridDetachAll()
パラメータ
ttGridDetachAllにパラメータはありません。
結果セット
ttGridDetachAllは結果を返しません。
例
すべてのグリッド・メンバーをデタッチするには、次のように実行します。
CALL ttGridDetachAll();
関連項目
ttGridAttachttGridCheckOwnerttGridCreatettGridDestroyttGridDetachttGridDetachListttGridGlobalCGResumettGridGlobalCGSuspendttGridInfottGridNameSetttGridNodeStatus説明
このプロシージャは、リスト内のノードをデタッチします。リモートのノードは使用不可であるため、このようなノードに対して有効です。
必要な権限
このプロシージャには、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);
関連項目
ttGridAttachttGridCheckOwnerttGridCreatettGridDetachttGridDetachAllttGridDestroyttGridGlobalCGResumettGridGlobalCGSuspendttGridInfottGridNameSetttGridNodeStatus説明
このプロシージャは、ttGridGlobalCGSuspendへのコール後にブロックされた処理を再開します。まだ実行されていない場合は、このプロシージャによってキャッシュ・エージェントが起動されます。
このプロシージャには、CACHE_MANAGER権限が必要です。
ttGridGlobalCGResume()
パラメータ
ttGridGlobalCGResumeにパラメータはありません。
結果セット
ttGridGlobalCGResumeは結果を返しません。
例
すべてのグリッド・メンバーをデタッチするには、次のように実行します。
CALL ttGridGlobalCGResume();
関連項目
ttGridAttachttGridCheckOwnerttGridCreatettGridDestroyttGridDetachttGridDetachAllttGridDetachListttGridGlobalCGSuspendttGridInfottGridNameSetttGridNodeStatus説明
このプロシージャは、グローバル・キャッシュ・グループのキャッシュ・インスタンスの動的なロードおよび削除を一時的にブロックします。まだ実行されていない場合は、このプロシージャによってキャッシュ・エージェントが起動されます。これらのアクションを再度有効にするには、ttGridGlobalCGResumeプロシージャを使用します。
このプロシージャには、CACHE_MANAGER権限が必要です。
ttGridGlobalCGSuspend(wait)
パラメータ
ttGridGlobalCGSuspendには、次のパラメータがあります。
| パラメータ | データ型 | 説明 |
|---|---|---|
wait |
TT_INTEGER NOT NULL |
保留中の削除処理がOracleに伝播されるか、保留中の透過的ロード処理が完了して戻されるまでコマンドが待機する秒数です。保留中の削除処理または保留中の透過的ロード処理が指定した時間内に完了できなかった場合に、TimesTenはエラーを返します。
値が指定されない場合は、待機時間はありません。 |
結果セット
ttGridGlobalCGSuspendは結果を返しません。
例
待機時間を10秒に設定するには、次のようにします。
CALL ttGridGlobalCGSuspend(10);
関連項目
ttGridAttachttGridCheckOwnerttGridCreatettGridDestroyttGridDetachttGridDetachAllttGridDetachListttGridGlobalCGResumettGridInfottGridNameSetttGridNodeStatus説明
このプロシージャは、指定されたキャッシュ・グリッドまたはすべてのキャッシュ・グリッドに関する情報を返します。
このプロシージャには、CACHE_MANAGER権限が必要です。
構文
ttGridInfo(['gridName'])
パラメータ
ttGridInfoには、次のオプションのパラメータがあります。
| パラメータ | データ型 | 説明 |
|---|---|---|
gridName |
TT_VARCHAR (30) |
gridNameが指定された場合、指定されたグリッドに関する情報が表示されます。指定されていない場合は、すべてのグリッドに関する情報が表示されます。 |
結果セット
ttGridInfoによって、キャッシュ・グリッドに関する情報が返されます。
| 列 | データ型 | 説明 |
|---|---|---|
gridName |
TT_VARCHAR (30) |
指定されたグリッドの名前。 |
cacheAdminID |
TT_VARCHAR (30)
|
グリッドに関連付けられているキャッシュ管理ユーザーID。 |
platform |
TT_VARCHAR (100) |
グリッドが稼働しているオペレーティング・システム・プラットフォーム。
プラットフォーム値は次のように表示されます。
例:
カンマは改行という意味ではありません。 |
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();
関連項目
ttGridAttachttGridCheckOwnerttGridCreatettGridDestroyttGridDetachttGridDetachAllttGridDetachListttGridGlobalCGResumettGridGlobalCGSuspendttGridNameSetttGridNodeStatus説明
このプロシージャは、TimesTenデータベースをグリッドに関連付けます。
このプロシージャには、CACHE_MANAGER権限が必要です。
構文
ttGridNameSet('gridName')
パラメータ
ttGridNameSetには、次のパラメータがあります。
| パラメータ | データ型 | 説明 |
|---|---|---|
gridName |
TT_VARCHAR (30) |
プロシージャをコールするTimesTenデータベースを、gridNameで指定されたグリッドに関連付けます。 |
結果セット
ttGridNameSetは結果を返しません。
例
データベースをグリッドmygridに関連付けるには、次のように実行します。
CALL ttGridNameSet('mygrid');
関連項目
ttGridAttachttGridCheckOwnerttGridCreatettGridDestroyttGridDetachttGridDetachAllttGridDetachListttGridGlobalCGResumettGridGlobalCGSuspendttGridInfottGridNodeStatus説明
このプロシージャは、指定されたキャッシュ・グリッドのすべてのメンバーに関する情報を返します。グリッド名が指定されない場合、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 >
関連項目
ttGridAttachttGridCheckOwnerttGridCreatettGridDestroyttGridDetachttGridDetachAllttGridDetachListttGridGlobalCGResumettGridGlobalCGSuspendttGridInfottGridNameSet説明
このプロシージャは、データベースの現在のローカル・ホスト名を返します。戻り値は、現在のセッションでのみ有効です。システム全体に対する設定ではなく、現在のセッションが切断された後は無効になります。
このプロシージャを使用すると、スキーム内の特定のストア名が、現在のホストを参照しているかどうかを確認できます。これは、レプリケーション・スキームを構成する際に便利です。
このプロシージャには、権限は必要ありません。
構文
ttHostnameGet()
パラメータ
ttHostNameGetにパラメータはありません。
結果セット
ttHostNameGetは次の結果を返します。
| 列 | データ型 | 説明 |
|---|---|---|
hostName |
TT_VARCHAR(200) |
データベースの現在のデフォルトのローカル・ホスト設定。デフォルトが指定されていない場合は、現在のホスト名が返されます。 |
例
CALL ttHostNameGet ();
関連項目
ttHostNameSet説明
このプロシージャは、現在のデータベースのデフォルトのローカル・ホスト名を指定します。この値は、現在のセッションのみで使用される値であり、システム全体に対する設定値ではありません。現在のセッションの接続が切断された後は、無効になります。
マスター/サブスクライバの関係およびレプリケーション・オブジェクトのアクセス権を正しく構成するには、スクリプトが現在実行されているコンピュータをレプリケーション・スキームで使用されるホスト名が参照しているかどうかを、レプリケーションDDLのプロセスで判断できることが必要です。このプロシージャを使用すると、現在のセッションのデフォルト・ホスト名をアプリケーションから設定できます。現在のホスト名を確立する必要がある場合には、常にレプリケーションDDLのプロセスからそのデフォルト・ホスト名を使用できます。
構文
ttHostnameSet('hostName')
パラメータ
ttHostNameSetには、次のパラメータがあります。
| パラメータ | データ型 | 説明 |
|---|---|---|
hostName |
TT_VARCHAR(200) |
ローカル・コンピュータの必要なデフォルト名。NULLを指定すると、デフォルト値がクリアされます。 |
結果セット
ttHostNameSetは結果を返しません。
例
CALL ttHostNameSet ('alias1');
注意
hostNameの有効な値は、localhost、127.0.0.1または::1以外の任意のホスト名またはIPアドレスです。既存のレプリケーション・スキームで使用されているローカル・ホスト名と異なる値を、デフォルト・ホスト名に設定することはできません。
関連項目
ttHostNameGet説明
この接続の次のトランザクションとすべての後続トランザクションに対して、行レベルのロックとデータベース・レベルのロックでロック・レベルを変更します。アプリケーションでは、再度ttLockLevelを呼び出すことによって、再度ロック・レベルを変更できます。初期値は、LockLevel属性によって異なります。各種ロック・レベルの詳細は、「LockLevel」を参照してください。
このプロシージャには、ADMIN権限が必要です。
構文
ttLockLevel('lockLevel')
パラメータ
ttLockLevelには、次のパラメータがあります。
| パラメータ | データ型 | 説明 |
|---|---|---|
lockLevel |
TT_CHAR (20) NOT NULL |
接続で使用するロック・レベル。 |
lockLevelの値は次の文字列のいずれかで、大文字と小文字は区別されません。
DS: データベース・レベル・ロックに設定します。
結果セット
ttLockLevelは結果を返しません。
例
CALL ttLockLevel ('Row');
注意
このプロシージャは、現在のトランザクションには影響しません。
Oracle表をキャッシュするには、行レベル・ロックが必要です。
このプロシージャは、トランザクション内から呼び出す必要があります。トランザクションを起動した接続に対する後続のトランザクションに、ロック・レベルを設定します。新しいロック・レベルは、現在のトランザクションには影響しません。次のトランザクションの開始時に有効になります。
関連項目
説明
このプロシージャは、アプリケーションで、現在の接続のロック・タイムアウト間隔を変更できるようにします。変更はただちに有効になり、現在のトランザクションでのすべての後続文および接続しているすべての後続トランザクションにも適用されます。
ロック待機時間は、ロックの競合が発生した際に待機する秒数です。秒の小数部も指定できます。
タイムアウトを検出するエージェントのスケジュールにより、ロック待機時間は不正確で、通常、最大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説明
このプロシージャは、トランザクション・ログの保持に関する情報を返します。これには増分バックアップ、レプリケーション・ピア、永続XLAサブスクライバ、XA、長時間実行トランザクションおよびチェックポイントのかわりに作成されたログも含まれます。このプロシージャは、チェックポイント処理ですべての不要なトランザクション・ログ・ファイルが消去されていない可能性がある状況を診断する場合に役立ちます。
このプロシージャには、権限は必要ありません。
構文
ttLogHolds()
パラメータ
ttLogHoldsにパラメータはありません。
結果セット
ttLogHoldsは次の結果セットを返します。
| 列 | データ型 | 説明 |
|---|---|---|
HoldLFN |
TT_INTEGER NOT NULL |
保持されているトランザクション・ログ・ファイルの番号を返します。 |
HoldLFO |
TT_INTEGER NOT NULL |
保持されているトランザクション・ログ・ファイルのオフセットを返します。 |
type |
TT_CHAR(30) NOT NULL |
保持されているログ・タイプを返します。次のいずれかです。
|
description |
TT_VARCHAR(1024) NOT NULL |
保持されたログ・タイプ固有のオブジェクトの説明です。それぞれの説明は、返されるタイプに対応しています。次のいずれかです。
|
例
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 >
説明
このプロシージャは、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();
説明
このプロシージャは、指定した表の統計を消去します。これによって、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です。
|
結果セット
ttOptClearStatsは結果を返しません。
例
CALL ttOptClearStats ( 'SALLY.ACCTS', 1 );
SALLY.ACCTS表の統計を消去し、ACCTS表に影響するすべてのコマンドを再準備します。
CALL ttOptClearStats();
現在のユーザーのすべての表の統計を消去し、これらの表に影響するすべてのコマンドを再準備します。
CALL ttOptClearStats('', 0);
現在のユーザーのすべての表の統計を消去しますが、これらの表に影響するコマンドは再準備しません。
関連項目
ttOptEstimateStatsttOptSetColIntvlStatsttOptSetFlagttOptSetOrderttOptSetTblStatsttOptUpdateStatsttPLSQLMemoryStats説明
このプロシージャは、指定した表の統計を更新します。このプロシージャは、指定した表内の行をランダムにサンプリングすることによって統計を推定します。サンプルのサイズは、指定した行の数(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では、パフォーマンス上の理由から、統計の計算時に表ロックおよび行ロックは保持されません。ただし、統計の計算をそのように行った場合でも、パフォーマンスが低下する可能性があります。統計は、正確に計算するよりも推定した方が一般にパフォーマンスは向上します。
関連項目
ttOptSetColIntvlStatsttOptSetFlagttOptSetOrderttOptSetTblStatsttOptUpdateStatsttPLSQLMemoryStats説明
このプロシージャは、統計情報をテキスト形式で返します。
このプロシージャには、指定した表に対する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) )>
関連項目
ttOptSetColStatsttOptSetColIntvlStats説明
このプロシージャは、現在のトランザクションのオプティマイザ・フラグの設定を返します。結果は、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');
関連項目
説明
このプロシージャは、コンパイル済SQLコマンド・キャッシュの空きリストのサイズを返します。キャッシュ・サイズをリセットするには、マテリアライズド・ビューについてはttOptSetMaxPriCmdFreeListCntを使用し、通常の表についてはttOptSetMaxCmdFreeListCntを使用します。
このプロシージャには、権限は必要ありません。
パラメータ
ttOptGetMaxCmdFreeListCntにパラメータはありません。
構文
ttOptGetMaxCmdFreeListCnt()
結果セット
ttOptGetMaxCmdFreeListCntは次の結果を返します。
| 列 | データ型 | 説明 |
|---|---|---|
retVal |
TT_VARCHAR(200) NOT NULL |
コンパイル済SQLコマンドのキャッシュ・サイズ。 |
例
CALL ttOptGetMaxCmdFreeListCnt( );
関連項目
ttOptSetMaxPriCmdFreeListCntttOptSetMaxCmdFreeListCnt説明
このプロシージャは、現在のトランザクションの結合順序を含む、単一行の結果セットを返します。この結果セットは、SQL SELECT文の結果と同様に、ODBC SQLFetch関数またはJDBC ResultSet.getXXXメソッドを使用して取得できます。結合順序については、ttOptSetOrder組込みプロシージャで説明します。
このプロシージャには、権限は必要ありません。
構文
ttOptGetOrder( )
パラメータ
ttOptGetOrderにパラメータはありません。
結果セット
ttOptGetOrderは次の結果セットを返します。
| 列 | データ型 | 説明 |
|---|---|---|
joinOrder |
TT_VARCHAR(1024) NOT NULL |
現在のトランザクションのオプティマイザの結合順序。 |
例
CALL ttOptGetOrder;
関連項目
説明
このプロシージャは、時間隔情報を含む、指定した列の統計を変更します。このプロシージャを使用すると、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を設定します。
モーダル値( |
結果セット
ttOptSetColIntvlStatsは結果を返しません。
例
列t1.x1に次のような統計を設定します。
2つの時間隔
整数型
10行のNULL値
10の一意値
100行
時間隔1(最も頻繁に出現する値の他に4つの一意値、最も頻繁に出現する値以外の値を持つ40の行、最も頻繁に出現する値を持つ10の行、min=1、max=10、mod=5)
時間隔2(最も頻繁に出現する値の他に4つの一意値、最も頻繁に出現する値以外の値を持つ20の行、最も頻繁に出現する値を持つ20の行、min=11、max=20、mod=15)
この場合、次の文を実行します。
CALL ttOptSetColIntvlStats('t1', 'x1', 1, (2, 10, 10, 100, (4, 40, 10, 1, 10, 5),
(4, 20, 20, 11, 20, 15)));
注意
時間隔の最小値および最大値をVARBINARYとして指定する必要があります。NULL値を最小値または最大値として指定することはできません。値は、プラットフォーム固有のエンディアン形式で格納されます。
関連項目
ttOptEstimateStatsttOptGetColStatsttOptSetColStatsttOptSetTblStatsttOptUpdateStats説明
このプロシージャは、指定した列の統計を変更します。このプロシージャを使用すると、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値を最小値または最大値として指定することはできません。値は、プラットフォーム固有のエンディアン形式で格納されます。
統計は、最小値と最大値の間に均一に配分されている列値の、単一の時間隔として処理されます。
関連項目
ttOptEstimateStatsttOptGetColStatsttOptSetColIntvlStatsttOptSetTblStatsttOptUpdateStats説明
このプロシージャでは、アプリケーションで、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(有効/許可)です。 |
オプティマイザ・フラグ
オプティマイザ・フラグを設定する場合は、次の文字列を使用します。大文字と小文字は区別されません。
文字列AllFlagsは、すべてのオプティマイザ・フラグを示すために使用され、文字列Defaultは、デフォルトのフラグを示すために使用されます。Defaultには、GenPlanフラグ以外のすべてのオプティマイザ・フラグが含まれます。
フラグの説明
各フラグの値は1または0です。
1の場合、処理は有効です。
0の場合、必要時以外、処理は無効です。
GenPlan以外のすべての初期フラグ値は1です(すべての処理が許可されます)。
たとえば、アプリケーションで、中間結果を格納する計画をオプティマイザが選択できないようにできます。
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);
関連項目
ttOptEstimateStatsttOptGetFlagttOptGetOrderttOptSetColIntvlStatsttOptSetOrderttOptSetTblStatsttOptUpdateStatsttPLSQLMemoryStats説明
このプロシージャは、通常の表に対するコンパイル済SQLコマンドの空きリストの最大カウントを設定します。現在の設定値を取得するには、ttOptGetMaxCmdFreeListCntプロシージャを使用します。
このプロシージャには、ADMIN権限が必要です。
構文
ttOptSetMaxCmdFreeListCnt(maxCnt)
パラメータ
ttOptSetMaxCmdFreeListCntには、次の必須のパラメータがあります。
| パラメータ | データ型 | 説明 |
|---|---|---|
maxCnt |
TT_INTEGER NOT NULL |
通常の表に対するコンパイル済SQL空きコマンドの最大数。 |
結果セット
ttOptSetMaxCmdFreeListCntは結果を返しません。
例
CALL ttOptSetMaxCmdFreeListCnt(40);
関連項目
ttOptGetMaxCmdFreeListCnt説明
このプロシージャは、マテリアライズド・ビューのメンテナンスを実行するコンパイル済SQLコマンドの空きリストの最大カウントを設定します。
このコマンドを設定すると、解放可能なコンパイル済マテリアライズド・ビュー・コマンドは通常の表とは別にカウントされます。このコマンドを設定しない場合、コンパイル済マテリアライズド・ビュー・コマンドは通常のコマンドとしてカウントされます。
このプロシージャには、ADMIN権限が必要です。
構文
ttOptSetMaxCmdPriFreeListCnt(maxCnt)
パラメータ
ttOptSetMaxPriCmdFreeListCntには、次の必須のパラメータがあります。
| パラメータ | データ型 | 説明 |
|---|---|---|
maxCnt |
TT_INTEGER NOT NULL |
コンパイル済SQLコマンドのキャッシュ・サイズ。 |
結果セット
ttOptSetMaxPriCmdFreeListCntは結果を返しません。
例
CALL ttOptSetMaxPriCmdFreeListCnt(40);
関連項目
ttOptGetMaxCmdFreeListCntttOptSetMaxCmdFreeListCnt説明
このプロシージャは、オプティマイザが表を結合する順序を指定します。文字列は、カンマではなく空白で区切られた相関名のリストで、問合せまたは副問合せで参照されます。最初に表示されている表が、計画によって最初にスキャンされます(たとえば、ネステッド・ループ結合では一番外側になります)。相関名は、修飾された表名のショートカットまたは別名です。
このプロシージャには、権限は必要ありません。
構文
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を使用して、特別な種類の結合問合せとして副問合せを内部的に実装します。結合順序を適用可能にするには、すべての相関名を参照する必要があります。矛盾がある場合は警告が発行され、指定した結合順序は完全に無視されます。
関連項目
ttOptEstimateStatsttOptGetFlagttOptGetOrderttOptSetColIntvlStatsttOptSetFlagttOptSetTblStatsttOptUpdateStatsttPLSQLMemoryStats説明
このプロシージャは、指定した表の統計を変更します。このプロシージャを使用すると、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に関する説明を参照してください。
関連項目
ttOptEstimateStatsttOptGetFlagttOptGetOrderttOptSetColIntvlStatsttOptSetFlagttOptSetOrderttOptUpdateStatsttPLSQLMemoryStats説明
このプロシージャは、現在のトランザクションで最後に準備または実行されたSQL文(SELECT、UPDATE、DELETEおよび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つのトランザクション内で正しく動作します。複数のトランザクション間では正しく動作しません。
関連項目
ttOptEstimateStatsttOptGetFlagttOptGetOrderttOptSetColIntvlStatsttOptSetFlagttOptSetOrderttOptSetTblStatsttOptUpdateStatsttPLSQLMemoryStats説明
このプロシージャは、指定した表の統計を更新します。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の場合、統計は変更されたとはみなされず、既存のコマンドは再準備されません。
|
option |
TT_INTEGER |
完全な時間隔の統計情報の収集をするかどうかを指定します。このオプションに有効な値は、次のとおりです。
Nullまたは0: 列に範囲索引が存在する場合に、完全な時間隔統計を収集します。範囲索引が存在しない場合は、単一の時間隔統計を収集します。 1: 完全な時間隔統計を収集しません。単一の時間隔統計のみが収集されます。 詳細は、「注意」を参照してください。 |
結果セット
ttOptUpdateStatsは結果を返しません。
例
CALL ttOptUpdateStats ( 'ACCTS', 1 );
ACCTS表を更新し、ACCTS表を参照するすべてのコマンドを次回の実行時に再準備します。
CALL ttOptUpdateStats('', 1);
現在のユーザーのすべての表を更新し、その表に対するコマンドを次回の実行時に再準備します。
CALL ttOptUpdateStats('ACCTS', 0, 1);
単一の時間隔統計を収集します。
注意
指定した表名が空の文字列である場合、統計は現在のユーザーのすべての表について更新されます。
完全な時間隔統計を収集する場合、表の列の総数は20以下の時間隔に分割され、各時間隔の配分が統計に記録されます。新しい統計には、次の情報が含まれます。
時間隔の数
列のNULLの総数
列のNON NULL UNIQUE値の総数
表の行の総数
時間隔情報(各時間隔には次の情報が含まれます)
最小値
最大値
最大頻度の値
最大頻度の値の数
最大頻度の値と異なる値の行の数
最大頻度の値以外の一意値の数
完全な時間隔統計を収集するには、データをソートする必要があります。
完全な時間隔統計を選択しない場合、全体の配分を単一の時間隔として処理することにより、統計が収集されます。
TimesTenでは、パフォーマンス上の理由から、統計の計算時に表ロックおよび行ロックは保持されません。ただし、統計の計算をそのように行った場合でも、パフォーマンスが低下する可能性があります。統計は、正確に計算するよりも推定した方が一般にパフォーマンスは向上します。統計の推定については、「ttOptEstimateStats」を参照してください。
関連項目
ttOptEstimateStatsttOptGetColStatsttOptSetColStatsttOptSetColIntvlStatsttOptSetTblStatsttOptUpdateStats説明
このプロシージャでは、アプリケーションで、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をコールすると、前の索引ヒントが消去されます。
関連項目
ttOptEstimateStatsttOptGetFlagttOptGetOrderttOptSetColIntvlStatsttOptSetFlagttOptSetOrderttOptSetTblStatsttOptUpdateStatsttPLSQLMemoryStats説明
このプロシージャは、PL/SQLライブラリ・キャッシュのパフォーマンスおよびアクティビティに関する結果統計を返します。
このプロシージャには、権限は必要ありません。
構文
ttPLSQLMemoryStats(paramName, paramValue )
パラメータ
ttPLSQLMemoryStatsにパラメータはありません。
パラメータ
ttPLSQLMemoryStatsは、次の列に結果を返します。
| 列 | データ型 | 説明 |
|---|---|---|
paramName |
TT_VARCHAR(30) NOT NULL |
この行に返された結果統計の名前。 |
paramValue |
BINARY_FLOAT NOT NULL |
この行に返された結果統計の値。 |
次の統計が返されます。
Gets: PL/SQLオブジェクトに対してロックがリクエストされた回数。
GetHits: PL/SQLオブジェクトのハンドルがメモリーで検出された回数。
GetHitRatio: Getsに対するGetHitsの比率。
Pins: PL/SQLオブジェクトに対してPINがリクエストされた回数。
PinHits: ライブラリ・オブジェクトのすべてのメタデータ・ピースがメモリーで検出された回数。
PinHitRatio: Pinsに対するPinHitsの比率。
Reloads: オブジェクトのPINのうち、オブジェクト・ハンドルの作成後初めて実行されたPINではなく、データベースからのオブジェクトのロードを必要とするPIN。
Invalidations: 依存オブジェクトが変更されたためにこのネームスペースのオブジェクトが無効とマークされた合計回数。
CurrentConnectionMemory: このデータベース接続でPL/SQLに割り当てられるヒープ・メモリーの総量(MB単位)。
DeferredCleanups: 遅延クリーンアップが発生した合計回数。
例
connect "DSN=sample";
Connection successful:
DSN=sample;UID=timesten;DataStore=/scratch/timesten/sample;
DatabaseCharacterSet=AL32UTF8;ConnectionCharacterSet=AL32UTF8;PermSize=128;
TypeMode=0;PLSQL_MEMORY_SIZE=32;PLSQL_MEMORY_ADDRESS=20000000;PLSQL=1;
(Default setting AutoCommit=1)
Command> create procedure hello is begin dbms_output.put_line('Hello, World!');
end;
> /
Procedure created.
Command> call ttPlsqlMemoryStats;
< Gets, 485.00000 >
< GetHits, 444.000000 >
< GetHitRatio, .9154639 >
< Pins, 260.00000 >
< PinHits, 178.000000 >
< PinHitRatio, .6846154 >
< Reloads, 4.000000 >
< Invalidations, 0.000000e+00 >
< CurrentConnectionMemory, 56.00000 >
9 rows found.
説明
このプロシージャは、データベースがメモリーにロードされるタイミングを決定するRAMポリシーを返します。ポリシーは、always、manual、inUseのいずれかです。
このプロシージャには、権限は必要ありません。
構文
ttRamPolicyGet()
結果セット
ttRamPolicyGetは次の結果を返します。
| 列 | データ型 | 説明 |
|---|---|---|
ramPolicy |
TT_VARCHAR (10) |
データベースをシステムRAMにロードするタイミングを決定するために使用するポリシーです。有効な値は、次のとおりです。
|
ramGrace |
TT_INTEGER |
このフィールドは、ramPolicyがinUseの場合に、最後のアプリケーションが切断されてから何秒後までデータベースがRAMに保持されるかをレポートします。これ以外の場合、このフィールドはNULLです。 |
パラメータ
ttRamPolicyGetにパラメータはありません。
例
RAMポリシーを表示するには、次のように実行します。
CALL ttRamPolicyGet();
関連項目
ttAdminttRamPolicySet説明
このプロシージャは、データベースがメモリーにロードされるタイミングを決定するために使用するポリシーを定義します。ポリシーは、always、manual、inUseのいずれかです。
このプロシージャには、ADMIN権限が必要です。
構文
ttRamPolicySet('ramPolicy', ramGrace)
パラメータ
ttRamPolicySetには、次のパラメータがあります。
| パラメータ | データ型 | 説明 |
|---|---|---|
ramPolicy |
TT_VARCHAR (10) NOT NULL |
データベースをシステムRAMにロードするタイミングを決定するために使用するポリシーです。有効な値は、次のとおりです。
|
ramGrace |
TT_INTEGER |
最後のアプリケーションが切断されてから何秒後までデータベースをRAMに保持するかを設定します。この値は、ramPoliyがinUseの場合にのみ有効です。このパラメータはオプションです。省略するか、NULLを設定した場合、既存のramGrace期間は、変更されません。 |
結果セット
ttRamPolicySetは結果を返しません。
例
データベースをRAMにロードするポリシーをinUseに設定し、データベースが、最後のアプリケーションが切断された後も10秒間RAMに保持されるようにするには、次のように実行します。
CALL ttRamPolicySet('inUse', 10);
関連項目
ttAdminttRamPolicyGet説明
このプロシージャは、指定された表(または現在のユーザーのすべての表)をスキャンして、冗長索引を見つけます。冗長索引の名前および削除する索引に関するアドバイスを返します。
このプロシージャには、権限は必要ありません。
構文
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.
説明
このプロシージャは、アクティブ・スタンバイ・ペアのアクティブ・データベースの状態をACTIVEからIDLEに変更します。アクティブ・スタンバイ・ペアのマスター・データベースのロールを元に戻す場合に、このプロシージャを使用します。
このプロシージャには、ADMIN権限が必要です。
構文
ttRepDeactivate()
パラメータ
ttRepDeactivateにパラメータはありません。
結果セット
ttRepDeactivateは結果を返しません。
例
アクティブ・スタンバイ・ペアのアクティブ・データベースを無効にするには、次のコマンドを使用します。
CALL ttRepDeactivate();
関連項目
ttRepTransmitGetttRepTransmitSetttReplicationStatusttRepPolicySetttRepStateSavettRepStateSetttRepStopttRepSubscriberStateSetttRepSubscriberWait説明
このプロシージャは、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 |
ピアの状態。結果列の値は次のとおりです。
|
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アプリケーションではサポートされません。
関連項目
ttRepDeactivatettRepPolicySetttRepStopttRepSubscriberStateSetttRepSyncGetttRepSyncSetttRepTransmitSet説明
このプロシージャは、接続されたデータベースに対してTimesTenレプリケーション・エージェントを実行するタイミングを決定するレプリケーションの再起動ポリシーを返します。ポリシーは、always、manual、norestartのいずれかです。
このプロシージャには、権限は必要ありません。
構文
ttRepPolicyGet()
パラメータ
ttRepPolicyGetにパラメータはありません。
結果セット
ttRepPolicyGetは次の結果を返します。
| パラメータ | データ型 | 説明 |
|---|---|---|
repPolicy |
TT_VARCHAR (10) |
データベースに対してTimesTenレプリケーション・エージェントを実行するタイミングを決定するために使用するポリシー。有効な値は、次のとおりです。
|
例
TimesTenレプリケーション・エージェントのポリシーをalwaysに設定するには、次のように実行します。
CALL ttRepPolicyGet();
関連項目
ttRepDeactivatettRepTransmitSetttReplicationStatusttRepPolicySetttRepStart説明
このプロシージャは、接続されたデータベースに対してTimesTenレプリケーション・エージェントを実行するタイミングを決定する、レプリケーションの再起動ポリシーを定義します。ポリシーは、always、manual、norestartのいずれかです。
このプロシージャには、ADMIN権限が必要です。
構文
ttRepPolicySet('repPolicy')
パラメータ
ttRepPolicySetには、次のパラメータがあります。
| パラメータ | データ型 | 説明 |
|---|---|---|
repPolicy |
TT_VARCHAR (10) NOT NULL |
データベースに対してTimesTenレプリケーション・エージェントを実行するタイミングを決定するために使用するポリシーを指定します。有効な値は、次のとおりです。
|
結果セット
ttRepPolicySetは結果を返しません。
例
TimesTenレプリケーション・エージェントのポリシーをalwaysに設定するには、次のように実行します。
CALL ttRepPolicySet('always');
関連項目
ttRepDeactivatettRepTransmitSetttReplicationStatusttRepPolicyGetttRepStartttRepStopttRepSubscriberStateSetttRepSubscriberWaitttRepSyncGetttRepSyncSet説明
このプロシージャは、レプリケーション・エージェントの問合せしきい値として最後に指定された秒数を返します。返された秒数は、有効な問合せしきい値と同じでない場合があります。問合せしきい値に新たに設定した値は、次回レプリケーション・エージェントが起動されたときに有効になります。
このプロシージャには、ADMIN権限が必要です。
構文
ttRepQueryThresholdGet()
パラメータ
ttRepQueryThresholdGetにパラメータはありません。
結果セット
ttRepQueryThresholdGetは次の結果を返します。
| 列 | データ型 | 説明 |
|---|---|---|
repQueryThreshold |
TT_INTEGER |
レプリケーション問合せの最大実行秒数(この秒数を超えるとエラーが返されます)。 |
例
レプリケーションの問合せしきい値を取得するには、次のコマンドを実行します。
CALL ttRepQueryThresholdGet; < 4 > 1 row found.
関連項目
ttRepDeactivatettReplicationStatusttRepPolicyGetttRepQueryThresholdSetttRepStartttRepStopttRepSubscriberStateSetttRepSubscriberWaitttRepSyncGetttRepSyncSetttRepTransmitSet説明
このプロシージャは、レプリケーション・エージェントが問合せを実行できる最大秒数を指定します。この秒数を超えると、警告がサポート・ログに書き込まれ、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);
関連項目
ttRepDeactivatettReplicationStatusttRepPolicyGetttRepQueryThresholdGetttRepStartttRepStopttRepSubscriberStateSetttRepSubscriberWaitttRepSyncGetttRepSyncSetttRepTransmitSet説明
このプロシージャは、接続しているデータベースに対してTimesTenレプリケーション・エージェントを起動します。
このプロシージャには、CACHE_MANAGER権限が必要です。
構文
ttRepStart()
パラメータ
ttRepStartにパラメータはありません。
結果セット
ttRepStartは結果を返しません。
例
レプリケーション・エージェントを起動するには、次のように実行します。
CALL ttRepStart();
注意
いずれのレプリケーション・スキームにもデータベースが存在しない場合、レプリケーション・エージェントは起動しません。
このプロシージャを使用する場合、コールを実行するアプリケーションを含めたすべてのアプリケーションは、データベース・レベルのロック(LockLevel=1)を指定する接続を保持することができません。
関連項目
ttRepDeactivatettRepTransmitGetttRepTransmitSetttReplicationStatusttRepPolicySetttRepStopttRepSubscriberStateSetttRepSubscriberWaitttRepSyncSetttRepSyncGet説明
このプロシージャは、アクティブ・スタンバイ・ペアのデータベースの現在のレプリケーションの状態を返します。
このプロシージャには、権限は必要ありません。
構文
ttRepStateGet()
パラメータ
ttRepStateGetにパラメータはありません。
結果セット
ttRepStateGetは次の結果を返します。
| 列 | データ型 | 説明 |
|---|---|---|
state |
TT_VARCHAR (20) NOT NULL |
データベースの現在のレプリケーションの状態。次のいずれかです。
|
gridState |
TT_VARCHAR (20) NOT NULL |
データベースの現在のグリッドの状態。次のいずれかです。
|
例
アクティブ・スタンバイ・ペアのレプリケーションとグリッド状態を決定するには、次のコマンドを使用します。
Call ttRepStateGet(); <STANDBY, NO GRID> Call ttRepStateGet(); <ACTIVE, NO GRID> Call ttRepStateGet(); <ACTIVE, AVAILABLE> Call ttRepStateGet(); <ACTIVE, UNAVAILABLE>
関連項目
ttRepDeactivatettRepTransmitSetttReplicationStatusttRepPolicySetttRepStateSavettRepStateSetttRepStopttRepSubscriberStateSetttRepSubscriberWait説明
アクティブ・スタンバイ・ペアのリモート・ピア・データベースの状態を現在接続されているデータベースに保存します。現在、スタンバイ・データベース(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');
関連項目
ttRepDeactivatettRepTransmitSetttReplicationStatusttRepPolicySetttRepStateGetttRepStateSetttRepStopttRepSubscriberStateSetttRepSubscriberWaitttRepSyncGetttRepSyncSet説明
このプロシージャは、スタンバイ・ペア・レプリケーション・スキームのデータベースのレプリケーションの状態を設定します。現在、ttRepStateSetは、データベースの状態をACTIVEにするためにのみ使用できます。ACTIVEは、データベースがアクティブ・スタンバイ・ペアでアクティブな役割を果たすことを示します。ttRepStateSetは、次の状況でのみ使用できます。
データベースで、CREATE ACTIVE STANDBY PAIRコマンドが実行され、それ以降、障害が発生していない場合。
データベースが現在STANDBY状態で、アクティブ・スタンバイ・ペアの他のデータベースでttRepDeactivateプロシージャが使用されてその状態がACTIVEからIDLEに変更された場合。
データベースがローカル・トランザクション・ログからリカバリした直後で、停止前はACTIVE状態であった場合。
このプロシージャには、ADMIN権限が必要です。
構文
ttRepStateSet('state')
パラメータ
| パラメータ | データ型 | 説明 |
|---|---|---|
state |
TT_VARCHAR (20) NOT NULL |
データベースのレプリケーションの状態。このリリースでは、ACTIVEと設定する必要があります。ストアをACTIVEに設定すると、アクティブ・スタンバイ・ペアのアクティブ・データベースとして指定されます。 |
結果セット
ttRepStateSetは結果を返しません。
例
データベースのレプリケーションの状態をACTIVEに設定するには、次のように実行します。
CALL ttRepStateSet('ACTIVE');
関連項目
ttRepDeactivatettRepTransmitSetttReplicationStatusttRepPolicySetttRepStateGetttRepStateSavettRepStopttRepSubscriberStateSetttRepSubscriberWaitttRepSyncGetttRepSyncSet説明
このプロシージャは、接続しているデータベースに対してTimesTenレプリケーション・エージェントを停止します。
このプロシージャには、CACHE_MANAGER権限が必要です。
構文
ttRepStop()
パラメータ
ttRepStopにパラメータはありません。
結果セット
ttRepStopは結果を返しません。
例
レプリケーション・エージェントを停止するには、次のように実行します。
CALL ttRepStop();
注意
このプロシージャを使用する場合、コールを実行するアプリケーションを含めたすべてのアプリケーションは、データベース・レベルのロック(LockLevel=1)を指定する接続を保持することができません。
関連項目
ttRepDeactivatettRepTransmitSetttReplicationStatusttRepPolicySetttRepStartttRepSubscriberStateSetttRepSubscriberWaitttRepSyncGetttRepSyncSet説明
このプロシージャは、実行中のマスター・ストアのレプリケーション・サブスクライバの状態を変更します。
このプロシージャには、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/ 1: 一時停止 2: 停止 その他のすべての状態コードは許可されません。(このプロシージャでは、サブスクライバの状態を「failed」に設定することはできません。) |
結果セット
ttRepSubscriberStateSetは結果を返しません。
例
次の例では、REPL.REPSCHEMEというレプリケーション・スキームについて、サブスクライバ・データベース(SUBSCRIBERDS ON SYSTEM1)の状態を停止(2)に設定するようにマスター・データベースに指示します。
CALL ttRepSubscriberStateSet('REPSCHEME', 'REPL', 'SUBSCRIBERDS','SYSTEM1', 2);
すべてのサブスクライバの状態を一時停止(1)に設定するようマスター・データベースに指示するには、次のように実行します。
CALL ttRepSubscriberStateSet( , , , , 1 );
パラメータを指定しない場合の動作は、NULLを使用した場合と同じです。
関連項目
ttRepDeactivatettRepTransmitSetttReplicationStatusttRepPolicySetttRepStartttRepStopttRepSubscriberWaitttRepTransmitGetttRepTransmitSet説明
このプロシージャは、指定したマスター・データベースからすべての更新を受信したかどうかを確認するためにサブスクライバ・データベースをチェックします。
この組込みプロシージャは、サブスクライバからのみ起動可能で、一度に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);
関連項目
ttRepDeactivatettRepTransmitSetttReplicationStatusttRepPolicySetttRepStartttRepStopttRepSubscriberStateSetttRepSubscriberWaitttRepSyncGetttRepSyncSetttRepSyncSubscriberStatus説明
このプロシージャでは、コール元は、コール前にコミットされたすべてのトランザクションがサブスクライバ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);
関連項目
ttRepDeactivatettRepTransmitSetttReplicationStatusttRepPolicySetttRepStartttRepStopttRepSubscriberStateSetttRepSyncGetttRepSyncSet説明
このプロシージャは、コール元でのレプリケーション・ベースの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 -- 2 -- |
例
コール元の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をコールしても、外部的な影響はありません。
関連項目
ttRepDeactivatettRepTransmitSetttReplicationStatusttRepPolicySetttRepStartttRepStopttRepSubscriberStateSetttRepSubscriberWaitttRepSyncSet説明
このプロシージャは、コール元でのレプリケーション・ベースのRETURNサービスの使用状況に関連付けられた静的属性を設定します。このプロシージャは、RETURN RECEIPTサービスまたはRETURN TWOSAFEサービスのいずれかとともに動作します。
このプロシージャには、権限は必要ありません。
構文
ttRepSyncSet(requestReturn, returnWait, localAction)
パラメータ
ttRepSyncSetには、次のオプションのパラメータがあります。
| パラメータ | データ型 | 説明 |
|---|---|---|
requestReturn |
BINARY(1) |
0x00: 現在のトランザクションのRETURNサービスを無効にします。
0x01: 現在のトランザクションのRETURNサービスを有効にします。トランザクションをコミットすると、この属性はデフォルト値の0(オフ)にリセットされます。 レプリケーション・サブスクライバが |
returnWait |
TT_INTEGER |
RETURNサービスの応答を待機する秒数を指定します。デフォルト値は10秒です。0は待機時間がないことを意味します。
このタイムアウト値は、 このパラメータによって設定されたタイムアウトはトランザクションをまたいで動作し、 |
localAction |
TT_INTEGER |
returnWaitによって指定されたタイムアウト時間内に、サブスクライバがトランザクションのコミットを認識できない場合に実行されるアクションです。このパラメータは、RETURN TWOSAFEトランザクションに対してのみ使用できます。RETURNサービスの使用時はNULLに設定します。
1 -- 2 -- |
結果セット
ttRepSyncSetは結果を返しません。
例
RETURN RECEIPT BY REQUESTまたはRETURN TWOSAFE BY REQUESTで構成されたすべてのレプリケーション要素に対する現在のトランザクションでRETURN RECEIPTサービスを有効にするには、次のように実行します。
rc = SQLExecDirect ( hstmt
, (SQLCHAR *)"{CALL ttRepSyncSet( 0x01 )}"
, SQL_NTS )
注意
RETURN RECEIPTサービスを有効にするコールは、トランザクションの一部である必要があります(AutoCommitは無効である必要があります)。
関連項目
ttRepDeactivatettRepTransmitSetttReplicationStatusttRepPolicySetttRepStartttRepStopttRepSubscriberStateSetttRepSubscriberWaitttRepSyncGet説明
このプロシージャは、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を使用して、レプリケーション・スキーム内の各サブスクライバの状態を問い合せる必要があります。
説明
このプロシージャは、現在のトランザクションについて、サブスクライバへの更新データの転送状態を返します。対応する組込みプロシージャのttRepSyncSetを使用すると、サブスクライバへの更新データの転送をトランザクションが終わるまで停止できます。
このプロシージャには、ADMIN権限が必要です。
構文
ttRepTransmitGet()
パラメータ
ttRepTransmitGetにパラメータはありません。
結果セット
ttRepTransmitGetは次の結果を返します。
| 列 | データ型 | 説明 |
|---|---|---|
transmit |
TT_INTEGER |
0: 更新データは、この接続のトランザクションが終了するまで、サブスクライバに転送されません。
1: 更新データは、この接続のサブスクライバに転送されています。(デフォルト) |
例
アクティブ・スタンバイ・ペアのアクティブ・データベースの転送状態を返すには、次のコマンドを使用します。
CALL ttRepTransmitGet();
関連項目
ttRepDeactivatettReplicationStatusttRepPolicySetttRepStateSavettRepStateSetttRepStopttRepSubscriberStateSetttRepSubscriberWaitttRepTransmitSet説明
このプロシージャは、実行されている接続に対する後続の更新データを、サブスクライバにレプリケートしないようにします。
トランザクションを部分的にレプリケートした場合には、トランザクションの不整合がリモート・ストアで発生しやすくなるため、このプロシージャは、注意して使用する必要があります。更新データのレプリケーションが許可されない場合、サブスクライバのストアはマスター・ストアから分岐します。
必要な権限
このプロシージャには、ADMIN権限が必要です。
構文
ttRepTransmitSet(transmit)
パラメータ
ttRepTransmitSetには、次のパラメータがあります。
| パラメータ | データ型 | 説明 |
|---|---|---|
transmit |
TT_INTEGER NOT NULL |
1に設定すると、レプリケーションを行うためにこの組込みプロシージャを実行した後で、更新データが接続されているサブスクライバに転送されます。(デフォルト)
0に設定すると、このプロシージャのコールが発行されたトランザクションおよび接続が終了するまで、更新データはどのサブスクライバにも転送されません。 |
結果セット
ttRepTransmitSetは結果を返しません。
例
アクティブ・スタンバイ・ペアのアクティブ・データベースを有効にするには、次のコマンドを使用します。
CALL ttRepTransmitSet(1);
アクティブ・スタンバイ・ペアのアクティブ・データベースを無効にするには、次のコマンドを使用します。
CALL ttRepTransmitSet(0);
関連項目
ttRepDeactivatettReplicationStatusttRepPolicySetttRepStateSavettRepStateSetttRepStopttRepSubscriberStateSetttRepSubscriberWaitttRepTransmitGet説明
このプロシージャは、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) |
サブスクライバ・データベースに関連するトランザクションの状態。戻り値は、次のいずれかです。
|
errorString |
TT_VARCHAR (2000) |
TWOSAFEトランザクションの適用時に発生したエラーを説明するサブスクライバ・エージェントによって返されたエラー文字列。エラーが発生していない場合、このパラメータはNULLです。コミット処理を開始し、まだ完了していないTWOSAFEレプリケーション・トランザクション内でこのプロシージャがコールされた場合のみ、NULL以外の値が返されます。 |
関連項目
ttRepDeactivatettRepTransmitSetttReplicationStatusttRepPolicySetttRepStartttRepStopttRepSubscriberStateSetttRepSubscriberWaitttRepSyncGetttRepSyncSetttRepXactTokenGet説明
このプロシージャは、RETURN RECEIPTまたはRETURN TWOSAFEレプリケーション・トランザクションにトークンを返します。入力パラメータtypeによって、次のいずれかが返されます。
トランザクションが呼び出された接続ハンドルで最後にコミットされたRETURN RECEIPTトランザクションへのトークン。
トランザクションが呼び出された接続ハンドルにおける最新のトランザクションへのトークン。RETURN TWOSAFEモードのトランザクションでコミット処理が開始されている。
このプロシージャは、RETURN TWOSAFEレプリケーションのトランザクションに対してコミット処理が開始された後に、後続のトランザクションまたは同じトランザクションで実行できます。
このプロシージャには、権限は必要ありません。
構文
ttRepXactTokenGet('type')
パラメータ
ttRepXactTokenGetには、次のパラメータがあります。
| パラメータ | データ型 | 説明 |
|---|---|---|
type |
TT_CHAR (2) NOT NULL |
希望するトランザクションのタイプ。
|
結果セット
ttRepXactTokenGetは、次の結果セットを返します。
| 列 | データ型 | 説明 |
|---|---|---|
token |
VARBINARY (10000) |
希望するトランザクションを表すVARBINARYトークン。 |
関連項目
ttRepDeactivatettRepTransmitSetttReplicationStatusttRepPolicySetttRepStartttRepStopttRepSubscriberStateSetttRepSubscriberWaitttRepSyncGetttRepSyncSetttRepXactStatus説明
このプロシージャは、ユーザー指定の列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説明
このプロシージャでは、ユーザー表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説明
このプロシージャによって、表またはビューのサイズが推定されます。表の推定バイト数が単一の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以上の典型的な行を表にロードすることをお薦めします。
説明
このプロシージャは、TimesTen SQLコマンド・キャッシュのすべてのコンパイルされたSQL文を返します。
このプロシージャには、ADMIN権限が必要です。
構文
ttSQLCmdCacheInfo()
パラメータ
ttSQLCmdCacheInfoには、次のオプションのパラメータがあります。
| パラメータ | データ型 | 説明 |
|---|---|---|
sqlCommandID |
32-bitシステムの場合はTT_INTEGER
64-bitシステムの場合は |
TimesTenコマンド・キャッシュでのSQLコマンドの一意の識別子。値が指定されない場合、TimesTenキャッシュの現在のすべてのコマンドに関する情報を表示します。 |
結果セット
ttSQLCmdCacheInfoは次の結果セットを返します。
| パラメータ | データ型 | 説明 |
|---|---|---|
sqlCommandID |
32-bitシステムの場合はTT_INTEGER NOT NULL
64-bitシステムの場合は |
TimesTenコマンド・キャッシュでのコマンドの一意の識別子。 |
privateCommandConnectionID |
TT_INTEGER |
プライベート接続の一意のID。プライベート接続でない場合、値はNULLです。 |
executions |
TT_BIGINT
|
コマンド・キャッシュへの格納以降にこのコマンドを実行した回数を数えるためのカウンタ。 |
prepares |
TT_BIGINT
|
コマンド・キャッシュでヒットするユーザー準備の数を数えるためのカウンタ。 |
reprepares |
TT_BIGINT
|
このコマンドの再準備または無効化の数を数えるためのカウンタ。 |
freeable |
TT_TINYINT
|
このコマンドがサブデーモンによってガベージ収集可能かどうかを示します。
1: 解放可能であることを示します。 0: 解放可能でないことを示します。 |
size |
TT_INTEGER
|
コマンド・キャッシュでこのコマンドに割り当てられた領域の合計(バイト)。 |
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.
説明
このプロシージャは、コマンド統計の更新情報を返します。このプロシージャはCREATE INDEXやDROP 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
説明
このプロシージャは、TimesTen SQLコマンド・キャッシュのSQL文のすべての詳細なランタイム問合せ計画を返します。引数を指定しないと、このプロシージャはTimesTenキャッシュのすべての有効なコマンドの問合せ計画を表示します。コマンドが無効である場合には、エラーが返され、問合せおよび構文の問題を指摘するテキストが表示されます。
このプロシージャには、ADMIN権限が必要です。
構文
ttSQLCmdQueryPlan(commandID)
パラメータ
ttSQLCmdQueryPlanには、次のオプションのパラメータがあります。
| パラメータ | データ型 | 説明 |
|---|---|---|
sqlCommandID |
32-bitシステムの場合はTT_INTEGER
64-bitシステムの場合は |
TimesTenコマンド・キャッシュでのSQLコマンドの一意の識別子。値が指定されない場合、TimesTenキャッシュのすべての有効なコマンドの問合せ計画を表示します。 |
結果セット
ttSQLCmdQueryPlanは次の結果セットを返します。
| パラメータ | データ型 | 説明 |
|---|---|---|
sqlCommandID |
32-bitシステムの場合はTT_INTEGER NOT NULL
64-bitシステムの場合は |
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 */
説明
このプロシージャは、現在の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です。
説明
このプロシージャは、現在の接続で実行された処理で割り当てられたメモリーが少ない場合に警告が返されるように、アプリケーションで指定できます。値を設定した場合、メモリーが割り当てられ、総メモリーが接続のしきい値を超えて使用されている処理に対して、警告が返されます。しきい値は、データベース属性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);
永続データ・パーティションに対してのみ、メモリーが少ない場合の警告を有効にします。
注意
デフォルトでは、いずれのパーティションの場合も、メモリーが少ない場合の警告は発行されません。これらの警告を受け取る必要のあるアプリケーションでは、このプロシージャをコールする必要があります。このプロシージャは、接続固有であるため、警告を受け取る必要のある接続ごとに発行する必要があります。また、現在の設定は、後続の接続では適用されません。
説明
このプロシージャは、ロック・メッセージを解釈するためのトランザクション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説明
このプロシージャは、指定されたブックマークを作成します。
このプロシージャには、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ブックマークに関する説明を参照してください。
関連項目
ttXlaSubscribettXlaUnsubscribettXlaBookmarkDelete説明
このプロシージャは、指定されたブックマークを削除します。使用中のブックマークは削除できません。
このプロシージャには、XLA権限が必要です。
構文
ttXlaBookmarkDelete('bookmark')
パラメータ
ttXlaBookmarkDeleteには、次のパラメータがあります。
| パラメータ | データ型 | 説明 |
|---|---|---|
bookmark |
TT_CHAR (31) NOT NULL |
削除するブックマークの名前。 |
結果セット
ttXlaBookmarkDeleteは結果を返しません。
例
Command > call ttXlaBookmarkDelete('mybookmark');
注意
XLAブックマークによってサブスクライブされている表を削除する前に、すべてのXLAブックマークを削除するか、XLA追跡によるサブスクライブを解除する必要があります。
関連項目
ttXlaBookmarkCreatettXlaSubscribettXlaUnsubscribe説明
このプロシージャは、表の永続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);
関連項目
ttXlaBookmarkCreatettXlaBookmarkDeletettXlaUnsubscribe説明
このプロシージャは、表の永続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追跡によるサブスクライブを解除する必要があります。
関連項目
ttXlaBookmarkCreatettXlaBookmarkDeletettXlaSubscribe