TimesTen組込みプロシージャによって、標準のODBCおよびJDBC機能が拡張されます。これらのプロシージャは、ODBCまたはJDBCのプロシージャ・コール・インタフェースを使用してコールできます。プロシージャは、次の例に示すとおり、SQL文と同様に実行されます。
次のODBCのSQLExecDirect
コールはttOpsSetFlag
組込みプロシージャを起動し、オプティマイザに対して、コマンドを準備するときに一時ハッシュ索引を作成しないように指示します。
SQLExecDirect (hstmt, (SQLCHAR*) "{CALL ttOptSetFlag ('TmpHash', 0)}", SQL_NTS);
このコールは、次のJDBCコールと同等です。
CallableStatement cstmt = con.prepareCall ("{CALL ttOptSetFlag ('TmpHash', 0)}"); cstmt.execute();
TimesTen組込みプロシージャは、次の例に示すとおり、CALL
とともにEXECUTE IMMEDIATE
文を使用してPL/SQLからコールすることもできます。この文の詳細は、『Oracle TimesTen In-Memory Database PL/SQL開発者ガイド』のPL/SQLの動的SQL (EXECUTE IMMEDIATE文)に関する説明を参照してください。
結果セットを返すTimesTen組込みプロシージャは、OCIで直接にはサポートされていません。この目的にはPL/SQLを使用できます。例については、『Oracle TimesTen In-Memory Database C開発者ガイド』のOCIのPL/SQLを使用したTimesTen組込みプロシージャのコールに関する説明を参照してください。
たとえば、組込みプロシージャ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; / PL/SQL procedure successfully completed.
ttIsql
コマンドラインから組込みプロシージャをコールすることもできます。
Command> call ttDBCompactConfig(2000,5,2000); < 2000, 5, 2000 > 1 row found.
ノート: 組込みプロシージャの文字列パラメータ値は、値がNULL である場合を除き、この例で示すように一重引用符で囲む必要があります。 |
この項では、TimesTenで使用可能な組込みプロシージャのリストを示します。
表3-1 TimesTen組込みプロシージャ
組込み名 | 説明 | TimesTen Classicのサポート | TimesTen Scaleoutのサポート |
---|---|---|---|
|
Least Recently Used (LRU)エージング・ポリシーを指定して定義されたすべての通常の表にLRUエージング属性を設定します。 |
Yes |
No |
|
エージング・プロセスを開始します。 |
Yes |
No |
|
アプリケーション固有のデータをXLAリーダーに渡すために、次の更新レコードに対するアプリケーション定義のコンテキストを設定します。 |
Yes |
No |
|
データベースの現在のバックアップまたは最後のバックアップに関する情報を返します。 |
Yes |
Yes |
|
データベース内の永続ブロックおよびブロックレベルでの断片化の量に関する情報を提供します。 |
Yes |
Yes |
|
TimesTenトランザクション・ログに関する情報を返します。 |
Yes |
Yes |
|
Active Data Guard構成のスタンバイOracleデータベースの状態を返します。 |
Yes |
No |
|
Active Data Guard構成のスタンバイOracleデータベースの状態を設定します。 |
Yes |
No |
|
Active Data Guard構成のOracleデータベースのタイムアウト値を取得します。 |
Yes |
No |
|
Active Data Guard構成のスタンバイOracleデータベースのタイムアウト値を設定します。 |
Yes |
No |
|
AWTキャッシュ・グループに対して |
Yes |
No |
ttCacheAutorefIntervalStatsGet |
指定された自動リフレッシュ間隔の過去10回の自動リフレッシュ・サイクルについての統計情報を返します。 |
Yes |
No |
|
キャッシュ・グループのセットに対して即時自動リフレッシュを開始します。 |
Yes |
No |
|
キャッシュ自動リフレッシュ表のトリガー・ログ領域を圧縮します。 |
Yes |
No |
|
指定されたキャッシュ・グループで実行された過去10回の自動リフレッシュ・トランザクションに関する情報を返します。 |
Yes |
No |
|
指定された行数に対する増分自動リフレッシュを構成します。 |
Yes |
No |
|
指定された自動リフレッシュ間隔内で、単一表のキャッシュ・グループに対して即時自動リフレッシュを開始し、指定された数の操作の後にコミットします。 |
Yes |
No |
|
AWTキャッシュ・グループの監視を設定します。 |
Yes |
No |
|
AWTキャッシュ・グループを含むデータベースの、現在のトランザクション・ログ・ファイルのしきい値を返します。 |
Yes |
No |
|
AWTが停止しているか、または大幅な遅延が発生しているとみなされるまでに蓄積されるトランザクション・ログ・ファイル数のしきい値を設定します。 |
Yes |
No |
|
Oracleデータベース上のキャッシュされた表に対する制約の欠落をチェックします |
Yes |
No |
|
キャッシュ・グループのタイムアウト値およびリカバリ・ポリシーを構成します。 |
Yes |
No |
|
キャッシュ接続プールの設定を適用します。 |
Yes |
No |
|
キャッシュ接続プールの設定を取得します。 |
Yes |
No |
|
動的キャッシュ・グループのキャッシュ接続プールを構成します。 |
Yes |
No |
|
データベースおよび指定されたキャッシュ・グループの自動リフレッシュの状態を返します。 |
Yes |
No |
|
キャッシュされたOracleデータベース表に対して発行されたDDL文の追跡を構成します。 |
Yes |
No |
|
接続されたデータベースに対してTimesTenキャッシュ・エージェントを実行するタイミングを決定する現在のポリシーを返します。 |
Yes |
No |
|
接続されたデータベースに対してTimesTenキャッシュ・エージェントを実行するタイミングを決定するために使用するポリシーを設定します。 |
Yes |
No |
|
現在のトランザクション内でコミットされたキャッシュ・グループへの更新の、Oracleデータベースへの伝播を構成します。 |
Yes |
No |
|
特定のキャッシュ・グループ・タイプのOracleデータベース・オブジェクトをインストールまたはアンインストールするOracle SQL文を生成します。 |
Yes |
No |
|
TimesTenキャッシュ・エージェントを起動します。 |
Yes |
No |
|
TimesTenキャッシュ・エージェントを停止します。 |
Yes |
No |
|
キャッシュ管理ユーザーIDを返します。 |
Yes |
No |
|
キャッシュ管理ユーザーのIDおよびパスワードを設定します。 |
Yes |
No |
|
非ブロッキング・チェックポイント処理を実行します。 |
Yes |
No |
|
ブロッキング・チェックポイント処理を実行します。 |
Yes |
No |
|
バックグラウンド・チェックポイント処理を動的に再構成したり、構成パラメータの現在アクティブな設定を返します。 |
Yes |
No |
|
過去8回のチェックポイントに関する情報を返します。 |
Yes |
No |
|
コミット・バッファのオーバーフロー回数およびトランザクション・コミット処理中にトランザクション再利用レコードに使用されたメモリーの最高水位標を返します。 |
Yes |
Yes |
|
トランザクション・コミット・バッファ統計を0にリセットします。 |
Yes |
No |
|
データベースの永続データ・パーティションと一時データ・パーティションの両方を圧縮します。 |
Yes |
No |
|
TimesTenのシステム表に格納された表サイズの統計をリフレッシュします。 |
Yes |
Yes |
|
現在のデータベース接続のほとんど(すべてではない)の接続属性の値を返します。 |
Yes |
Yes |
|
現在の接続のコンテキスト値を返します。 |
Yes |
Yes |
|
データベースに接続されたプロセスのリストを返します。 |
Yes |
Yes |
|
TimesTenデータベースのシステム・パラメータの値を設定または返します。 |
Yes |
Yes |
|
TimesTenデータベースのシステム・パラメータの値を設定または返します。 |
Yes |
Yes |
|
データベースの書込み同時実行モードおよび書込み同時実行モード処理と移行の状態についての情報を返します。 |
Yes |
No |
|
同時書込み処理期間中の読取り最適化を制御します。 |
Yes |
No |
|
進行中の再分散処理の進捗状況のレポートを返します。 |
No |
Yes |
|
トランザクションの永続性を設定します。 |
Yes |
Yes |
|
グリッド内の次にコミットされたトランザクションをエポック・トランザクションとしてコミットさせます。 |
No |
Yes |
|
現在の接続で作成された最後のエポックのエポック識別子を返します。 |
No |
Yes |
|
ヒープ・メモリーのサイズと使用率に関する情報を返します。 |
Yes |
Yes |
|
現在のローカル・ホストの名前を返します。 |
Yes |
No |
|
デフォルトのローカル・ホストの名前を指定します |
Yes |
No |
|
現在の接続の既存の取得データを削除します |
Yes |
Yes |
|
現在の接続のアクティブな接続レベルの取得またはアクティブなデータベース・レベルの取得のいずれかを終了します |
Yes |
Yes |
|
アクティブな各取得の情報を返します。 |
Yes |
Yes |
|
指定したレベルで最後に記録された取得の索引推奨項目を返します。 |
Yes |
Yes |
|
索引アドバイス取得を有効化します。 |
Yes |
Yes |
|
ラッチの統計を表示します。 |
Yes |
Yes |
|
Oracleデータベースに対して問合せを実行し、結果をTimesTen表にロードします。 |
Yes |
Yes |
|
接続の次のトランザクションとすべての後続トランザクションに対して、行レベルのロックとデータベース・レベルのロックの間でロック・レベルを変更します。 |
Yes |
Yes |
|
現在の接続のロック・タイムアウト間隔を変更します。 |
Yes |
Yes |
|
トランザクション・ログの保持に関する情報を返します。 |
Yes |
Yes |
|
|
Yes |
Yes |
|
指定した表の統計情報を消去します。 |
Yes |
Yes |
|
依存コマンドが再度呼び出された場合に、再コンパイルを強制するか、キャッシュからそのコマンドを削除します。これはユーザーが再度準備する必要があります。 |
Yes |
Yes |
|
指定した表の統計を更新します。 |
Yes |
Yes |
|
統計情報をテキスト形式で返します。 |
Yes |
Yes |
|
現在のトランザクションのオプティマイザ・フラグの設定を返します。 |
Yes |
Yes |
|
コンパイル済SQLコマンド・キャッシュの空きリストのサイズを返します。 |
Yes |
Yes |
|
現在のトランザクションの結合順序を含む、単一行の結果セットを返します。 |
Yes |
Yes |
|
時間隔情報を含む、指定した列の統計を変更します。 |
Yes |
Yes |
|
指定した列の統計を変更します。 |
Yes |
Yes |
|
TimesTen問合せオプティマイザによる実行計画の生成を変更するフラグを設定します。 |
Yes |
Yes |
|
通常の表に対するコンパイル済SQLコマンドの空きリストの最大カウントを設定します。 |
Yes |
Yes |
|
マテリアライズド・ビューのメンテナンスを実行するコンパイル済SQLコマンドの空きリストの最大カウントを設定します。 |
Yes |
Yes |
|
オプティマイザが表を結合する順序を指定します。 |
Yes |
Yes |
|
指定した表の統計を変更します。 |
Yes |
Yes |
|
現在のトランザクションで最後に準備または実行されたSQL文の結合順序を返します。 |
Yes |
Yes |
|
表の統計を現在の状態にリストアするために必要な一連の文を返します。 |
Yes |
Yes |
|
指定した表の統計を更新します。 |
Yes |
Yes |
|
TimesTen問合せオプティマイザによる実行計画の生成を変更します。 |
Yes |
Yes |
|
PL/SQLライブラリ・キャッシュのパフォーマンスおよびアクティビティに関する結果統計を返します。 |
Yes |
Yes |
|
無効化の後、データベースがRAMにリロードされるかどうかを判断するために使用するRAM自動リロード・ポリシーを返します。 |
Yes |
No |
|
データベースが無効化された場合のRAM自動リロード・ポリシーを決定します。 |
Yes |
No |
|
データベースがメモリーにロードされるタイミングを決定するために使用するRAMポリシーを返します。 |
Yes |
No |
|
データベースがメモリーにロードされるタイミングを決定するために使用するポリシーを定義します。 |
Yes |
No |
|
表をスキャンして冗長索引を検索します。 |
Yes |
Yes |
|
アクティブ・スタンバイ・ペアのアクティブ・データベースの状態を |
Yes |
No |
|
1つ以上のレプリケーション・ピア・データベースのステータスを返します。 |
Yes |
No |
|
レプリケーション再起動ポリシーを返します |
Yes |
No |
|
レプリケーション再起動ポリシーを指定します |
Yes |
No |
|
レプリケーション・エージェントの問合せしきい値として最後に指定された秒数を返します。 |
Yes |
No |
|
レプリケーション・エージェントが問合せを実行できる最大秒数を指定します。この秒数を超えると、警告がデーモン・ログに書き込まれます。 |
Yes |
No |
|
接続しているデータベースに対してTimesTenレプリケーション・エージェントを起動します。 |
Yes |
No |
|
アクティブ・スタンバイ・ペアのデータベースの現在のレプリケーションの状態を返します。 |
Yes |
No |
|
アクティブ・スタンバイ・ペアのリモート・ピア・データベースの状態を現在接続されているデータベースに保存します。 |
Yes |
No |
|
アクティブ・スタンバイ・ペアのレプリケーション・スキームのデータベースの状態を設定します。 |
Yes |
No |
|
接続しているデータベースのTimesTenレプリケーション・エージェントを停止します。 |
Yes |
No |
|
実行中のマスター・ストアのレプリケーション・サブスクライバの状態を変更します。 |
Yes |
No |
|
コール前にコミットされたすべてのトランザクションがサブスクライバに送信されるまで、コール元を待機させます。 |
Yes |
No |
|
コール元でのレプリケーション・ベースのRETURNサービスの使用状況に関連付けられた静的属性を返します。 |
Yes |
No |
|
コール元でのレプリケーション・ベースのRETURNサービスの使用状況に関連付けられた静的属性を設定します。 |
Yes |
No |
|
RETURNサービスと、サブスクライバに対するRETURNサービス・ブロッキングが障害ポリシーによって無効になっているかどうかを判断する |
Yes |
No |
|
現在のトランザクションの、サブスクライバへの更新データの転送状態を返します。 |
Yes |
No |
|
実行されている接続に対する後続の更新データを、サブスクライバにレプリケートしないようにします。 |
Yes |
No |
|
|
Yes |
No |
|
|
Yes |
No |
|
ユーザー指定の列IDの値を設定します。 |
Yes |
No |
|
ユーザー表IDの値を設定します。 |
Yes |
No |
|
表またはビューのサイズおよび索引のサイズを推定します。 |
Yes |
Yes |
|
TimesTen SQLコマンド・キャッシュのすべての準備されたSQL文に関する情報を返します。 |
Yes |
Yes |
|
TimesTen SQLコマンド・キャッシュのコマンドに関する情報を返します。 |
Yes |
Yes |
|
TimesTen SQLコマンド・キャッシュのSQL文のすべての詳細なランタイム問合せ計画を返します。 |
Yes |
Yes |
|
SQL実行時間のヒストグラムを返します。 |
Yes |
Yes |
|
|
Yes |
Yes |
|
|
Yes |
Yes |
|
Oracleデータベースの表に対する |
Yes |
Yes |
|
TimesTenリリース情報を返します。 |
Yes |
Yes |
|
現在の接続で実行された処理で割り当てられたメモリーが少ない場合に警告が返されるように指定します。 |
Yes |
Yes |
|
ロック・メッセージを解釈するためのトランザクションID情報を返します。 |
Yes |
Yes |
|
指定されたブックマークを作成します。 |
Yes |
No |
|
指定されたブックマークを削除します。 |
Yes |
No |
|
表の永続XLA追跡を構成します。 |
Yes |
No |
|
表の永続XLA追跡を停止します。 |
Yes |
No |
説明
このプロシージャは、Least Recently Used(LRU)エージング・ポリシーを指定して定義されたすべての通常の表にLRUエージング属性を設定します。LRUエージングを使用すると、最低使用頻度のデータを削除することによって、TimesTenデータベースで使用するメモリーの量を、指定されたしきい値の範囲内に維持できます。使用中のデータベース領域が指定されているしきい値を超えると、データが削除されます。
キャッシュ・グループの場合、LRUエージングはキャッシュ・インスタンス全体のルート表で定義されます。LRUエージングは、明示的にロードされる自動リフレッシュ・キャッシュ・グループを除いて、すべてのキャッシュ・グループ・タイプに対して定義できます。動的キャッシュ・グループには、デフォルトでLRUエージングが定義されます。明示的にロードされるキャッシュ・グループの場合、時間ベースのエージングを使用します。
キャッシュ表の場合、エージング・ポリシーはルート表に定義されますが、キャッシュ・グループのすべての表に適用されます。エージング・ポリシーは、CREATE TABLE
またはALTER TABLE
SQL文を使用して、エージング・ポリシーが作成または変更されるときに表に定義されます。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
パラメータ
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分というように実行されます。
サイクルが値 |
例
エージングしきい値の下限を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.
説明
このプロシージャは、エージング・サイクルの値にかかわらずエージング・プロセスを開始します。進行中のエージング・プロセスが存在しないかぎり、プロシージャがコールされた直後にエージング・プロセスが開始されます。その場合、組込みプロシージャをコールしたときに進行中だったエージング・プロセスが完了すると、新しいエージング・プロセスが開始されます。
このプロシージャをコールすると、エージングは1回だけ行われます。このプロシージャではエージング属性は変更されません。以前のエージングの状態はそのままです。たとえば、ttAgingScheduleNow
をコールしたときにエージングの状態がOFF
の場合、エージング・プロセスが開始されます。エージングが完了したときに、エージングの状態がOFF
の場合、エージングは続行されません。エージングを続行するには、エージング・サイクルの値に基づいて次にエージングが行われるように、ttAgingScheduleNow
を再度コールするか、エージングの状態をON
に変更する必要があります。
エージングがON
になっている表の場合は、ttAgingScheduleNow
がコールされた時点にエージング・サイクルがリセットされます。たとえば、午後12時にこのプロシージャをコールし、15分のエージング・サイクルを指定すると、エージングは、すぐに実行された後、12時15分、12時30分、12時45分というように再度実行されます。
このプロシージャをcron
ジョブなどの外部スケジューラで使用する場合や手動で実行する場合、このプロシージャは、進行中のエージング・プロセスがないときはプロシージャの実行時に、または現在のエージング・プロセスが完了するとすぐにエージング・プロセスを開始します。外部スケジューラがttAgingScheduleNow
プロシージャを実行するか、または手動でコールしたときにのみエージングを行う場合は、エージングの状態をOFF
に設定します。
エージングは、1秒ごとに起動して処理が必要かどうかをチェックするバックグラウンド・スレッドによって実行されます。ttAgingScheduleNow
をコールしても、指定された表がエージング・スレッドによって処理されるのは次の1秒間になります。組込みプロシージャがコールされたときにエージング・スレッドが別の表を処理していた場合は、指定された表の処理が開始されるまでに多少時間がかかる可能性があります。エージング・スレッドによって削除がコミットされるまで、行は表示されています。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
TimesTen Scaleoutアプリケーションでこの組込みプロシージャをコールできます。
TimesTen Scaleoutでは、このプロシージャは、コール元の要素に対してローカルに実行されます。
パラメータ
ttAgingScheduleNow
には、次のパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
tblname |
TT_CHAR (61) |
エージング・プロセスを開始する表の名前です。
表名の指定にシノニムは使用できません。 |
例
LRUエージングおよび時間ベース・エージングの両方が定義された表を含む、すべての表でエージングをスケジュールするには、パラメータ値を指定せずにttAgingScheduleNow
をコールします。
CALL ttAgingScheduleNow ();
この例では、時間ベースのエージング・ポリシーを指定し、エージングの状態をOFF
に設定した表agingex
を作成します。エージング・プロセスを1回起動するために、ttIsql
ユーティリティを使用してttAgingScheduleNow
をコールします。行は表から削除されます。ttAgingScheduleNow
をコールした後も、エージングの状態はOFF
のままです。エージングを続行するには、表を変更し、エージング状態をOFF
に設定します。
Command> CREATE TABLE agingex (col1 TT_INTEGER PRIMARY KEY NOT NULL, ts TIMESTAMP NOT NULL) AGING USE ts LIFETIME 1 MINUTES CYCLE 30 MINUTES OFF; Command> DESCRIBE agingex; Table TTUSER.AGINGEX: Columns: *COL1 TT_INTEGER NOT NULL TS TIMESTAMP (6) NOT NULL Aging use TS lifetime 1 minute cycle 30 minutes off 1 table found. (primary key columns are indicated with *) Command> INSERT INTO agingex VALUES (1, SYSDATE); 1 row inserted. Command> INSERT INTO agingex VALUES (2, SYSDATE); 1 row inserted. Command> SELECT * FROM agingex;
< 1, 2011-03-25 13:06:29.000000 > < 2, 2011-03-25 13:06:42.000000 > 2 rows found. Command> CALL ttAgingScheduleNow ('agingex'); Command> SELECT * FROM agingex; 0 rows found.
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
説明
このプロシージャは、データベースの現在のバックアップまたは最後のバックアップに関する情報が含まれる単一の行を返します。バックアップが進行中の場合は、この情報は現在のバックアップのものになります。バックアップが行われていない場合は、この情報は最後に実行されたバックアップのものになります。
最後に初期接続を行った後にデータベースをバックアップしていない場合は、statusフィールドが0
になり、その他の列はNULL
になります。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
TimesTen Scaleoutアプリケーションでこの組込みプロシージャをコールできます。
TimesTen Scaleoutでは、このプロシージャは、コール元の要素に対してローカルに実行されます。
結果セット
ttBackupStatus
は次の結果を返します。
列 | データ型 | 説明 |
---|---|---|
status |
TT_INTEGERNOT NULL |
バックアップの現在の進捗状況または最後のバックアップの完了状態を表すINTEGER コード。値は次のいずれかです。
|
destination |
TT_INTEGER |
実行されたバックアップのタイプ。データベースで実行されたバックアップがない場合、値はNULL です。次のいずれかの値です。
|
backupType |
TT_INTEGER |
バックアップのタイプ(全体または増分のいずれか)。データベースで実行されたバックアップがない場合、値はNULL です。次のいずれかの値です。
|
startTime |
TT_TIMESTAMP |
バックアップを開始した時間。データベースで実行されたバックアップがない場合、値はNULL です。 |
endTime |
TT_TIMESTAMP |
バックアップが完了した時間。この値がNULL で、startTime がNULL 以外の場合、バックアップは進行中です。 |
backupLFN |
TT_INTEGER |
バックアップ・ポイントのトランザクション・ログ・ファイル番号。データベースで実行されたバックアップがない場合、値はNULL です。 |
backupLFO |
TT_BIGINT |
バックアップ・ポイントのトランザクション・ログ・ファイルのオフセット。データベースで実行されたバックアップがない場合、値はNULL です。 |
error |
TT_INTEGER |
バックアップが失敗した場合、この列に失敗の理由が示されます。値は、TimesTenエラー番号のいずれかです。データベースで実行されたバックアップがない場合、値はNULL です。 |
processId |
TT_INTEGER |
バックアップを実行しているプロセスまたはデーモンのID(特定できる場合)。 |
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
TimesTen Scaleoutアプリケーションでこの組込みプロシージャをコールできます。
このプロシージャは、コール元の要素の行を返します。他の要素に関する情報を表示するには、SYS.GV$BLOCK_INFO
システム表を問い合せます。
説明
このプロシージャは、TimesTenトランザクション・ログに関する情報を返します。トランザクション・ログ内のレコードは、次の整数のペアによって識別されます。
トランザクション・ログ・ファイル番号。
そのトランザクション・ログ・ファイルのオフセット。
トランザクション・ログ・ファイル番号は、トランザクション・ログ・ファイルに指定されたファイル・システム名に対応します。たとえば、トランザクション・ログ・ファイルSalesData.log29
のトランザクション・ログ・ファイル番号は29
です。
ttBookmark
の結果行では、次の3つのログ・レコードが識別されます。
最後に書き込まれたログ・レコードの識別。
最後にディスクに書き込まれたログ・レコードの識別。
レプリケーション・ブックマーク。レプリケーション・ブックマークとは、更新が別のシステムへレプリケートされていないことを示す、最も古いログ・レコードのことです。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
TimesTen Scaleoutアプリケーションでこの組込みプロシージャをコールできます。
TimesTen Scaleoutでは、このプロシージャは、コール元の要素に対してローカルに実行されます。
結果セット
ttBookmark
は次の結果セットを返します。
列 | データ型 | 説明 |
---|---|---|
writeLFN |
TT_INTEGER |
最後に書き込まれたトランザクション・ログ・ファイル。 |
writeLFO |
TT_BIGINT |
トランザクション・ログ・ファイルに最後に書き込まれたオフセット。 |
forceLFN |
TT_INTEGER |
最後にディスクに書き込まれたトランザクション・ログ・ファイル。 |
forceLFO |
TT_BIGINT |
最後にディスクに書き込まれたトランザクション・ログ・ファイルのオフセット。 |
holdLFN |
TT_INTEGER |
レプリケーション・ブックマークのトランザクション・ログ・ファイル。 |
holdLFO |
TT_BIGINT |
レプリケーション・ブックマークのログのオフセット。 |
ttCacheADGStandbyStateSet
組込みプロシージャで指定されたスタンバイOracleデータベースの状態を返します。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
結果セット
ttCacheADGStandbyStateGet
はスタンバイOracleデータベースの状態を返します。
パラメータ | データ型 | 説明 |
---|---|---|
ADGStandbyState |
TT_VARCHAR(20) |
OK : Active Data Guard構成のスタンバイOracleデータベースは稼働中であるとみなされます。
|
例
次の例では、ttCacheADGStandbyStateSet
組込みプロシージャをコールして、Active Data Guard環境内のスタンバイOracleデータベースの状態を最初にOK
に設定し、次にFAILED
に設定する方法を示します。ttCacheADGStandbyStateGet
組込みプロシージャは、スタンバイOracleデータベースの現在の状態の値を取得します。
Command> call ttCacheADGStandbyStateSet('OK'); Command> call ttCacheADGStandbyStateGet(); < OK > 1 row found. Command> call ttCacheADGStandbyStateSet('FAILED'); Command> call ttCacheADGStandbyStateGet(); < FAILED > 1 row found.
Active Data Guard環境では、ユーザーはttCacheADGStandbyStateSet
組込みプロシージャをコールして、スタンバイOracleデータベースの状態をキャッシュ・エージェントに通知できます。
スタンバイOracleデータベースの状態をOK
に設定すると、キャッシュ・エージェントは、プライマリOracleデータベースからスタンバイOracleデータベースにレプリケートされたトランザクションのみを自動リフレッシュします。
スタンバイOracleデータベースに障害が発生した場合、ttCacheADGStandbyTimeoutSet組込みプロシージャを使用してタイムアウトを設定してあると、タイムアウトに到達してもスタンバイOracleデータベースからの応答がない場合は、状態がFAILED
に変更されます。
スタンバイOracleデータベースに障害が発生した場合、タイムアウトを設定していないと、(スタンバイOracleデータベースの状態をFAILED
に設定していないかぎり)スタンバイOracleデータベースがリカバリされるまで自動リフレッシュが停止します。
スタンバイOracleデータベースで障害が発生し、自動リフレッシュの一部として使用しないことがわかっている場合は、スタンバイOracleデータベースの状態をFAILED
に設定します。状態をFAILED
に設定した場合、キャッシュ・エージェントはトランザクションがスタンバイOracleデータベースにレプリケートされることを待機しないで、プライマリOracleデータベースについてのみ自動リフレッシュを続行します。キャッシュ・エージェントは、スタンバイOracleデータベースがリカバリされ、現在はアクティブになっている場合でも、状態がOK
に変更されるまで自動リフレッシュにスタンバイOracleデータベースを含めません。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
パラメータ
ttCacheADGStandbyStateSet
には、次のパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
ADGStandbyState |
TT_VARCHAR(20) |
OK : Active Data Guard構成のスタンバイOracleデータベースがアクティブであることをキャッシュ・エージェントに通知します。これはデフォルトです。
|
例
次の例では、ttCacheADGStandbyStateSet
組込みプロシージャをコールして、Active Data Guard環境内のスタンバイOracleデータベースの状態を最初にOK
に設定し、次にFAILED
に設定する方法を示します。ttCacheADGStandbyStateGet
組込みプロシージャは、スタンバイOracleデータベースの現在の状態の値を取得します。
Command> call ttCacheADGStandbyStateSet('OK'); Command> call ttCacheADGStandbyStateGet(); < OK > 1 row found. Command> call ttCacheADGStandbyStateSet('FAILED'); Command> call ttCacheADGStandbyStateGet(); < FAILED > 1 row found.
ttCacheADGStandbyTimeoutSet
組込みプロシージャで指定されたタイムアウトを取得します。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
結果セット
ttCacheADGStandbyTimeoutGet
はタイムアウトを返します。
パラメータ | データ型 | 説明 |
---|---|---|
ADGStandbyTimeout |
TT_INTEGER |
プライマリOracleデータベースのみを使用してキャッシュ・グループを自動リフレッシュする前に、Active Data Guard構成のスタンバイOracleデータベースからのレスポンスを待機する時間のタイムアウト(秒単位)。 |
ttCacheADGStandbyTimeoutSet
組込みプロシージャを使用してタイムアウトを設定すると、Active Data Guard構成のスタンバイOracleデータベースからのレスポンスを待機する時間を指定できます。スタンバイOracleデータベースがこの期間を経過しても応答しない場合、スタンバイOracleデータベースの状態は自動的にFAILED
に変更され、キャッシュ・エージェントはプライマリOracleデータベースのみを使用した自動リフレッシュを促します。
ノート: ユーザーはいつでも、ttCacheADGStandbyStateSet 組込みプロシージャを実行して状態をOK に設定することで、Active Data Guardのスタンバイ状態をリストアできます。 |
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
パラメータ | データ型 | 説明 |
---|---|---|
ADGStandbyTimeout |
TT_INTEGERNOT NULL |
プライマリOracleデータベースのみを使用してキャッシュ・グループを自動リフレッシュする前に、スタンバイOracleデータベースからの応答を待機する時間を秒単位で指定したタイムアウト。
デフォルトは0で、タイムアウトは使用されず、このタイムアウトの結果としてスタンバイOracleデータベースの状態が |
例
次の例では、ttCacheADGStandbyTimeoutSet
組込みプロシージャを使用して、スタンバイOracleデータベースからのレスポンスを待機する時間を示すタイムアウトを設定する方法を示しています。その後、ttCacheADGStandbyTimeoutGet
組込みプロシージャをコールしてタイムアウト値を取得する方法を示しています。
Command> call ttCacheADGStandbyTimeoutSet('60'); Command> call ttCacheADGStandbyTimeoutGet(); < 60 > 1 row found.
説明
ttCacheAllowFlushAwtSet
組込みプロシージャは、AWTキャッシュ・グループに対してFLUSH CACHE GROUP
文を実行できるようにし、『Oracle TimesTen In-Memory Database開発者および管理者ガイド』のキャッシュ・グループに非同期データが存在する場合に関する項に示すように、特定のリカバリ・シナリオでのみ使用されます。
enableFlush
パラメータを1に設定している場合、ttCacheAllowFlushAwtSet
組込みプロシージャを実行する前にAutocommitを無効に設定します(そうしない場合、このパラメータは、組込みプロシージャの実行後、直接自動的に0にリセットします)。その後、FLUSH CACHE GROUP
文を実行してttCacheAllowFlushAwtSet
組込みプロシージャを実行した後にコミットを実行して、enableFlush
パラメータを0にリセットします。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
パラメータ
ttCacheAllowFlushAwtSet
には、次のパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
allow |
TT_INTEGERNOT NULL |
0 : AWTキャッシュ・グループに対してFLUSH CACHE GROUP 文を実行できません(これは意図した制約です)。
|
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
パラメータ
ttCacheAutorefIntervalStatsGet
には、次のパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
autoRefInterval |
TT_BIGINTNOT NULL |
autorefreshInterval は統計を収集するキャッシュ・グループ(この自動リフレッシュ間隔値のキャッシュ・グループ)を指定します。
自動リフレッシュ間隔(ミリ秒単位)の整数値は、自動リフレッシュの頻度を示すために自動リフレッシュ・キャッシュ・グループが作成されたときに最初に指定した値と同じ値です。 |
isStatic |
TT_INTEGER |
指定された間隔の値で静的キャッシュ・グループの情報を取得するか、動的キャッシュ・グループの情報を取得するかを示します。
デフォルトは静的です。 |
結果セット
ttCacheAutorefIntervalStatsGet
は、特定の自動リフレッシュ間隔の過去10回の自動リフレッシュ・サイクルについての統計情報を返します。
列 | データ型 | 説明 |
---|---|---|
autorefInterval |
TT_BIGINT |
自動リフレッシュ間隔(ミリ秒)。 |
isStatic |
TT_INTEGER |
指定された間隔値で静的キャッシュ・グループまたは動的キャッシュ・グループの情報を示します。
|
autorefNumber |
TT_BIGINT |
自動リフレッシュ番号。 |
startTimestamp |
TT_TIMESTAMP |
自動リフレッシュ開始時間。 |
selectLimit |
TT_BIGINT |
増分自動リフレッシュ・キャッシュ・グループの行の制限セットを選択します。 |
numRows |
TT_BIGINT |
リフレッシュされる行数。 |
numOps |
TT_BIGINT |
実行されたSQL操作数。 |
numCommits |
TT_BIGINT |
コミット数。 |
commitBufSize |
TT_BIGINT |
最大コミット・バッファ・サイズ(バイト)。 |
commitBufMaxReached |
TT_BIGINT |
コミット処理に使用されたメモリー量(バイト)。 |
commitBufNumOverflows |
TT_BIGINT |
各トランザクションに対してオーバーフローしたコミット・バッファの回数。 |
totalNumRows |
TT_BIGINT |
自動リフレッシュ・スレッドが開始してからリフレッシュされた行数。 |
totalNumOps |
TT_BIGINT |
自動リフレッシュ・スレッドが開始してからSQL操作が実行された回数。 |
totalNumCommits |
TT_BIGINT |
自動リフレッシュ・スレッドが開始してからのコミット数。 |
totalNumRollbacks |
TT_BIGINT |
自動リフレッシュ・スレッドが開始してからのs の数 |
totalNumSnapshotOld |
TT_BIGINT |
自動リフレッシュ・スレッドが開始してから受信した「Snapshot too old」エラーの数。 |
例
次の例では、静的であり7秒の間隔があると定義された自動リフレッシュ・キャッシュ・グループの統計を取得するための、ttCacheAutorefIntervalStatsGet
組込みプロシージャを実行する方法を示しています。
Command> call ttCacheAutorefIntervalStatsGet(7000,1); < 7000, 1, 41, 2013-04-25 15:17:00.000000, 0, 0, 0, 1, 0, 0, <NULL>, 132121, 132121, 13, 21, 0, 0, 0, 0 > < 7000, 1, 40, 2013-04-25 15:16:53.000000, 0, 0, 0, 1, 0, 0, <NULL>, 132121, 132121, 12, 21, 0, 0, 0, 0 > < 7000, 1, 39, 2013-04-25 15:16:46.000000, 0, 0, 0, 1, 0, 0, <NULL>, 132121, 132121, 11, 21, 0, 0, 0, 0 > < 7000, 1, 38, 2013-04-25 15:16:39.000000, 0, 0, 0, 1, 0, 0, <NULL>, 132121, 132121, 10, 21, 0, 0, 0, 0 > < 7000, 1, 37, 2013-04-25 15:16:32.000000, 0, 6305, 6305, 1, 0, 131072, <NULL>, 132121, 132121, 9, 21, 0, 0, 0, 0 > < 7000, 1, 36, 2013-04-25 15:16:24.000000, 0, 15616, 15616, 1, 0, 131072, <NULL>, 125816, 125816, 8, 21, 0, 0, 0, 0 > < 7000, 1, 35, 2013-04-25 15:16:17.000000, 0, 18176, 18176, 1, 0, 131072, <NULL>, 110200, 110200, 7, 21, 0, 0, 0, 0 > < 7000, 1, 34, 2013-04-25 15:16:10.000000, 0, 14336, 14336, 1, 0, 131072, <NULL>, 92024, 92024, 6, 21, 0, 0, 0, 0 > < 7000, 1, 33, 2013-04-25 15:16:03.000000, 0, 15360, 15360, 1, 0, 131072, <NULL>, 77688, 77688, 5, 21, 0, 0, 0, 0 > < 7000, 1, 32, 2013-04-25 15:15:56.000000, 0, 11520, 11520, 1, 0, 131072, <NULL>, 62328, 62328, 4, 21, 0, 0, 0, 0 > 10 rows found.
関連項目
ttCacheAutorefreshSelectLimit
ttCacheAutorefreshXactLimit
説明
このプロシージャは、指定されたキャッシュ・グループと同じ自動リフレッシュ間隔を共有することで関連付けられている一連のキャッシュ・グループに対して、即時自動リフレッシュを開始します。通常は、この関連付けられた一連のキャッシュ・グループは、自動で同時にリフレッシュされます。自動リフレッシュ・プロセスへの影響は、指定されたキャッシュ・グループと同じリフレッシュ間隔を持つに新しいキャッシュ・グループを追加する場合と同じです。このプロシージャは、Oracle Databaseで更新が発生した場合に、次のスケジュールされた自動リフレッシュの前にキャッシュ・グループを更新したいときに役立ちます。
既存のトランザクションにロックされている表オブジェクトがあり、それらの表オブジェクトが自動リフレッシュの対象となる一連のキャッシュ・グループに属している場合、このプロシージャは何もアクションを行わずにエラーを返します。このプロシージャは、そのセッションで他の処理を実行する前にコミットまたはロールバックが必要であるという条件を設定します。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
パラメータ
ttCacheAutorefresh
には、次のパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
cgOwner |
VARCHAR2 (30) |
キャッシュ・グループの所有者の名前。 |
cgName |
VARCHAR2 (30) NOT NULL |
キャッシュ・グループの名前。 |
synchronous |
TT_INTEGER |
データを同期または非同期のどちらで更新するかを指定します。
|
説明
ttCacheAutorefreshLogDefrag
組込みプロシージャは、キャッシュ自動リフレッシュ表のトリガー・ログ領域を圧縮します。
使用方法の詳細は、『Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイド』の表領域での変更ログ表のデフラグに関する説明を参照してください。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
説明
このプロシージャは、指定されたキャッシュ・グループで実行された過去10回の自動リフレッシュ・トランザクションに関する情報を返します。この情報は、AUTOREFRESH
の状態がON
またはPAUSED
で、キャッシュ・エージェントが実行中である場合のみ返されます。
この組込みプロシージャが返す情報は、次の場合に常にリセットされます。
キャッシュ・エージェントが再起動された場合
状態がOFF
に設定されてからON
またはPAUSED
に戻された場合
キャッシュ・グループが削除されて再作成された場合
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
パラメータ
ttCacheAutorefreshStatsGet
には、次のパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
cgOwner |
VARCHAR2 (30) |
キャッシュ・グループの所有者の名前。 |
cgName |
VARCHAR2 (30) NOT NULL |
自動リフレッシュに関する情報を返すキャッシュ・グループの名前。 |
結果セット
ttCacheAutorefreshStatsGet
組込みプロシージャは、自動リフレッシュ・モードがFULL
のキャッシュ・グループには、列情報のサブセットのみを返します。入手できない情報に対しては列値0
が返されます。
ttCacheAutorefreshStatsGet
は次の結果を返します。
列名 | 列型 | 説明 | 完全自動リフレッシュで返されるか |
---|---|---|---|
cgId |
TT_BIGINT |
キャッシュ・グループID。 | Y |
startTimestamp |
TT_TIMESTAMP |
この時間隔で自動リフレッシュが開始された時間のタイムスタンプ。次のノートを参照してください。 | Y |
cacheAgentUpTime |
TT_BIGINT |
この時間隔で自動リフレッシュ・トランザクションが開始されてからのキャッシュ・エージェントの経過時間(ミリ秒)。この値は累積値で、キャッシュ・エージェント・プロセスが開始されるとリセットされます。次のノートを参照してください。 | Y |
autorefNumber |
TT_BIGINT |
キャッシュ・グループの自動リフレッシュ番号は、キャッシュ・エージェントの開始後にこのキャッシュ・グループが何回増分リフレッシュされたかを示します。キャッシュ・エージェントの開始時に、この番号は0 に初期化されます。 |
Y |
autorefDuration |
TT_BIGINT |
この自動リフレッシュ・トランザクションで経過した時間(ミリ秒)。 | Y |
autorefNumRows |
TT_BIGINT |
この自動リフレッシュで自動リフレッシュされた行数。ルート表および子表の行を含む、すべての行が含まれます。
複数の表が含まれるキャッシュ・グループの場合、子表の行は複数回更新されます。したがって、自動リフレッシュされる行の数は、Oracle Databaseで更新される行の数を超える場合があります。 |
N |
numOracleBytes |
TT_BIGINT |
この自動リフレッシュ・トランザクションでOracle Databaseから転送されたバイト数。 | N |
autorefNumRootTblRows |
TT_BIGINT |
この自動リフレッシュ・トランザクションで自動リフレッシュされたルート表の行数。 | Y |
autorefQueryExecDuration |
TT_BIGINT |
Oracle Databaseで自動リフレッシュ問合せの実行にかかった時間(ミリ秒)。 | N |
autorefQueryFetchDuration |
TT_BIGINT |
自動リフレッシュ問合せでOracle Databaseからの行フェッチにかかった時間(ミリ秒)。 | N |
autorefTtApplyDuration |
TT_BIGINT |
TimesTenによる自動リフレッシュの適用にかかった時間(ミリ秒)。 | N |
totalNumRows |
TT_BIGINT |
キャッシュ・エージェントの起動後に自動リフレッシュされた行の合計数。
自動リフレッシュされる行の総数は、Oracle Databaseで更新される行の数とは異なる場合があります。これはログのマーキングの遅延によるもので、一部の更新は自動リフレッシュされて複数回カウントされる場合があります。 |
N |
totalNumOracleBytes |
TT_BIGINT |
キャッシュ・エージェントの起動後にOracle Databaseから転送された総バイト数。 | N |
totalNumRootTblRows |
TT_BIGINT |
キャッシュ・エージェントの起動後に自動リフレッシュされたルート表の行の合計数。 | Y |
totalDuration |
TT_BIGINT |
キャッシュ・エージェントの起動後の自動リフレッシュの合計経過時間(ミリ秒)。 | Y |
status |
VARCHAR2 (128) |
現在の自動リフレッシュの状態を説明する文字列。次のノートを参照してください。このフィールドでサポートされている値は次のとおりです。
|
Y |
numlogrows |
TT_BIGINT |
この自動リフレッシュでOracle Databaseからフェッチされた行数。 | Y |
totalnumlogrows |
TT_BIGINT |
この自動リフレッシュでOracle Databaseからフェッチされた行の累積数。 | Y |
autorefLogFragmentationPct |
TT_BIGINT |
最低レベルの表使用率(パーセント)。表使用率が指定されたパーセントよりも低い場合には、表は圧縮されます。 | Y |
autorefLogFragmentationTs |
TT_TIMESTAMP |
使用率または断片率が最後に計算されたときのタイムスタンプ。 | Y |
autorefLogDefragGcnt |
TT_BIGINT |
表が圧縮された回数。 | Y |
例
この例では、testcache
は、1つの表を持ち、増分自動リフレッシュ時間隔が10秒のREADONLY
キャッシュ・グループです。
Command> call ttcacheautorefreshstatsget('user1','testcache'); < 1164260, 2011-07-23 15:43:52.000000, 850280, 44, 0, 75464, 528255, 75464, 310, 110, 6800, 1890912, 12439795, 1890912, 160020, InProgress, 2, 74 > < 1164260, 2011-07-23 15:43:33.000000, 831700, 43, 13550, 108544, 759808, 108544, 1030, 230, 12290, 1815448, 11911540, 1815448, 160020, Complete, 2, 72 > < 1164260, 2011-07-23 15:43:12.000000, 810230, 42, 17040, 115712, 809984, 115712, 610, 330, 16090, 1706904, 11151732, 1706904, 146470, Complete, 2, 70> < 1164260, 2011-07-23 15:42:52.000000, 790190, 41, 14300, 94208, 659456, 94208,560, 320, 13410, 1591192, 10341748, 1591192, 129430, Complete, 2, 68 > < 1164260, 2011-07-23 15:42:32.000000, 770180, 40, 12080, 99328, 695296, 99328,450, 290, 11340, 1496984, 9682292, 1496984, 115130, Complete, 2, 66 > < 1164260, 2011-07-23 15:42:12.000000, 750130, 39, 10380, 86016, 598368, 86016,430, 230, 9720, 1397656, 8986996, 1397656, 103050, Complete, 2, 64 > < 1164260, 2011-07-23 15:41:52.000000, 730130, 38, 13530, 112640, 700768, 112640, 530, 220, 12780, 1311640, 8388628, 1311640, 92670, Complete, 2, 62 > < 1164260, 2011-07-23 15:41:32.000000, 710120, 37, 9370, 56320, 326810, 56320, 310, 160, 8900, 1199000, 7687860, 1199000, 79140, Complete, 2, 60 > < 1164260, 2011-07-23 15:41:22.000000, 700120, 36, 2120, 10240, 50330, 10240, 50, 200, 1870, 1142680, 7361050, 1142680, 69770, Complete, 2, 58 > < 1164260, 2011-07-23 15:41:12.000000, 690110, 35, 0, 0, 0, 0, 0, 0, 0, 1132440, 7310720, 1132440, 67650, Complete, 2, 56 > 10 rows found.
ノート
ここでレポートされているほとんどの列値は、キャッシュ・グループ・レベルで収集されます。たとえば、autorefDuration
およびautorefNumRows
には、指定したキャッシュ・グループの情報のみが含まれます。このルールの例外は、列値cacheAgentUpTime、startTimestamp
およびautorefreshStatus
です。これらの値は、自動リフレッシュ時間隔レベルでレポートされます。
StartTimestamp
は、自動リフレッシュ時間隔における自動リフレッシュの開始時に取得されます。キャッシュ・グループは、時間隔の自動リフレッシュが開始されるとただちにin progress
状態になります。時間隔のすべてのキャッシュ・グループの自動リフレッシュが完了すると、complete
とマークされます。
このプロシージャは、TimesTen Cacheでのみ使用可能です。
説明
Oracle Databaseの実表を自動リフレッシュ変更ログ表の制限された行数と結合するために増分自動リフレッシュを設定することは、選択制限の設定として知られています。これはttCacheAutorefreshSelectLimit
組込みプロシージャで実行できます。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
パラメータ
ttCacheAutorefreshSelectLimit
には、次のパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
param |
TT_VARCHAR2 (50) |
autorefreshInterval はvalue を適用するキャッシュ・グループ(この自動リフレッシュ間隔値のキャッシュ・グループ)を指定します。
自動リフレッシュ間隔(ミリ秒単位)の整数値は、自動リフレッシュの頻度を示すために自動リフレッシュ・キャッシュ・グループが作成されたときに最初に指定した値と同じ値です。 |
value |
TT_VARCHAR2 (200) |
value は、キャッシュ表に適用する自動リフレッシュ変更ログ・ファイルから選択した行数の制限を示します。これらの変更は自動リフレッシュ変更ログ表のすべての行が適用されるまで、増分的に適用されます。
値が変更された場合、その変更は次の自動リフレッシュ・サイクルの開始時に適用されます。
|
結果セット
ttCacheAutorefreshSelectLimit
は特定の自動リフレッシュ間隔に設定された次の選択制限の値を返します。
列 | データ型 | 説明 |
---|---|---|
param |
TT_VARCHAR2(50) |
autorefreshInterval はキャッシュ・グループ(この自動リフレッシュ間隔値のキャッシュ・グループ)を指定します。 |
value |
TT_VARCHAR2(200) |
現在のvalue は、キャッシュ表に適用する自動リフレッシュ変更ログ・ファイルから選択された行数を示します。 |
例
NULL
値を指定するか、パラメータを指定しないことで現在の設定を表示できます。次の例では間隔値が7秒の増分自動リフレッシュ・キャッシュ・グループの設定を表示します。
Command> call ttCacheAutorefreshSelectLimit('7000', NULL); < 7000, 2000 > 1 row found. Command> call ttCacheAutorefreshSelectLimit('7000'); < 7000, 2000 > 1 row found.
次の例では間隔値が7秒の増分自動リフレッシュ・キャッシュ・グループに対して選択制限を2000行に設定しています。
Command> call ttCacheAutorefreshSelectLimit('7000', '2000'); < 7000, 2000 > 1 row found.
ノート
このプロシージャは、TimesTen Cacheでのみ使用可能です。
ttCacheAutotrefreshSelectLimit
組込みプロシージャは、キャッシュ・グループが増分自動リフレッシュを設定した静的読取り専用キャッシュ・グループとして定義されている1つの表を含む単一のキャッシュ・グループに定義した間隔のみに選択制限を設定できます。
ttCacheAutorefreshSelectLimit
の設定は、レプリケートまたは複製されません。ユーザーは、アクティブ・ノードおよびスタンバイ・ノードの両方において組込みを実行する必要があります。
その間隔のすべてのキャッシュ・グループを削除した場合、設定はリセットされません。
ttMigrate
、ttBackup
、ttRestore
組込みプロシージャは、ttCacheAutorefreshSelectLimit
の設定を保存しません。
キャッシュ・グループ自動リフレッシュ間隔を変更する場合、キャッシュ・グループに対してttCacheAutorefreshSelectLimit
の実行を介して以前設定された内容は変更されません。ttCacheAutorefreshSelectLimit
組込みプロシージャでキャッシュ・グループの選択制限のみを変更できます。
関連項目
ttCacheAutorefIntervalStatsGet
説明
このプロシージャは、指定された自動リフレッシュ間隔内で、単一表のキャッシュ・グループに対して即時自動リフレッシュを開始し、指定された数の操作の後にコミットします。
このプロシージャは、Oracle Databaseで更新が発生した場合に、次のスケジュールされた自動リフレッシュの前にキャッシュ・グループで更新をリフレッシュしたいときに役立ちます。
再利用バッファ・サイズを変更するには、ttDBConfig
組込みプロシージャを使用します。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
パラメータ
ttCacheAutorefreshXactLimit
には、次のパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
param |
VARCHAR2 (50) NOT NULL |
自動リフレッシュ・キャッシュ・グループの実行が定義される間隔をミリ秒の単位で指定します。IntervalValue は、自動リフレッシュ・キャッシュ・グループが作成されたときに指定された、自動リフレッシュの頻度を示すミリ秒単位の整数です。 |
value |
VARCHAR2 (200) |
Value は、次のいずれかになります。
|
結果セット
ttCacheAutorefreshXactLimit
は次の結果を返します。
列 | データ型 | 説明 |
---|---|---|
param |
VARCHAR2 (50) NOT NULL |
自動リフレッシュ・キャッシュ・グループの実行が定義される間隔(ミリ秒)。 |
value |
VARCHAR2 (200) |
Value は、次のいずれかになります。
|
例
次の例では、10秒の間隔値で定義されたすべての増分自動リフレッシュ読取り専用キャッシュ・グループに対し、トランザクション制限を256回の操作後ごとにコミットするように設定しています。
call ttCacheAutorefreshXactLimit('10000', 'ON');
月末の処理が完了し、増分自動リフレッシュ読取り専用キャッシュ・グループがリフレッシュされた後、10秒の間隔値で定義された増分自動リフレッシュ読取り専用キャッシュ・グループに対し、トランザクション制限を無効にします。
call ttCacheAutorefreshXactLimit('10000', 'OFF');
増分自動リフレッシュ読取り専用キャッシュ・グループが2000回の操作後ごとにコミットするようにトランザクション制限を有効にするには、次のように2000を値として指定します。
call ttCacheAutorefreshXactLimit('10000', '2000');
ノート
このプロシージャは、TimesTen Cacheでのみ使用可能です。この組込みプロシージャは、増分自動リフレッシュを備えた静的読取りキャッシュ・グループにのみ適用されます。
自動リフレッシュが実行中および複数の小さいトランザクションに適用されている間は、トランザクション一貫性は維持できません。自動リフレッシュ・サイクルが完了すると、データはトランザクション一貫性があります。
ttCacheAutorefreshXactLimit
の設定は、レプリケートまたは複製されません。ユーザーは、アクティブ・ノードおよびスタンバイ・ノードの両方で組込みプロシージャを実行する必要があります。
その間隔のすべてのキャッシュ・グループを削除した場合、設定はリセットされません。
ttMigrate
、ttBackup
、ttRestore
組込みプロシージャは、ttCacheAutorefreshXactLimit
の設定を保存しません。
キャッシュ・グループの自動リフレッシュ間隔を変更しても、ttCacheAutorefreshXactLimit
の設定は変更されません。
関連項目
ttCacheAutorefIntervalStatsGet
説明
このプロシージャを使用すると、監視を有効にして、AWTキャッシュ・グループのワークフローの各コンポーネントに費やされた時間を確認できます。監視結果を表示するには、-awtmoninfo
および-showstatus
オプションを指定してttRepAdmin
ユーティリティを使用します。
レプリケーション・エージェントが起動されると、監視は無効になります。監視状態をOFF
に設定すると、監視ツールの内部カウンタがリセットされます。
このプロシージャは、AWTの変更をOracle Databaseにレプリケートしているレプリケーション・ノードで実行します。アクティブ・スタンバイ・ペアが正常に機能している場合、AWTの変更をレプリケートするノードがスタンバイ・ノードです。アクティブ・ノードがスタンドアロンで動作している場合は、AWTの変更をレプリケートしているノードがアクティブ・ノードになります。
アクティブ・データベースのあるノードで障害が発生した場合、スタンバイ・ノードが新しいアクティブ・ノードになります。その場合は、このプロシージャを新しいアクティブ・ノードに対して実行します。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
パラメータ
ttCacheAWTMonitorConfig
には、次のオプションのパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
state |
TT_CHAR(10) |
AWT監視を有効および無効にします。値は、ON またはOFF です。デフォルトはOFF です。 |
samplingRate |
TT_INTEGER |
AWTワークフローがサンプリングされる頻度を指定する正の整数。samplingRate を1 に設定すると、すべてのAWT処理が監視されます。値が大きいほど、サンプリングの頻度は低くなります。正確性とパフォーマンスの観点から推奨される値は16 です。state がON に設定されている場合、samplingRate のデフォルトは16です。stateがOFF に設定されている場合、samplingRate のデフォルトは0 です。 |
結果セット
パラメータを何も指定しない場合、ttCacheAWTMonitorConfig
は次の結果を返します。レプリケーション・エージェントが実行中でない場合、またはAWTキャッシュ・グループが作成されていない場合は、エラーを返します。
列 | データ型 | 説明 |
---|---|---|
state |
TTVARCHAR (10) NOT NULL |
AWT監視の現在の状態。値は、ON またはOFF です。 |
AWTSamplingFactor |
TT_INTEGERNOT NULL |
AWTワークフローがサンプリングされる頻度を指定する正の整数。 |
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
説明
このプロシージャは、AWTが停止しているか、または大幅な遅延が発生しているとみなされるまでに蓄積されるトランザクション・ログ・ファイル数のしきい値を示します。この設定は、データベースのすべてのサブスクライバに適用されます。しきい値を超えた場合、更新はOracle Databaseに送信されなくなります。しきい値が設定されてない場合のデフォルトは、0(ゼロ)です。
この組込みプロシージャを使用すると、AWTキャッシュ・グループが作成された後にしきい値を設定できます。
この設定は、データベースのログ障害しきい値をリセットするCREATE REPLICATION
文によって上書きできます。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
説明
ttCacheCheck
組込みプロシージャは、Oracle Database上のキャッシュされた表に対する制約が失われていないかをチェックします。
キャッシュされるOracle Database表の列に対する任意の一意索引、一意制約または外部キー制約は、TimesTen内の非同期ライトスルー・キャッシュ表でも作成する必要があります。これらの制約をAWTキャッシュ表に作成しておらず、キャッシュ・グループをパラレル伝播用に構成している場合には、TimesTenは制約が失われている表に対するDML操作によってトランザクションをシリアライズします。
このプロシージャでは、失われている制約およびシリアライズされた伝播用にマークされた表についての情報が提供されます。
失われている制約を手動でチェックするには、次の状況でttCacheCheck
をコールします。
一連のDROP CACHE GROUP
文の完了後。
Oracle Database上で一意索引または外部キーを作成または削除した後。
複数のトランザクションがシリアライズされている理由を判断するため。
このプロシージャは、表に対して実行されたDMLがシリアライズされる必要があるかないかを示すためにシステム表を更新します。したがって、ttCacheCheck
組込みの完了後に、コミットまたはロールバックする必要があります。
パラレル伝播の詳細は、『Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイド』のOracle Database表へのパラレル伝播の構成に関する説明を参照してください。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
パラメータ
ttCacheCheck
には、次のパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
operation |
TT_VARCHAR(30) |
チェックする制約を指定します。有効な値は次のとおりです。
|
cgOwner |
TT_VARCHAR(30) |
キャッシュされたOracle Database表の所有者を指定します。
|
cgName |
TT_VARCHAR(30) |
キャッシュされたOracle Database表の名前を指定します。
|
結果セット
ttCacheCheck
は、次の結果セットを返します。
列 | データ型 | 値 |
---|---|---|
cgOwner |
TT_VARCHAR (30) NOT NULL |
キャッシュ・グループの所有者。 |
cgName |
TT_VARCHAR (30) NOT NULL |
キャッシュ・グループの名前。 |
tblOwner |
TT_VARCHAR(30) |
表の所有者。 |
tblName |
TT_VARCHAR(30) |
表の名前。 |
objectType |
TT_VARCHAR(15) |
Oracleオブジェクトのタイプ: 一意索引、制約または外部キー。 |
objectOwner |
TT_VARCHAR(30) |
Oracleオブジェクトの所有者。 |
objectName |
TT_VARCHAR(30) |
オブジェクト名。 |
msgType |
TT_SMALLINT NOT NULL |
メッセージの種類。
|
msg |
TT_VARCHAR (100000) NOT NULL |
問題を説明するメッセージ。 |
objectDesc |
VARCHAR2(200000) |
オブジェクトの説明。オブジェクトがAWT チェックの場合、説明はオブジェクトを記述するSQL文になります。 |
例
次の例では、cacheuser
が所有するキャッシュ・グループupdate_orders
において失われている制約がないかどうかを判定しています。警告メッセージを含む結果セットが返されます。update_orders
キャッシュ・グループのordertab
表は、逐次伝播されたトランザクションであると示されています。
Command> call ttCacheCheck( NULL, 'cacheuser', 'update_orders'); < CACHEUSER, UPDATE_ORDERS, CACHEUSER, ORDERTAB, Foreign Key, CACHEUSER, CUST_FK, 1, Transactions updating this table will be serialized to Oracle because: The missing foreign key connects two AWT cache groups., table CACHEUSER.ORDERTAB constraint CACHEUSER.CUST_FK foreign key(CUSTID) references CACHEUSER.ACTIVE_CUSTOMER(CUSTID) > 1 row found.
説明
同じOracleインスタンスのデータをキャッシュするすべてのキャッシュ・グループに対し、このプロシージャは、Oracle Databaseサーバーが使用不可になっており、キャッシュ・エージェントまたはデータベースが停止しているとみなされる場合の、タイムアウト値とリカバリ・ポリシーを指定します。
データベースとキャッシュ・グループの自動リフレッシュの状態は、プロシージャttCacheDbCgStatus
で確認できます。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
パラメータ
ttCacheConfig
には、次のパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
Param |
VARCHAR2(50) NOT NULL |
Value で設定するパラメータを指定します。
|
tblOwner |
VARCHAR2(30) |
キャッシュされたOracle Database表の所有者を指定します。
このパラメータは、 表名の指定にシノニムは使用できません。 |
tblName |
VARCHAR2(30) |
キャッシュされたOracle Database表の名前を指定します。
このパラメータは、 表名の指定にシノニムは使用できません。 |
Value |
VARCHAR2(200) |
Param に設定する値を指定します。
あるいは、
|
結果セット
ttCacheConfig
は、アプリケーションによりパラメータ値の設定に使用される場合、結果を返しません。パラメータ設定を返す目的で使用される場合、ttCacheConfig
は次の結果を返します。
列 | データ型 | 値 |
---|---|---|
Param |
VARCHAR2(50) |
パラメータ名は、次のいずれかです。
|
tblOwner |
VARCHAR2(30) |
キャッシュされたOracle Database表の所有者。 |
tblName |
VARCHAR2(30) |
キャッシュされたOracle Database表の名前。
表名の指定にシノニムは使用できません。 |
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 Database表に更新があり、キャッシュ管理ユーザーの表領域に空きがない場合に、自動完全リフレッシュを防ぎ、Oracle Databaseエラーを受信するようにTimesTenキャッシュを構成します。Oracle Database表はterry.customer
です。
CALL ttCacheConfig('TblSpaceFullRecovery','terry','customer','None');
キャッシュされたOracle Database表terry.customer
のTblSpaceFullRecovery
について現在の設定を確認するには、次のように入力します。
CALL ttCacheConfig('TblSpaceFullRecovery','terry','customer'); < TblSpaceFullRecovery, TERRY, CUSTOMER, none > 1 row found.
キャッシュ管理ユーザーの表領域が85%使用されているときに、キャッシュされたOracle Database表に対する更新処理が発生した場合に警告を受け取るようにするには、次のように入力します。
CALL ttCacheConfig('AutoRefreshLogTblSpaceUsagePCT',,,'85');
TimesTen Classicでは、変更ログ表の断片化の割合が、領域の合計サイズに対する使用済領域の比率として計算されます。この比率が定義されたしきい値を下回ると、TimesTenは、メッセージをログに記録して変更ログ表の最適化が必要であることを示すアラートを通知します。デフォルトでは、このしきい値は40%に設定されています。たとえば、断片化しきい値を50%に設定するには、次のように実行します。
Command> CALL ttCacheConfig('AutoRefreshLogFragmentationWarningPCT',,,'50'); < AutoRefreshLogFragmentationWarningPCT, <NULL>, <NULL>, 50 > 1 row found.
変更ログ表の断片化の割合を計算するときの時間間隔を3,600秒に設定するには、次の手順を実行します。
Command> CALL ttCacheConfig('AutorefreshLogMonitorInterval',,,'3600'); < AutorefreshLogMonitorInterval, <NULL>, <NULL>, 3600 > 1 row found.
Oracle RAC環境で作業している場合、次のようにフェイルオーバー・タイムアウトの値を取得します。
Command> call ttCacheConfig('AgentFailoverTimeout'); < AgentFailoverTimeout, <NULL>, <NULL>, 4 > 1 row found. .
次の例では、フェイルオーバー・タイムアウトを5分に設定しています。
Command> call ttCacheConfig('AgentFailoverTimeout',,,5); < AgentFailoverTimeout, <NULL>, <NULL>, 5 > 1 row found. Command>
関連項目
ttCacheDbCgStatus
ttCachePolicyGet
ttCachePolicySet
ttCacheStart
ttCacheStop
ttCacheUidGet
ttCacheUidPwdSet
説明
この手順により、各子サーバー・プロセスのキャッシュ接続プール・パラメータのサイズを動的に変更できます。この後、キャッシュ接続プールのパラメータが子サーバー・プロセスに関連付けられます。
ChildServer
接続属性を使用して各子サーバー・プロセスを識別します。ChildServer=
n
と指定し、n
は、1から実行中の子サーバー・プロセスの数までの範囲内の数です。子サーバー・プロセスに接続したら、特定の子サーバー・プロセス用のttCacheConnPoolApply
組込みプロシージャを実行できます。
詳細は、『Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイド』の動的なロード・リクエストのためのOracleデータベースのキャッシュ接続プールの管理に関する項を参照してください。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
例
次の接続は、1として識別された子サーバー・プロセスに接続し、保存したキャッシュ接続プール構成をこの子サーバー・プロセスに適用します。子サーバー・プロセス2 (ServersPerDSN
が2の場合)に対しても同じプロセスを実行します。
Command> connect "DSN=cache1;ChildServer=1;"; Command> call ttCacheConnPoolApply; Command> disconnect; Command> connect "DSN=cache1;ChildServer=2;"; Command> call ttCacheConnPoolApply; Command> disconnect;
説明
このプロシージャは、キャッシュ接続プール・パラメータの現在の値を取得します。
ChildServer
接続属性は、各子サーバー・プロセスを識別します。ChildServer=
n
と指定し、n
は、1から実行中の子サーバー・プロセスの数までの範囲内の数です。子サーバー・プロセスに接続したら、特定の子サーバー・プロセス用のttCacheConnPoolGet('current')
組込みプロシージャを実行できます。
詳細は、『Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイド』の動的なロード・リクエストのためのOracleデータベースのキャッシュ接続プールの管理に関する項を参照してください。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
パラメータ
state
パラメータは次のいずれかです。
saved
: Oracleデータベースに保存されているキャッシュ接続パラメータを戻します。保存済構成を問い合せると、直接接続、シングルスレッド・クライアント/サーバー接続またはマルチスレッド・クライアント/サーバー接続からttCacheConnPoolGet
組込みプロシージャを実行できます。
current
: この現在の子サーバー・プロセスのキャッシュ接続プールを定義したキャッシュ接続パラメータを返します。特定の子サーバー・プロセスの現在の構成を問い合せる場合は、マルチスレッド・クライアント/サーバー接続からのみttCacheConnPoolGet
組込みプロシージャを実行できます。
結果セット
ttCacheConnPoolGet
は、次の値を戻します。
表3-2 ttCacheConnPoolGet結果セット
パラメータ | 説明 |
---|---|
|
キャッシュ接続プールのオープン接続の最小数の設定値。 |
|
キャッシュ接続プールのオープン接続の最大数の設定値。 |
|
オープン接続数を必要に応じて増加させる増分の設定値。 |
|
キャッシュ接続プール内の接続のタイムアウト(秒)。このタイムアウトよりも長くアイドル状態である接続は、オープン接続数を最適に維持するために終了され、キャッシュ接続プールに戻されます。 |
|
接続がすぐに使用できないときにキャッシュ接続プールから使用可能な接続を待機するかどうかを指定するディレクティブ。有効な値は、次のとおりです。
|
|
キャッシュ接続プール内のオープン接続の現在の数。保存済パラメータを問い合せると、この値に-1が表示されます。 |
|
キャッシュ接続プール内のビジー接続の現在の数。保存済パラメータを問い合せると、この値に-1が表示されます。 |
|
キャッシュ接続プールから接続を取得しようとしたときに返された最後のOracle Databaseエラーの数(該当する場合)が表示されます。たとえば、1034という値は、 保存済パラメータを問い合せると、この値に-1が表示されます。 |
説明
このプロシージャでは、接続の競合を回避するためにキャッシュ接続プールをサイズ設定します。このプロシージャは、これらのパラメータの値をOracleデータベースに保存します。これらの値は、TimesTenサーバーを再起動するときにデフォルト値として使用されます。
サイズ変更を動的に行う場合は、ttCacheConnPoolApply
組込みプロシージャを実行することによって、各TimesTenサーバーに変更を適用できます。
詳細は、『Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイド』の動的なロード・リクエストのためのOracleデータベースのキャッシュ接続プールの管理に関する項を参照してください。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
パラメータ
すべてのパラメータは、ttCacheConnPoolSet
組込みプロシージャで指定する必要があります。直接接続、シングルスレッド・クライアント/サーバー接続またはマルチスレッド・クライアント/サーバー接続からttCacheConnPoolSet
組込みプロシージャを実行できます。
表3-3 ttCacheConnPoolSetの入力パラメータ
パラメータ | 説明 |
---|---|
|
キャッシュ接続プールのオープン接続の最小数。デフォルトは10接続です。最小値は1、最大値は2000接続です。 |
|
キャッシュ接続プールのオープン接続の最大数。デフォルトは32接続です。最小値は1、最大値は2000接続です。 |
|
オープン接続数が必要に応じて増加する増分値。デフォルトの増分は1です。最小値は1、最大値は2000接続です。 |
|
キャッシュ接続プール内の接続のタイムアウト(秒)。このタイムアウトよりも長くアイドル状態である接続は、オープン接続数を最適に維持するために終了され、キャッシュ接続プールに戻されます。デフォルトは100秒です。0に設定した場合、接続はタイムアウトしません。最小値は0、最大値は300です。 |
|
接続がすぐに使用できないときにキャッシュ接続プールから使用可能な接続を待機するかどうかを指定するディレクティブ。有効な値は、次のとおりです。
|
説明
このプロシージャは、データベースおよび指定されたキャッシュ・グループの自動リフレッシュの状態を返します。パラメータに値を指定しない場合、プロシージャはデータベースの自動リフレッシュの状態を返します。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
パラメータ
ttCacheDbCgStatus
には、次のオプションのパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
cgOwner |
VARCHAR2(30) |
キャッシュ・グループ所有者のユーザー名を指定します。 |
cgName |
VARCHAR2(30) |
キャッシュ・グループ名を指定します。 |
結果セット
ttCacheDbCgStatus
は次の結果を返します。
列 | データ型 | 値 |
---|---|---|
dbStatus |
VARCHAR2(20) |
データベース内のすべてのキャッシュ・グループの自動リフレッシュの状態を指定します。次のいずれかの状態になります。
|
cgStatus |
VARCHAR2(20) |
指定されたキャッシュ・グループの自動リフレッシュの状態を指定します。次のいずれかの状態になります。
|
このプロシージャは、キャッシュされたOracle Database表に対して発行されたDDL文の追跡を有効または無効にします。デフォルトでは、DDL文は追跡されません。
DDL追跡では、キャッシュされたすべてのOracle Database表の変更履歴が保存されます。DDL追跡表が1つ作成され、キャッシュされた任意のOracle Database表に対して発行されたDDL文が格納されます。この情報を使用して自動リフレッシュの問題を診断できます。
『Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイド』のキャッシュされたOracle Database表に対して発行されたDDL文の追跡に関する説明を参照してください。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
説明
このプロシージャは、接続されたデータベースに対してTimesTenキャッシュ・エージェントを実行するタイミングを決定する現在のポリシーを返します。ポリシーは、always
またはmanual
のいずれかです。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
結果セット
ttCachePolicyGet
は次の結果を返します。
列 | データ型 | 値 |
---|---|---|
cachePolicy |
TT_VARCHAR(10) |
データベースに対してTimesTenキャッシュ・エージェントを実行するタイミングを決定するために使用するポリシーを指定します。有効な値は、次のとおりです。
|
説明
このプロシージャは、接続されたデータベースに対してTimesTenキャッシュ・エージェントを実行するタイミングを決定するポリシーを定義します。ポリシーは、always
またはmanual
のいずれかです。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
パラメータ
ttCachePolicySet
には、次のパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
cachePolicy |
TT_VARCHAR(10) NOT NULL |
データベースに対してTimesTenキャッシュ・エージェントを実行するタイミングを決定するために使用するポリシーを指定します。有効な値は、次のとおりです。
|
説明
このプロシージャを使用すると、Oracle Databaseに対する現在のトランザクションにおいてコミットされた更新(DML文の実行結果)の伝播を無効にできます。フラグをゼロに設定した後のDML文実行による更新は、バックエンドのOracle Databaseに伝播されることはありません。そのため、これらの更新はTimesTenデータベースにのみ存在します。その後、フラグをリセットすることでDML文の伝播を再度有効にできます。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
パラメータ
ttCachePropagateFlagSet
には、次のパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
CommitsOn |
TT_INTEGERNOT NULL |
0 の場合、更新がOracle Databaseに送信されないようにするフラグを設定します。トランザクションが終了するまで、またはプロシージャが1 に設定されるまで、このフラグの設定は変更されません。
|
ノート
このプロシージャは、TimesTen Cacheでのみ使用可能です。
1つのトランザクションの中でttCachePropagateFlagSet
の値が複数回有効になった場合、トランザクションの一部のみがOracle Databaseに伝播されます。
ttCachePropagateFlagSet
は、FLUSH
、LOAD
、REFRESH
およびUNLOAD
などの他のキャッシュ・グループ処理のいずれかとして、アプリケーションが同じトランザクション内で使用できる唯一の組込みプロシージャです。
コミットまたはロールバックの後、伝播フラグはリセットされます。
このプロシージャを使用する場合、AutoCommitを無効にする必要があります。無効にしない場合は、プロシージャを呼び出した後でトランザクションが終了するため、Oracle Databaseへの伝播が再度有効になります。
例
この例では、autocommit
を無効に設定して、コミットの後に伝播フラグが無効から有効に切り替わらないようにします。ttCachePropagateFlagSet
を呼び出して伝播を無効にします。oratt.writetab
のTimesTenキャッシュ・ディテール表に1行が挿入されます。その後、ttCachePropagateFlagSet
組込みプロシージャを呼び出してフラグを1に設定することで、伝播は再度有効になります。
Command> set autocommit off; call ttCachePropagateFlagSet(0); INSERT INTO oratt.writetab VALUES (103, 'Agent'); 1 row inserted. Command> COMMIT; Command> SELECT * FROM oratt.writetab; < 100, Oracle > < 101, TimesTen > < 102, Cache > < 103, Agent > 4 rows found. Command> call ttCachePropagateFlagSet(1);
Oracle Databaseのすべての行を選択する場合、伝播が無効のときに挿入された行は、Oracleのoratt.writetab
表にはありません。
Command> set passthrough 3; SELECT * FROM oratt.writetab; < 100, Oracle > < 101, TimesTen > < 102, Cache > 3 rows found.
説明
このプロシージャは、次のキャッシュ・グループのOracleオブジェクトをインストールまたは削除するOracle Database SQL文を生成します。
読取り専用キャッシュ・グループ
増分自動リフレッシュが指定されたユーザー管理キャッシュ・グループ
非同期ライトスルー(AWT)キャッシュ・グループ
このプロシージャは、キャッシュ・グループを作成しているユーザーにOracle Databaseに書き込むための適切な権限がない場合に有効です。そのため、Oracle DBAではこの組込みプロシージャによって生成されたスクリプトを使用してOracle Databaseオブジェクトを作成できます。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
パラメータ
ttCacheSqlGet
には、次のパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
feature_name |
TT_VARCHAR (100) |
INCREMENTAL_AUTOREFRESH またはASYNCHRONOUS_WRITETHROUGH に指定できます。 |
cache_group_name |
TT_VARCHAR (100) |
キャッシュ・グループの名前。非同期ライトスルー・キャッシュ・グループのオブジェクトをインストールする場合、または自動リフレッシュ・ユーザー・アカウント内のすべてのOracle Databaseオブジェクトを削除する場合には、NULL を指定します。 |
install_flag |
TT_INTEGER NOT NULL |
install_flag が1の場合、ttCacheSqlGet は、自動リフレッシュまたは非同期ライトスルーのOracle DatabaseオブジェクトをインストールするOracle SQLを返します。
|
結果セット
ttCacheSqlGet
は次の結果セットを返します。
列 | データ型 | 説明 |
---|---|---|
retval |
TT_VARCHAR (4096) NOT NULL |
自動リフレッシュまたは非同期ライトスルーのOracle Databaseオブジェクトをインストールまたは削除するOracle SQL文。 |
continueFlag |
TT_SMALLINT NOT NULL |
結果列retval のOracle SQL文が4096バイトを超え、次の結果行に続ける必要がある場合のみ、0(ゼロ)以外の値になります。 |
例
CALL ttCacheSqlGet('INCREMENTAL_AUTOREFRESH', 'westernCustomers', 1);
自動リフレッシュ・ユーザー・アカウントのすべてのOracle Databaseオブジェクトを削除するには、次のコマンドを使用します。
CALL ttCacheSqlGet('INCREMENTAL_AUTOREFRESH', NULL, 0);
ノート
このプロシージャは、TimesTen Cacheでのみ使用可能です。
返された各retval
フィールドには、Oracle Databaseで直接実行される別々のOracle SQL文が含まれます。continueFlag
フィールドで示されるように、1つの行は文の途中で終わっている場合があります。この場合、使用可能なSQL文を生成するために、前の行と連結する必要があります。
このプロシージャのスクリプト出力は、OracleのSQL*Plusユーティリティと互換性がありません。ただし、ttIsql
cachesqlget
コマンドを使用すると、SQL*Plusユーティリティと互換性のあるスクリプトを生成できます。
cache_group_name
オプションに対してNULL
を指定すると、ttDestroy
ユーティリティによってデータベースが破棄された後でOracle DatabaseオブジェクトをクリーンアップするOracle SQLを生成できます。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
ノート
このプロシージャは、TimesTen Cacheでのみ使用可能です。
データベースに自動リフレッシュ・キャッシュ・グループまたは非同期ライトスルー・キャッシュ・グループがある場合、またはある可能性がある場合は、キャッシュ管理ユーザーIDおよびパスワードをttCacheUidPwdSet
組込みプロシージャで設定してから、キャッシュ・エージェントを起動する必要があります。
ポリシーをmanualからalwaysに変更することによって、相対パスを使用してデータベースに対してTimesTenキャッシュ・エージェントを起動しようとすると、TimesTenはTimesTen Data Managerが起動している場所に対する相対パスでデータベースを検索し、失敗します。たとえば、Windows上でデータベースのパスにDataStore=./payroll
を指定し、この組込みプロシージャでTimesTenキャッシュ・エージェントを起動しようとしても、TimesTen Data Managerはデータベースを\srv
ディレクトリで検索するため、起動しません。
このプロシージャを使用する場合、コールを実行するアプリケーションを含めたすべてのアプリケーションは、データベース・レベルのロック(LockLevel=1
)を指定する接続を保持することができません。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
パラメータ
ttCacheStop
には、次のパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
timeout |
TT_INTEGER |
timeout 秒数内にキャッシュ・エージェントが停止しない場合は、TimesTenデーモンに停止するように指定します。0 を設定すると、デーモンはキャッシュ・エージェントを無期限待機します。デフォルト値は100 です。 |
ノート
このプロシージャは、TimesTen Cacheでのみ使用可能です。
キャッシュ・グループを削除または変更した直後にキャッシュ・エージェントを停止しないでください。かわりに、少なくとも2分間待機します。待機しないと、キャッシュ・エージェントは、AUTOREFRESH
機能で使用されたOracle Databaseオブジェクトをクリーンアップすることができません。
このプロシージャを使用する場合、コールを実行するアプリケーションを含めたすべてのアプリケーションは、データベース・レベルのロック(LockLevel=1
)を指定する接続を保持することができません。
説明
このプロシージャは、データベースのキャッシュ管理ユーザーIDを返します。キャッシュ管理ユーザーIDおよびパスワードがttCacheUidPwdSet
組込みプロシージャを使用してデータベースに設定されていない場合、ttCacheUidGet
はNULL
を返します。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
パラメータ
ttCacheUidPwdSet
には、次のパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
UID |
TT_VARCHAR (30) |
自動リフレッシュ・キャッシュ・グループおよび非同期ライトスルー・キャッシュ・グループで使用される、キャッシュ管理ユーザーID。 |
PWD |
TT_VARCHAR (30) |
キャッシュ管理ユーザーのパスワード。 |
ノート
このプロシージャは、暗号化されていないクライアント/サーバー接続からはコールできません。
このプロシージャは、TimesTen Cacheでのみ使用可能です。
DDLReplicationLevel
のすべてのレベルにおいて、キャッシュ・エージェントまたはレプリケーション・エージェントが実行されている場合は、キャッシュ管理ユーザーIDおよびパスワードを設定できます。キャッシュ管理ユーザーIDまたはパスワードの変更の詳細は、『Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイド』のキャッシュ・ユーザーの名前およびパスワードの変更に関する説明を参照してください。
キャッシュ管理ユーザーIDは、データベースにキャッシュ・グループがある間はリセットできません。キャッシュ管理パスワードはいつでも変更できます。
説明
このプロシージャは、非ブロッキング・チェックポイント処理を実行します。ブロッキング・チェックポイントの詳細は、「ttCkptBlocking」を参照してください。チェックポイント処理は、データベースの現在の状態をディスクに記録し、トランザクション・ログ・ファイルを削除するために行われます。非ブロッキング・チェックポイントでは、データベースに対するロックは必要ありません。
アプリケーションでは、バックグラウンド・チェックポイント属性(CkptFrequency
およびCkptLogVolume
)を設定するか、このプロシージャを明示的にコールし、データベースに対して定期的にチェックポイントを実行する必要があります。このプロシージャは、データベースで実行されている他のどのアプリケーションに対しても、非同期でコールすることができます。
デフォルトで、TimesTenはバックグラウンド・チェックポイントを一定間隔で実行します。
バックアップの実行中にアプリケーションがチェックポイント処理を実行しようとした場合、実行中のバックアップは、チェックポイント処理が終了するまで待機します。チェックポイント処理が、バックグラウンド・チェックポイント、またはアプリケーションで要求されたチェックポイントのどちらの場合でも、次のように処理されます。
バックアップまたはチェックポイント処理の実行中に、ユーザーがバックアップを実行しようとした場合は、実行中のバックアップまたはチェックポイント処理の終了を待ちます。
バックアップまたはチェックポイント処理の実行中に、チェックポイント処理を実行しようとした場合は、実行中の処理が終了するまで待機しません。すぐにエラーを返します。
バックグラウンド・チェックポイントを無効にするには、CkptFrequency=0
およびCkptLogVolume=0
を設定します。
データベースに障害が発生したとき、ディスク上のチェックポイントが非ブロッキング・チェックポイントだった場合、TimesTenはログ・ファイルを使用してリカバリを行います。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
説明
このプロシージャは、ブロッキング・チェックポイント処理を実行します。チェックポイント処理は、データベースの現在の状態をディスクに記録し、トランザクション・ログ・ファイルを削除するために行われます。このチェックポイントでは、データベースへの排他アクセスを必要とするため、チェックポイントの実行中は他のアプリケーションがデータベースからブロックされる可能性があります。
非ブロッキング・チェックポイントを実行するには、ttCkpt
プロシージャを使用します。
ブロッキング・チェックポイントを使用している場合、ログ・ファイルは必要ありません。ログが存在する場合、TimesTenではリカバリ後にそのログを使用してデータベースが最新状態になります。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
パラメータ
ttCkptBlocking
には、次のオプションのパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
timeout |
TT_INTEGER |
ttCkptBlocking がタイムアウトする前にデータベース・ロックを取得するために待機する時間(秒)。timeout の値は0から1,000,000です。指定しない場合、チェックポイントのタイムアウトは発生しません。 |
retries |
TT_INTEGER |
タイムアウトが発生した場合にttCkptBlocking がデータベース・ロックを取得しようとする回数。retries の値は0 から10 です。指定しない場合、デフォルトは0です。 |
ノート
このチェックポイントはコミットまたはロールバック時に実行されるため、ttCkptBlocking
の呼出しは常に成功します。コミットまたはロールバックの実行時に、チェックポイント処理についての問題(ディスク領域の不足やタイムアウト)が発生すると、アプリケーションに警告が返されます。チェックポイントに問題があるコミットやロールバックは、チェックポイントが失敗したとしても成功するため、チェックポイントの問題はエラーとして扱われません。ODBCでは、リターン・コードSQL_SUCCESS_WITH_INFO
を伴って警告が返されます。
チェックポイントの詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のトランザクション管理に関する説明を参照してください。
説明
このプロシージャは、バックグラウンド・チェックポイント処理を動的に再構成したり、構成パラメータの現在アクティブな設定を返します。ttCkptConfig
を使用して加えられた変更は、ただちに有効になります。したがって、ckptRate
の変更は現在処理中のチェックポイントに影響します。
ttCkptConfig
を使用してバックグラウンド・チェックポイント処理に加えられた変更は永続的です。DSNまたは接続文字列でCkptFrequency
およびCkptLogVolume
接続属性が指定されないかぎり、その後のデータベースのロードでは、変更された設定が使用されます(属性の指定があった場合は、その値が使用されます)。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
TimesTen Scaleoutアプリケーションでこの組込みプロシージャをコールできます。
TimesTen Scaleoutでは、このプロシージャは、コール元の要素の行を返します。
パラメータ
ttCkptConfig
には、次のパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
ckptFrequency |
TT_INTEGER |
チェックポイント頻度(秒)。0 からMAXINT の値を指定できます。0 の値は、チェックポイントのスケジュール時にチェックポイント頻度が考慮されないことを意味します。 |
ckptLogVolume |
TT_INTEGER |
チェックポイント間のログ・ボリューム(MB)。0 からMAXINT の値を指定できます。0 の値は、チェックポイントのスケジュール時にチェックポイント・ログ・ボリュームが考慮されないことを意味します。 |
ckptRate |
TT_INTEGER |
チェックポイントをディスクに書き込む速度をMB/秒単位で指定します。
|
結果セット
ttCkptConfig
は次の結果を返します。
列 | データ型 | 説明 |
---|---|---|
ckptFrequency |
TT_INTEGERNOT NULL |
チェックポイント頻度の現在アクティブな設定(秒)。 |
ckptLogVolume |
TT_INTEGERNOT NULL |
チェックポイント間のログ・ボリュームの現在アクティブな設定(MB)。 |
ckptRate |
TT_INTEGERNOT NULL |
TimesTenにおいてチェックポイントがディスクに書き込まれる現在の速度。 |
例
バックグラウンド・チェックポイント構成パラメータの現在の設定を表示するには、次のように実行します。
CALL ttCkptConfig; < 600, 32, 0 > 1 row found.
ログが制限に到達しないかぎり、チェックポイントの開始からバックグラウンド・チェックポイント処理を停止するには、次のように実行します。
CALL ttCkptConfig(0); < 0, 32, 0 > 1 row found.
チェックポイントの開始からバックグラウンド・チェックポイント処理を停止するには、次のように実行します。
CALL ttCkptConfig(0, 0); < 0, 0, 0 > 1 row found.
600秒ごとにチェックポイントを実行するか、ログが32MBに到達したときにチェックポイントを実行する(先に実行される方)ようにバックグラウンド・チェックポイント構成を設定するには、次のように実行します。
CALL ttCkptConfig(600, 32); < 600, 32, 0 > 1 row found.
ノート
デフォルトで、TimesTenはバックグラウンド・チェックポイントを一定間隔で実行します。
バックアップの実行中にアプリケーションがチェックポイント処理を実行しようとした場合、実行中のバックアップは、チェックポイント処理が終了するまで待機します。チェックポイント処理が、バックグラウンド・チェックポイント、またはアプリケーションで要求されたチェックポイントのどちらの場合でも、次のように処理されます。
バックアップまたはチェックポイント処理の実行中に、ユーザーがバックアップを実行しようとした場合は、実行中のバックアップまたはチェックポイント処理の終了を待ちます。
バックアップまたはチェックポイント処理の実行中に、チェックポイント処理を実行しようとした場合は、実行中の処理が終了するまで待機しません。すぐにエラーを返します。
バックグラウンド・チェックポイントを無効にするには、CkptFrequency=0
およびCkptLogVolume=0
を設定します。
説明
このプロシージャは、最後に実行された8つの任意のタイプのチェックポイントに関する情報を返します。
Oracle TimesTen In-Memory Databaseオペレーション・ガイドのチェックポイントの履歴およびステータスの表示も参照してください。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
TimesTen Scaleoutアプリケーションでこの組込みプロシージャをコールできます。
TimesTen Scaleoutでは、このプロシージャは、コール元の要素の行を返します。
結果セット
ttCkptHistory
は次の結果セットを返します。
列 | データ型 | 説明 |
---|---|---|
startTime |
TT_TIMESTAMP NOT NULL |
チェックポイントが開始された時間。 |
endTime |
TT_TIMESTAMP |
チェックポイントが完了した時間。 |
type |
TT_CHAR(16) NOT NULL |
実行されたチェックポイントのタイプ。次のいずれかの値です。
|
status |
TT_CHAR(16) NOT NULL |
チェックポイント処理の結果のステータス。次のいずれかの値です。
In
|
initiator |
TT_CHAR(16) NOT NULL |
チェックポイント・リクエストのソース。次のいずれかの値です。
|
reason |
TT_CHAR(16) NOT NULL |
このチェックポイントの理由。たとえば、データベース作成後、リカバリ後、停止後の最終チェックポイント、ユーザーが組込みプロシージャを実行した後、またはフラッシュ操作の後などです。 |
error |
TT_INTEGER |
チェックポイントが失敗した場合、この列に失敗の理由が示されます。値は、TimesTenエラー番号のいずれかです。 |
ckptFileNum |
TT_INTEGERNOT NULL |
チェックポイントで使用されるデータベース・ファイル番号。このファイル番号は、チェックポイント・ファイル拡張子datastore .ds0 またはdatastore .ds1 の番号に対応しています。 |
ckptLFN |
TT_INTEGER |
チェックポイント・ログ・レコードのトランザクション・ログ・ファイル番号。 |
ckptLFO |
TT_BIGINT |
チェックポイント・ログ・レコードのトランザクション・ログ・ファイル・オフセット。 |
blksTotal |
TT_BIGINT |
現在データベースに割り当てられている永続ブロック数。これらのブロックは、チェックポイントの実行対象となります。 |
bytesTotal |
TT_BIGINT |
blksTotal によって占有されるバイト数。 |
blksInUse |
TT_BIGINT |
blksTotal のうち、現在使用中のブロック数。 |
bytesInUse |
TT_BIGINT |
blksInUse によって占有されるバイト数。 |
blksDirty |
TT_BIGINT |
このチェックポイントによって書き込まれた使用済ブロック数。 |
bytesDirty |
TT_BIGINT |
blksDirty によって占有されるバイト数。 |
bytesWritten |
TT_BIGINT |
このチェックポイントによって書き込まれた合計バイト数。 |
Percent_Complete |
TT_INTEGER |
処理中のチェックポイントがある場合に、完了したチェックポイントの割合を示します。処理中のチェックポイントがない場合の値はNULL です。戻り値は、直前に書き込まれたブロックのブロックIDとデータベースのPermSize を比較して計算されます。この値は、必ずしもチェックポイントの完了に必要な残り時間を正確に表すものではありませんが、ディスク書込みに必要な残り時間の目安にはなります。このフィールドには、使用済ブロックの書込みの進捗状況のみが表示され、チェックポイントの最後に追加のブックキーピングは含まれません。チェックポイントの処理中にこのプロシージャをコールすると、値はNULL 以外になります。 |
ckptVNo |
TT_INTEGERNOT NULL |
チェックポイントごとに増加するチェックポイント順序番号。 |
logsPurged |
TT_BIGINT |
このチェックポイントによって消去されたログ・ファイルの数。 |
bookmarkName |
TT_VARCHAR (30) INLINE |
このチェックポイントによってログ・レコードが消去されたときのログ保持の名前。たとえば、Backup、Checkpoint、Oldest Transaction Undoなどです。 |
additional_details |
TT_VARCHAR (1000) |
このチェックポイントに対して提供される追加情報(失敗した複数のチェックポイントのエラー・コード、タイムスタンプなど)。 |
例
処理中のチェックポイントの例を次に示します。
< 2019-02-05 16:56:34.169520, <NULL>, Fuzzy , In Progress , User , BuiltIn , <NULL>, 0, <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, 13, 6, 0, <NULL>, <NULL> > < 2019-02-05 16:55:47.703199, 2019-02-05 16:55:48.188764, Fuzzy , Completed , Checkpointer , Background , <NULL>, 1, 0, 8964304, 294, 33554432, 291, 5677288, 27, 1019512, 1065408, <NULL>, 5, 0, Checkpoint, <NULL> > < 2019-02-05 16:54:47.106110, 2019-02-05 16:54:47.723379, Static , Completed , Subdaemon , FinalCkpt , <NULL>, 0, 0, 8960328, 294, 33554432, 291, 5677288, 256, 33157172, 5321548, <NULL>, 4, 0, Checkpoint, <NULL> > < 2019-02-05 16:54:41.633792, 2019-02-05 16:54:42.568469, Blocking , Completed , User , BuiltIn , <NULL>, 1, 0, 8958160, 294, 33554432, 291, 5677288, 31, 1162112, 6604976, <NULL>, 3, 0, Checkpoint, <NULL> > < 2019-02-05 16:54:37.438827, 2019-02-05 16:54:37.977301, Static , Completed , User , DbCreate , <NULL>, 0, 0, 1611984, 93, 33554432, 92, 1853848, 93, 33554432, 1854052, <NULL>, 2, 0, Checkpoint, <NULL> > < 2019-02-05 16:54:36.861728, 2019-02-05 16:54:37.438376, Static , Completed , User , DbCreate , <NULL>, 1, 0, 1609936, 93, 33554432, 92, 1853848, 93, 33554432, 1854052, <NULL>, 1, 0, Checkpoint, <NULL> >
この例は、ユーザーが開始したチェックポイントである最後のチェックポイントの試行中に発生したエラーを示しています。
< 2019-02-05 16:57:14.476860, 2019-02-05 16:57:14.477957, Fuzzy , Failed , User , BuiltIn , 847, 1, <NULL>, <NULL>, 0, 0, 0, 0, 0, 0, 0, <NULL>, 7, 0, <NULL>, Errors 1: TT0847: 16:57:14 (2019-02-05) > < 2019-02-05 16:56:34.169520, 2019-02-05 16:56:59.715451, Fuzzy , Completed , User , BuiltIn , <NULL>, 0, 0, 8966472, 294, 33554432, 291, 5677288, 5, 522000, 532928, <NULL>, 6, 0, Checkpoint, <NULL> > < 2019-02-05 16:55:47.703199, 2019-02-05 16:55:48.188764, Fuzzy , Completed , Checkpointer , Background , <NULL>, 1, 0, 8964304, 294, 33554432, 291, 5677288, 27, 1019512, 1065408, <NULL>, 5, 0, Checkpoint, <NULL> > < 2019-02-05 16:54:47.106110, 2019-02-05 16:54:47.723379, Static , Completed , Subdaemon , FinalCkpt , <NULL>, 0, 0, 8960328, 294, 33554432, 291, 5677288, 256, 33157172, 5321548, <NULL>, 4, 0, Checkpoint, <NULL> > < 2019-02-05 16:54:41.633792, 2019-02-05 16:54:42.568469, Blocking , Completed , User , BuiltIn , <NULL>, 1, 0, 8958160, 294, 33554432, 291, 5677288, 31, 1162112, 6604976, <NULL>, 3, 0, Checkpoint, <NULL> > < 2019-02-05 16:54:37.438827, 2019-02-05 16:54:37.977301, Static , Completed , User , DbCreate , <NULL>, 0, 0, 1611984, 93, 33554432, 92, 1853848, 93, 33554432, 1854052, <NULL>, 2, 0, Checkpoint, <NULL> > < 2019-02-05 16:54:36.861728, 2019-02-05 16:54:37.438376, Static , Completed , User , DbCreate , <NULL>, 1, 0, 1609936, 93, 33554432, 92, 1853848, 93, 33554432, 1854052, <NULL>, 1, 0, Checkpoint, <NULL> >
この例では、チェックポイント履歴から特定の列を選択しています。
select type, reason, bookmarkname, logsPurged from ttCkptHistory; < Fuzzy , BuiltIn , Oldest Transaction Undo, 0 > < Static , FinalCkpt , Checkpoint, 6 > < Blocking , BuiltIn , Checkpoint, 0 > < Blocking , BuiltIn , Checkpoint, 0 > < Blocking , BuiltIn , Checkpoint, 0 > < Blocking , BuiltIn , Backup, 5 > < Blocking , BuiltIn , Backup, 0 > < Blocking , BuiltIn , Backup, 0 >
増分バックアップによって設定されたログ保持があったため、一番下(最も古い)のチェックポイントではログ・ファイルを消去できませんでしたが、やがてそのログ保持が移動し、5つのログ・ファイルを消去できました。
説明
この組込みプロシージャは、コミット・バッファのオーバーフロー回数、およびトランザクション・コミット処理の間にトランザクション再利用レコードに使用された最大メモリー量を返します。
このプロシージャ・コールの結果によって提供される情報は、CommitBufferSizeMax
接続属性またはALTER SESSION
SQL文(『Oracle TimesTen In-Memory Database SQLリファレンス』を参照)を使用してコミット・バッファの最大サイズを明示的に設定する場合に役立ちます。このプロシージャにより、オーバーフローの回数および再利用レコードによる最大メモリー使用量に基づいて、再利用バッファの正しいサイズを選択できるようになります。
バッファ・オーバーフローがある場合には、コミット・バッファの最大サイズを増やすことを検討します。バッファ・オーバーフローがなく、最大メモリー使用量がコミット・バッファの最大サイズを十分に下回っている場合には、コミット・バッファの最大サイズを減らすことを検討します。
コミット・バッファ・サイズの設定方法を含む再利用操作の詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のトランザクション再利用操作に関する説明を参照してください。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
TimesTen Scaleoutアプリケーションでこの組込みプロシージャをコールできます。
TimesTen Scaleoutでは、このプロシージャは、コール元の要素の行を返します。他の要素に関する情報を表示するには、SYS.GV$COMMIT_BUFFER_STATS
システム表を問い合せます。
結果セット
ttCommitBufferStats
は次の結果を返します。
列 | データ型 | 説明 |
---|---|---|
overflows |
TT_BIGINTNOT NULL |
コミット・バッファ・オーバーフローの合計回数。 |
maxReached |
TT_BIGINTNOT NULL |
トランザクション・コミット・バッファに現在使用されている最大量(バイト)。 |
例
次の例は、コミット・バッファ・オーバーフローがなく、トランザクション・コミット・バッファが500MBに設定されているセッションの結果を示しています。
Command> ALTER SESSION SET COMMIT_BUFFER_SIZE_MAX = 500; Session altered. Command> CALL ttCommitBufferStats( ); < 0, 524288000 > 1 row found
コミット・バッファ・オーバーフローが10回あり、トランザクション・コミット・バッファが2MBに設定されているセッションでは、このプロシージャの出力は次のようになります。
Command> ALTER SESSION SET COMMIT_BUFFER_SIZE_MAX = 2; Session altered. Command> CALL ttCommitBufferStats( ); < 10, 2097152 > 1 row found
ノート
組込みプロシージャttCommitBufferStatsReset
をコールすると、コミット・バッファ統計はバイトで表されます。ただし、ttConfiguration
の出力および接続属性CommitBufferSizeMax
によって設定された値はMBで表されます。
説明
ttCommitBufferStatsReset
プロシージャは、トランザクション・コミット・バッファ統計を0
にリセットします。これはたとえば、コミット・バッファの最大サイズに新しい値を設定し、統計を再開する場合に役立ちます。
コミット・バッファ・サイズの設定方法を含む再利用操作の詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のトランザクション再利用操作に関する説明を参照してください。
説明
このプロシージャは、データベースの永続データ・パーティションと一時データ・パーティションの両方を圧縮します。
ttCompact
は、空き領域の隣接しているブロックをマージしますが、割り当てられているデータ項目の移動は行いません。したがって、割当済のメモリーのブロックで囲まれている、未割当ての小さなブロックによって発生する断片化は、ttCompact
を使用しても排除されません。
説明
ttComputeTabSizes
組込みプロシージャは、TimesTenのシステム表に格納された表サイズの統計をリフレッシュします。この組込みプロシージャをコールした後で、DBA_TAB_SIZES
、USER_TAB_SIZES
またはALL_TAB_SIZES
の各ビューを問い合せると、統計の最新情報を確認できます。
このプロシージャは、表内の行を格納するために割り当てられている記憶域、ディクショナリ表、表外バッファおよびシステムの使用量などの、指定された表に割り当てられている様々なタイプの記憶域を計算します。表を指定しない場合、このプロシージャは、そのユーザーがSELECT
権限を持つすべての表のサイズを計算します。この組込みプロシージャを実行すると、DDL文と同様に、プロシージャの開始直後にトランザクションがコミットされ、処理が正常に完了すると再度コミットされます。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
TimesTen Scaleoutアプリケーションでこの組込みプロシージャをコールできます。
TimesTen Scaleoutでは、このプロシージャは、グリッド内のすべての要素に対して実行されます。
パラメータ
ttComputeTabSizes
には、次のパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
tblName |
TT_CHAR(61) |
アプリケーション表の名前。表の所有者を含めることができます。NULL 値または空の文字列を指定すると、現在のすべての表に対する統計が更新されます。
想定される表のタイプは次のとおりです。
|
includeOutOfLine |
TT_INTEGER |
0 (no)または1 (yes)。デフォルトは1 (yes)です。
値が 表外の値の計算を省くと、このプロシージャの待機時間が大幅に短縮されます。 |
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
TimesTen Scaleoutアプリケーションでこの組込みプロシージャをコールできます。
TimesTen Scaleoutでは、このプロシージャは、コール元の要素に対してローカルに実行されます。
パラメータ
ttConfiguration
には、次のオプションのパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
paramName |
TT_VARCHAR (30) |
このプロシージャで値を返す接続属性またはオプションの名前。 |
結果セット
ttConfiguration
は次の結果セットを返します。
列 | データ型 | 説明 |
---|---|---|
paramName |
TT_VARCHAR (30) NOT NULL |
接続文字列中に指定されている接続属性の名前。アルファベット順に返されます。 |
paramValue |
TT_VARCHAR (1024) |
接続文字列中に指定されている接続属性の値。 |
説明
このプロシージャは、現在の接続のコンテキスト値をBINARY(8)
値として返します。コンテキストを使用して、ttStatus
ユーティリティおよびttDataStoreStatus
組込みプロシージャによって提示される接続リストから、データベースに一意の接続を関連付けることができます。
説明
このプロシージャは、データベースに接続されたプロセスのリストを返します。dataStore
パラメータにNULL
を指定すると、アクティブなすべてのデータベースの状態が返されます。
結果セットは、ttStatus
ユーティリティの出力と似ています。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
TimesTen Scaleoutアプリケーションでこの組込みプロシージャをコールできます。
TimesTen Scaleoutでは、このプロシージャは、コール元の要素に対してローカルに実行されます。
パラメータ
ttDataStoreStatus
には、次のパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
dataStore |
TT_VARCHAR (256) |
特定のデータベースのフルパス名、またはすべてのデータベースの場合はNULL 。 |
結果セット
ttDataStoreStatus
は、次の結果セットを返します。
列 | データ型 | 説明 |
---|---|---|
dataStore |
TT_VARCHAR (256) NOT NULL |
データベースのフルパス名。 |
PID |
TT_INTEGERNOT NULL |
プロセスID。 |
Context |
BINARY(8) NOT NULL |
接続のコンテキスト値。 |
conType |
TT_CHAR (16) NOT NULL |
接続しているプロセスのタイプ。結果は、次のいずれかです。
|
ShmID |
TT_VARCHAR (260) NOT NULL |
データベースが占有する共有メモリーIDの出力可能な形式。 |
connection_Name |
TT_CHAR (30) NOT NULL |
データベース接続のシンボリック名。 |
connID |
TT_INTEGERNOT NULL |
データベース接続の数値ID。 |
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
TimesTen Scaleoutアプリケーションでこの組込みプロシージャをコールできます。
TimesTen Scaleoutでは、このプロシージャは、コール元の要素に対してローカルに実行されます。
パラメータ
ttDBCompactConfig
には、次のパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
quantum |
TT_INTEGER |
圧縮するデータ・ブロックの数を指定します。0 から100000 の値を指定できます。値0 は自動データベース圧縮が無効であることを意味します。 |
compactsPerSecond |
TT_INTEGER |
1秒当たりの実行可能な圧縮操作の数。0 から100 の値を指定できます。値0は自動データベース圧縮が無効であることを意味します。 |
threshold |
TT_INTEGER |
圧縮が必要になるデータベースの最小容量を指定します。この値を超えると自動データベース圧縮が発生します。単位はquantumパラメータと同じです。0 から100000 (100k)の値を指定できます。値0 は、データベース内に圧縮する対象がある場合は常に圧縮操作が実行されることを意味します。 |
結果セット
ttDBCompactConfig
は次の結果セットを返します。
列 | データ型 | 説明 |
---|---|---|
quantum |
TT_INTEGERNOT NULL |
現在アクティブなquantum の設定。 |
compactsPerSecond |
TT_INTEGERNOT NULL |
現在アクティブなcompactsPerSecond の設定。 |
threshold |
TT_INTEGERNOT NULL |
現在アクティブなthreshold の設定。 |
例
自動データベース圧縮の現在の設定を表示するには、次のように実行します。
Call ttDbCompactConfig; < 0,0,0 > 1 row found.
ノート: これらはデフォルトの設定です。最初の2つのパラメータのいずれかが0の場合、自動データベース圧縮は無効になっています。
1秒に1回1,000ブロックの自動データベース圧縮を有効にするには、次のように実行します。
Call ttDbCompactConfig (1000,1,0); < 1000,1,0 > 1 row found.
1秒に10回5,000ブロックの自動データベース圧縮を有効にするには、次のように実行します。
Call ttDbCompactConfig (5000,10,0); < 5000,10,0 > 1 row found.
1秒に5回2,000ブロックの自動データベース圧縮を有効にするが、圧縮する分量がこの値以上ある場合にのみ圧縮を実行するには、次のように実行します。
Call ttDbCompactConfig (2000,5,2000); < 2000,5,2000 > 1 row found.
自動データベース圧縮を有効にした後で(デフォルトでは無効であることに注意してください)、これ以上は圧縮を実行しないようにするには、次のように実行します。
Call ttDbCompactConfig (0,0,0);
カンマをプレースホルダとして使用し、一度に1つまたは2つの値のみを設定できます。
call ttDBCompactConfig(2000,5,2000); < 2000, 5, 2000 > 1 row found. call ttDBCompactConfig(3000); < 3000, 5, 2000 > 1 row found. call ttDBCompactConfig(,10); < 3000, 10, 2000 > 1 row found. call ttDBCompactConfig(,,2500); < 3000, 10, 2500 > 1 row found. call ttDBCompactConfig(3500,,3000); < 3500, 10, 3000 > 1 row found.
ノート
この組込みプロシージャを使用してパラメータ値を設定した後には、チェックポイントを開始してパラメータ変更の永続性を確認してください。ttCkpt
プロシージャの詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のチェックポイント処理に関する説明を参照してください。チェックポイントの組込みプロシージャの詳細は、この章の「ttCkpt」を参照してください。
カンマをプレースホルダとして使用して1つ、2つまたは3つの入力値を指定するか、入力なしで現在の値を表示することができます。
ttDBCompactConfig
によるパラメータ値の変更はロールバックできません。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
TimesTen Scaleoutアプリケーションでこの組込みプロシージャをコールできます。
TimesTen Scaleoutでは、このプロシージャは、コール元の要素に対してローカルに実行されます。
パラメータ
ttDBConfig
には、次のパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
param |
VARCHAR2(30) |
値を設定するまたは現在の値を確認する対象のシステム・パラメータ。この引数の許容値は次のとおりです。
|
value |
VARCHAR2(200) |
システム・パラメータの値。
値を指定しない場合、このプロシージャは指定したパラメータの現在の値を返します。 |
パラメータ/値のペア
次の名前/値のペアが結果セットで返されます。
名前 | 値 | 説明 |
---|---|---|
CacheAgentCommitBufSize |
MBで表されるサイズ | キャッシュ・エージェントに再利用バッファの最大サイズを指定します。キャッシュ・エージェントは値が変更されたかどうかを定期的に確認します。サイズは一時パーティションのサイズより大きくできません。
詳細は、『Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイド』の自動リフレッシュ処理時にメモリーを再利用する際のパフォーマンスの向上に関する説明を参照してください。 |
CacheAwtMethod |
0 : SQL配列実行メソッド
|
Oracle Databaseサーバーに変更を適用するためのAWT伝播で、PL/SQL実行メソッドを使用するか、SQL配列実行メソッドを使用するかを指定します。
詳細は、 この組込みプロシージャに設定されている場合は、接続属性値がオーバーライドされます。 |
CacheParAwtBatchSize |
バッチ内の行数 | 単一のバッチに含まれる行数に対するしきい値を設定します。最大の行数に達すると、TimesTenがトランザクションに残りの行を含めますが(TimesTenはトランザクションを解除しません)、バッチにそれ以上のトランザクションを追加しません。
ノート: Oracle TimesTenテクニカル・サポートからのアドバイスがないかぎり、このパラメータの値は変更しないでください。 |
DynamicLoadReduceContention |
0 - 無効。デフォルト。
|
有効の場合、自動リフレッシュ処理と動的ロード処理が連携して動作する方法が変更され、自動リフレッシュ処理と動的ロード処理の間の競合が減少します。
詳細は、『Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイド』の増分自動リフレッシュを使用した動的な読取り専用キャッシュ・グループに対するTimesTenの競合の削減に関する項を参照してください。 |
ParReplMaxDrift |
秒数 | パラレル・レプリケーションの追跡間で可能なドリフトの秒数を指定します。コミット依存を無効にして自動パラレル・レプリケーションを使用している場合、一部の追跡が他の追跡よりも進んでいることがあります。このしきい値を過ぎると、TimesTenは、すべてのレプリケーション追跡が互いに追いつくように、これらを同期化します。デフォルトでは、これはゼロに設定され、追跡間のドリフトのチェックは無効になっています。 |
PLSQL_OPEN_CURSORS |
PL/SQLカーソルの最大数 | 1つのセッションで一度にオープンできるPL/SQLカーソルの最大数を指定します。1から65535までの値を指定できます。これはセッションが過剰な数のカーソルをオープンしないようにするために使用します。デフォルトは50 PL/SQLカーソルです。
詳細は、PLSQL_OPEN_CURSORSの最初の接続属性の説明を参照してください。 |
RepAgentCommitBufSize |
MBで表されるサイズ | レプリケーション・エージェントに再利用バッファの最大サイズを指定します。レプリケーション・エージェントは値が変更されたかどうか定期的に確認します。サイズは一時パーティションのサイズより大きくできません。
詳細は、『Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイド』の自動リフレッシュ処理時にメモリーを再利用する際のパフォーマンスの向上に関する説明を参照してください。 |
結果セット
ttDBConfig
は、次の結果セットを返します。
列 | データ型 | 説明 |
---|---|---|
param |
VARCHAR2(30) |
指定するパラメータの名前。 |
value |
VARCHAR2(200) |
指定されたパラメータの現在の値。値を指定した場合は、新しい値となります。 |
例
CacheParAwtBatchSize
の現在の値を取得するには次のように実行します。
CALL ttDBConfig('CacheParAwtBatchSize'); <CACHEPARAWTBATCHSIZE, 125> 1 row found.
RepAgentCommitBufSize
の値を50MBに設定するには、次のように実行します。
CALL ttDBConfig('RepAgentCommitBufSize', '50'); <REPAGENTCOMMITBUFSIZE, 50> 1 row found.
CacheAgentCommitBufSize
の現在の値を100に設定するには、次のように実行します。
Command> call ttDBConfig('CacheAgentCommitBufSize', '100'); < CACHEAGENTCOMMITBUFSIZE, 100 > 1 row found.
次の例では、DynamicLoadReduceContention
を1に設定しています。
call ttDbConfig('DynamicLoadReduceContention','1');
ノート
この組込みプロシージャを使用してパラメータ値を設定した後には、チェックポイントを開始してパラメータ変更の永続性を確認してください。ttCkpt
プロシージャの詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のチェックポイント処理に関する説明を参照してください。チェックポイントの組込みプロシージャの詳細は、この章の「ttCkpt」を参照してください。
ttDBConfig
によるパラメータ値の変更はロールバックできません。
入力パラメータなしでttDBConfig
をコールすると、サポートされているすべてのパラメータの名前と値が返されます。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
結果セット
ttDBWriteConcurrencyModeGet
は次の結果セットを返します。
列 | データ型 | 説明 |
---|---|---|
ts |
TIMESTAMP NOT NULL |
ステータス情報が収集された時刻。 |
mode |
TT_INTEGER NOT NULL |
書込み同時実行モード。
|
operation |
VARCHAR2 (50) |
書込み同時実行モードの移行状態。次のいずれかです。
|
status |
VARCHAR2 (100) NOT NULL |
書込み同時実行モードの移行状態。次のいずれかです。
|
msg |
VARCHAR2 (5000) |
NULL またはステータスの説明メッセージ。 |
説明
ttDBWriteConcurrencyModeSet
組込みプロシージャは、同時書込み処理中の読取り最適化を制御します。
モードを1に設定すると、拡張書込み同時実行モードが有効になり、読込み最適化が無効になります。モードを0 (ゼロ)に設定すると、拡張書込み同時実行モードが無効になり、読込み最適化が再び有効になります。モードを1
に設定すると、すべてのトランザクションおよび文の表ロックのヒントが抑制されます。これはSELECT
文および副問合せに対してヒントでトリガーされたSn
表ロック、およびDML文に対してヒントでトリガーされたW
表ロックにも影響します。表ロックのヒントを抑制すると、スター結合などの実行計画を促す他の表ロックのヒントも抑制されます。モード設定にかかわらず、表ロックのヒントでトリガーされない表ロックは影響されません。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
TimesTen Scaleoutアプリケーションでこの組込みプロシージャをコールできます。
TimesTen Scaleoutでは、このプロシージャは、グリッド内のすべての要素に対して実行されます。
パラメータ
ttDBWriteConcurrencyModeSet
には、次のパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
mode |
TT_INTEGERNOT NULL |
書込み同時実行モード。
|
wait |
TT_INTEGERNOT NULL |
0 : モード移行の開始後すぐに返します。
|
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicではサポートされていません。
TimesTen Scaleoutアプリケーションでこの組込みプロシージャをコールできます。
このプロシージャは、コール元の要素の行を返します。
結果セット
ttDistributionProgress
は次の結果を返します。
列 | データ型 | 説明 |
---|---|---|
timestamp |
TT_TIMESTAMP |
ステータス情報が収集された時刻。 |
elementId |
TT_INTEGER |
ローカル要素の要素ID。 |
ptVersion |
TT_INTEGER |
パーティション表のバージョン番号。 |
threadId |
TT_INTEGER |
スレッドID。 |
phase |
VARCHAR2 (32) |
再分散処理の現在のフェーズ。再分散処理には次のフェーズがあります。
|
tblName |
VARCHAR2 (64) |
現在処理中の表の名前(取得できる場合)。 |
processedTblRows |
TT_BIGINI |
現在の表ですでに処理された行数(取得できる場合)。 |
insertedTblRows |
TT_BIGINT |
ローカル要素の現在の表にすでに挿入されている行数(取得できる場合)。 |
deletedTblRows |
TT_BIGINT |
ローカル要素の現在の表からすでに削除された行数(取得できる場合)。 |
totalTblRows |
TT_BIGINT |
表の行の総数(取得できる場合) |
processedRows |
TT_BIGINT |
要素に対してすでに処理された行数。 |
insertedRows |
TT_BIGINT |
要素にすでに挿入された行数。 |
deletedRows |
TT_BIGINT |
要素からすでに削除された行数。 |
totalRows |
TT_BIGINT |
すべての表の要素の合計行数。 |
processedTbls |
TT_INTEGER |
すでに処理された表の数。 |
totalTbls |
TT_INTEGER |
データベースの表の合計数。 |
説明
このプロシージャは、現在のトランザクションをコミット時に永続的にすることを指定します。このプロシージャは、DurableCommits
が無効であり、アプリケーションがデータベースに接続されている場合にかぎり有効です。
また、ttDurableCommit
をコールすることによって、現在のトランザクションおよび以前にコミットされた遅延永続トランザクションもすべて永続的になります。ttDurableCommit
をコールした後にコミットされたトランザクションに対しては効果がありません。ttDurableCommit
はトランザクションをコミットしません。たとえば、アプリケーションをコミットするには、SQLTransact
などをコールする必要があります。
説明
このプロシージャを使用すると、次にコミットされたトランザクションがエポック・トランザクションとしてコミットされます。エポックは、データベースのすべての要素でグローバルに一貫性のある時点をマークするトランザクションです。エポックはグリッドの各レプリカ・セットで永続的にコミットされます。
説明
このプロシージャは、データベース内のヒープ・メモリーの使用状況をレポートします。データベース内の各ヒープについて、割り当てられたサイズ、使用中のサイズ、最高水位標(使用中のサイズの最大量)および遅延空きバッファの数が表示されます。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
TimesTen Scaleoutアプリケーションでこの組込みプロシージャをコールできます。
TimesTen Scaleoutでは、このプロシージャは、コール元の要素に対してローカルに実行されます。
説明
このプロシージャは、現在のローカル・ホスト名を返します。戻り値は、現在のセッションでのみ有効です。システム全体に対する設定ではなく、現在のセッションが切断された後は無効になります。
スキーム内の特定のストア名が現在のホストを参照しているかどうかを確認する場合に、このプロシージャを使用します。これは、レプリケーション・スキームを構成する際に便利です。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
TimesTen Scaleoutアプリケーションでこの組込みプロシージャをコールできます。
このプロシージャは、コール元の要素の行を返します。
説明
このプロシージャは、現在のデータベースのデフォルトのローカル・ホスト名を指定します。この値は、現在のセッションのみで使用される値であり、システム全体に対する設定値ではなく、現在のセッションの接続が切断されると無効になります。
マスター/サブスクライバの関係およびレプリケーション・オブジェクトのアクセス権を正しく構成するには、スクリプトが現在実行されているコンピュータをレプリケーション・スキームで使用されるホスト名が参照しているかどうかを、レプリケーションDDLのプロセスで判断できることが必要です。このプロシージャを使用すると、現在のホスト名を確立する必要があるときにはいつでも、レプリケーションDDLのプロセスが使用する現在のセッションのデフォルト・ホスト名をアプリケーションから設定できるようになります。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
TimesTen Scaleoutアプリケーションでこの組込みプロシージャをコールできます。
TimesTen Scaleoutでは、このプロシージャは、コール元の要素に対してローカルに実行されます。
パラメータ
ttHostNameSet
には、次のパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
hostName |
TT_VARCHAR (200) |
ローカル・コンピュータの必要なデフォルト名。デフォルト値をクリアするには、NULL を指定します。 |
説明
このプロシージャは現在の接続または現在のデータベースの既存の取得データを削除します。そのレベルのttIndexAdviceCaptureOutput
への後続のコールは行を返しません。
このプロシージャおよびこれに関連するプロシージャをIndex Advisorと呼びます。これらのプロシージャの使用法の詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』の索引を推奨するためのIndex Advisorの使用に関する説明を参照してください。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
TimesTen Scaleoutアプリケーションでこの組込みプロシージャをコールできます。
TimesTen Scaleoutでは、このプロシージャは、コール元の要素に対してローカルに実行されます。
パラメータ
ttIndexAdviceCaptureDrop
には次のオプション・パラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
captureLevel |
TT_INTEGER |
取得レベルの有効な値は次のとおりです。
|
ノート
接続レベルの取得とデータベース・レベルの取得の両方を削除するには、コマンドを2回呼び出します(それぞれの取得レベルについて1回ずつ)。
削除を試行しているレベルで取得が進行中にこのコマンドをコールすると、エラーになります。
関連項目
ttIndexAdviceCaptureEnd
ttIndexAdviceCaptureInfoGet
ttIndexAdviceCaptureOutput
ttIndexAdviceCaptureStart
説明
このプロシージャは現在の接続のアクティブな接続レベルの取得またはアクティブなデータベース・レベルの取得のいずれかを終了します。
このプロシージャおよびこれに関連するプロシージャをIndex Advisorと呼びます。これらのプロシージャの使用法の詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』の索引を推奨するためのIndex Advisorの使用に関する説明を参照してください。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
TimesTen Scaleoutアプリケーションでこの組込みプロシージャをコールできます。
TimesTen Scaleoutでは、このプロシージャは、コール元の要素に対してローカルに実行されます。
パラメータ
ttIndexAdviceCaptureEnd
には次のオプション・パラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
captureLevel |
TT_INTEGER |
取得レベルの有効な値は次のとおりです。
|
ノート
接続レベルの取得とデータベース・レベルの取得の両方を終了するには、コマンドを2回呼び出します(それぞれの収集レベルについて1回ずつ)。
最初にttIndexAdviceCaptureStart
プロシージャをコールして、指定したレベルで取得を開始せずにこのプロシージャをコールすると、エラーになります。
関連項目
ttIndexAdviceCaptureDrop
ttIndexAdviceCaptureInfoGet
ttIndexAdviceCaptureOutput
ttIndexAdviceCaptureStart
説明
このプロシージャはアクティブな取得に対して行を返します。取得は、索引アドバイス取得を開始した場合、または索引アドバイス取得は中止したが取得データがまだ使用可能な場合は、アクティブです。
接続レベルの取得が存在する場合、1行が接続レベルの取得に関連します。データベース・レベルの取得が存在する場合は、別の行がデータベース・レベルの取得に関連します。最大で、1つの接続レベルの取得と1つのデータベース・レベルの取得が存在します。
進行中の取得がなく、データが存在しない場合、このプロシージャは行を返しません。
このプロシージャおよびこれに関連するプロシージャをIndex Advisorと呼びます。これらのプロシージャの使用法の詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』の索引を推奨するためのIndex Advisorの使用に関する説明を参照してください。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
TimesTen Scaleoutアプリケーションでこの組込みプロシージャをコールできます。
TimesTen Scaleoutでは、このプロシージャは、コール元の要素に対してローカルに実行されます。
結果セット
ttIndexAdviceCaptureInfoGet
は次の結果セットを返します。
列 | データ型 | 説明 |
---|---|---|
captureState |
TT_INTEGERNOT NULL |
取得の状態は次のとおりです。
|
connID |
TT_INTEGER |
最後の取得、または現在進行中の取得がある場合はその取得を開始した接続の接続ID。
取得が開始されていない場合には、この行は返されません。 |
captureLevel |
TT_INTEGER |
一番新しい取得のレベル。
取得が開始されていない場合には、この行は返されません。 |
captureMode |
TT_INTEGER |
一番新しい取得のモード。
取得が開始されていない場合には、この行は返されません。 |
numPrepared |
TT_INTEGER |
取得期間に準備された文の数。
開始された取得がない場合、この値は |
numExecuted |
TT_INTEGER |
取得期間に実行された文の数。
開始された取得がない場合、この値は |
captureStartTime |
TT_TIMESTAMP |
取得期間の開始時のタイム・スタンプ。
取得が開始されていない場合には、この行は返されません。 |
captureEndTime |
TT_TIMESTAMP |
取得期間の終了時のタイム・スタンプ。
取得が進行中でない場合、この値は |
例
この例は、363の作成済の文および369の実行された文に対する、完了した接続レベルの取得の取得情報を示しています。
Command> CALL ttIndexAdviceCaptureInfoGet(); < 0, 1, 0, 0, 363, 369, 2018-02-27 11:44:08.136833, 2018-02-27 12:07:35.410993 > 1 row found.
関連項目
ttIndexAdviceCaptureDrop
ttIndexAdviceCaptureEnd
ttIndexAdviceCaptureOutput
ttIndexAdviceCaptureStart
説明
この組込みプロシージャは、指定したレベルで最後に記録された取得の索引の推奨リストを返します。また、推奨された索引を作成するための実行可能CREATE INDEX
SQL文も返します。
このプロシージャおよびこれに関連するプロシージャをIndex Advisorと呼びます。これらのプロシージャの使用法の詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』の索引を推奨するためのIndex Advisorの使用に関する説明を参照してください。
接続レベルの取得の場合は、その取得が開始された接続と同じ接続でこのプロシージャを実行します。データベース・レベルの取得の場合は、ADMIN
権限のある接続でこのプロシージャを実行します。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
TimesTen Scaleoutアプリケーションでこの組込みプロシージャをコールできます。
TimesTen Scaleoutでは、このプロシージャは、コール元の要素に対してローカルに実行されます。
パラメータ
ttIndexAdviceCaptureOutput
には、次のパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
captureLevel |
TT_INTEGER |
取得レベルの有効な値は次のとおりです。
|
結果セット
ttIndexAdviceCaptureOutput
は次の結果セットを返します。
列 | データ型 | 説明 |
---|---|---|
stmtCount |
TT_INTEGER |
この索引が存在していた場合はその索引を利用した可能性がある、取得ワークロードでの文の数。 |
createStmt |
TT_VARCHAR (8300) NOT NULL |
推奨された索引を作成できる実行可能文。 |
例
次の例は、HR.PURCHASE
表のPURCHASE_i1
と呼ばれる索引のCREATE INDEX
文を示しています。このSQLワークロードの索引を利用する可能性のある文は、4つ、別々にあります。
CALL ttIndexAdviceCaptureOutput(); < 4, create index PURCHASE_i1 on HR.PURCHASE(AMOUNT); > 1 row found.
関連項目
ttIndexAdviceCaptureDrop
ttIndexAdviceCaptureEnd
ttIndexAdviceCaptureInfoGet
ttIndexAdviceCaptureStart
説明
このプロシージャは索引アドバイス取得を有効化します。このプロシージャをコールする前に、ttOptEstimateStats
を使用して統計を更新し、'invalidate'
パラメータを'yes'
に設定することをお薦めします。この方法で統計を更新することにより、統計を最新の状態にしておくことができ、取得中に文を強制的に再作成できます。かわりに、統計を既知の値に設定するには、'invalidate'
パラメータを'yes'
に設定してttOptSetTblStats
をコールします。
このプロシージャおよびこれに関連するプロシージャをIndex Advisorと呼びます。これらのプロシージャの使用法の詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』の索引を推奨するためのIndex Advisorの使用に関する説明を参照してください。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
TimesTen Scaleoutアプリケーションでこの組込みプロシージャをコールできます。
TimesTen Scaleoutでは、このプロシージャは、コール元の要素に対してローカルに実行されます。
パラメータ
ttIndexAdviceCaptureStart
には、次のオプションのパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
captureLevel |
TT_INTEGER |
取得レベルの有効な値は次のとおりです。
|
captureMode |
TT_INTEGER |
取得モードの有効な値は次のとおりです。
|
ノート
索引アドバイスがcaptureLevel
パラメータで指定されたレベルで、またはレベルが指定されていない場合には接続レベルですでに取得されている場合に、このプロシージャをコールするとエラーになります。接続レベルの取得は、競合せずに独立した接続で並行的に実行できます。データベース・レベルの取得の開始時に、残っている進行中の接続レベルの取得は予定どおりに終了します。
関連項目
ttIndexAdviceCaptureDrop
ttIndexAdviceCaptureEnd
ttIndexAdviceCaptureInfoGet
ttIndexAdviceCaptureOutput
説明
このプロシージャは、ラッチの統計を表示します。統計は、実行中のシステムで競合が発生している領域を特定するために役立ちます。
このプロシージャは、主にTimesTenテクニカル・サポートから要求された場合に使用します。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
TimesTen Scaleoutアプリケーションでこの組込みプロシージャをコールできます
TimesTen Scaleoutでは、このプロシージャは、コール元の要素に対してローカルに実行されます。
パラメータ
ttLatchStatsGet
には、次のパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
level |
TT_CHAR (16) |
統計情報を出力する接続の数を制御するレベル。有効な値は、次のとおりです。
|
operation |
TT_CHAR (16) |
この値は、出力の冗長レベルを制御します。有効な値は、次のとおりです。
|
結果セット
結果セットは、競合ポイントと統計情報の2つのタイプに分類されます。
ttLatchStatsGet
は競合ポイントの結果セットを返します。ここには競合の場所が示されます。
列 | データ型 | 説明 |
---|---|---|
callerName |
TT_VARCHAR(40) NOT NULL |
競合ポイントを含む関数名。 |
fileName |
TT_VARCHAR (30) NOT NULL |
callerName 関数を含むファイル。 |
lineNo |
TT_INTEGERNOT NULL |
fileName ファイルの行番号。 |
description |
TT_VARCHAR(100) NOT NULL |
この競合ポイントの説明。 |
ttLatchStatsGet
は統計情報の結果セットを返します。ここには、この競合ポイントに関する詳細な統計情報が示されます。
列 | データ型 | 説明 |
---|---|---|
connName |
TT_VARCHAR(40) |
競合が発生している接続の名前。 |
spinCount |
TT_BIGINTNOT NULL |
connName 接続がこの競合ポイントでスピンした回数。 |
access |
TT_BIGINTNOT NULL |
connName 接続がこの競合ポイントを使用した回数。 |
sleepCnt |
TT_INTEGERNOT NULL |
connName 接続がこの競合ポイントでスリープした回数。 |
firstTry |
TT_INTEGERNOT NULL |
connName 接続が、競合の発生なしでこの競合ポイントを使用した回数。 |
collisions |
TT_INTEGERNOT NULL |
connName 接続がこの競合ポイントを使用して、競合が発生した回数。 |
avgSpin |
TT_BIGINTNOT NULL |
connName 接続がこの競合ポイントでスピンした平均回数。 |
説明
このプロシージャはTimesTenの表名、Oracle SELECT
文、およびパラレル・ロードのスレッド数をとります。Oracle Database表に対して問合せを実行し、指定したTimesTen表に結果セットをロードします。ロードの実行中に、TimesTenデータベースに256行挿入されるたびに暗黙的なコミットが実行されます。
Oracle DatabaseからTimesTenの表にデータをロードする際、文字セットの変換は行われません。TimesTenデータベースとOracle Databaseは同じ文字セットを使用する必要があります。
このプロシージャでは接続属性UID
、接続属性OraclePWD
および接続属性OracleNetServiceName
を指定する必要があります。このプロシージャをコールした後に、コミットする必要があります。
詳細と使用法の情報については、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のOracle DatabaseからTimesTen表へのデータのロードに関する説明を参照してください。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
TimesTen Scaleoutアプリケーションでこの組込みプロシージャをコールできます。
TimesTen Scaleoutでは、このプロシージャは、コール元の要素に対してローカルに実行されます。
パラメータ
ttLoadFromOracle
には、次のパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
tblOwner |
TT_CHAR (30) |
TimesTen表の所有者(オプション)。指定しない場合は、接続IDが使用されます。 |
tblName |
TT_CHAR(30) NOT NULL |
Oracle Databaseからのデータがロードされる表の名前。表がまだない場合には、組込みプロシージャttTableSchemaFromOraQueryGet を使用して、表を作成するスキーマを取得できます。
指定するTimesTen表はシステム表、シノニム、ビュー、マテリアライズド・ビューまたはマテリアライズド・ビューの詳細表、グローバル一時表、キャッシュ・グループ表とすることはできません。 |
SelectSQL |
TT_VARCHAR (409600) NOT NULL |
表の列定義を導出する、Oracle Databaseに対するSELECT 問合せ。
Oracle Databaseに対する問合せはパラメータ・バインディングを持つことができません。 |
numThreads |
TT_INTEGER |
パラレル・ロードのスレッド数(オプション)。NULL の場合は、デフォルトの4になります。
表のパラレル・ロードを指定します。同時にロードを実行するスレッドの数を指定します。1つのスレッドでOracleデータベースからのバルク・フェッチを実行し、その他のスレッドでTimesTenへの挿入を実行します。各スレッドで独自の接続またはトランザクションが使用されます。 NumThreadsの最小値は2です。最大値は10です。10より大きい値を指定すると、TimesTenは値10を割り当てます。 また、readersオプションを使用して、 |
Options |
TT_VARCHAR (1000) |
key=value のペアで指定するオプションの文字列。有効な値は、「オプションの文字列」を参照してください。
デフォルトは 詳細は、次の表を参照してください。 |
オプションの文字列
このオプションは、キー=値のペアとして指定し、各ペアはセミコロンで区切ります。
オプションのパラメータ | 値 | 説明 |
---|---|---|
localOnly |
Y またはN |
このオプションは、特定のインスタンスの行のみをロードします。グリッドに特定のインスタンスをロードしてから、このオプションを使用します。このオプションを使用すると、ttLoadFromOracle によって表のすべての行が選択されますが、特定のインスタンスにハッシュされていない行は無視されます。
このオプションは、TimesTen Scaleoutでのみサポートされます。 デフォルト値は |
ErrorThreshold |
value > 0 |
このオプションは、組込みプロシージャがエラー・メッセージを返すエラーしきい値を設定します。
デフォルト値は |
IgnoreDuplicates |
Y またはN |
このオプションにより、ttLoadFromOracle 組込みプロシージャは一意性制約違反を無視し、結果として重複が無視されます。TimesTen表に一意性制約がある場合にのみ、このオプションを使用できます。
デフォルト値は |
ResumeFromSCN |
scn_of_last_load |
このオプションは、特定のSCNからロード操作を再開します。resumeFromSCN オプションが有効である場合、自動的に重複は無視されます。
デフォルト値は、最新のSCNです。 |
DirectLoad |
Y またはN |
このオプションは、パフォーマンス上の利点があるバルク挿入モードを有効にします。
このオプションは、TimesTen IMDBでのみサポートされます。 デフォルト値は |
readers |
numThreads > value > 0 |
このオプションは、numThreads パラメータからOracleデータベースのバルク・フェッチに使用するスレッドの総数を指定します。
たとえば、numThreadsパラメータに |
結果セット
ttLoadFromOracle
は、次の結果セットを返します。
列 | データ型 | 説明 |
---|---|---|
numRows |
TT_BIGINT |
ロードされた行数。 |
numErrors |
TT_BIGINT |
エラーが発生した行数。 |
errCode |
TT_INTEGER |
TimesTenのエラー・コードを示し、次のいずれかになります。
|
errMsg |
TT_VARCHAR(4000) |
エラー・メッセージで、次の内容が含まれます。
|
例
次の例では、OracleデータベースのHR
.EMPLOYEES
表の従業員に関するTimesTen表のロードを選択し、それをTimesTen HR.EMPLOYEES
表にロードしています。この例では、エラーが返されています。この例の場合、列STATE
はTT_TINYINT
です。
Command> CALL ttLoadFromOracle ('HR','EMPLOYEES', 'SELECT * FROM HR.EMPLOYEES'); < 99, 0, 0, 'Started=2014-08-01 13:48:21; Ended=2014-08-01 13:48:23; Statement=ttLoadFromOracle('HR', 'SELECT * FROM HR.EMPLOYEES'); SCN=1234567; Errors=1; Rows Loaded=99' > < NULL, NULL, 2614,'Value outside of range supported by integral type. Column STATE=-1' >
ノート
TimesTenはロードするまでは表を空にしません。ターゲット表には主キーが必要ありません。列タイプの不一致または列数の不一致により問合せの出力が表に変換できない場合、TimesTenはエラーを返します。TimesTen LOB列へのデータのロードはサポートされていません。Oracle Databaseに対する問合せにLOB出力がある場合、VAR型にマップされます。
ロード・プロセスでは、TimesTen表の列のデータ型とサイズが結果セットのデータ型とサイズに一致することを確認しません。かわりに、挿入が試行され、列のデータ型をマップできない場合、またはSQL問合せからのOracle DatabaseデータがTimesTenの列サイズを超える場合、TimesTenはエラーを返します。LOB列は4MBに切り捨てられます。
列を追加するために表を変更すると、セカンダリ・パーティションが追加されます。表への複数のパーティションのロードは、ttLoadFromOracle
ではサポートされていません。
説明
この接続の次のトランザクションとすべての後続トランザクションに対して、行レベルのロックとデータベース・レベルのロックでロック・レベルを変更します。アプリケーションでは、再度ttLockLevel
を呼び出すことによって、再度ロック・レベルを変更できます。初期値は、LockLevel
接続属性によって異なります。各種ロック・レベルの詳細は、「LockLevel」を参照してください。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
パラメータ
ttLockLevel
には、次のパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
lockLevel |
TT_CHAR(20) NOT NULL |
接続で使用するロック・レベル。 |
lockLevel
の値は次の文字列のいずれかで、大文字と小文字は区別されません。
Row
: 行レベル・ロックに設定します。
DS
: データベース・レベル・ロックに設定します。
説明
このプロシージャは、アプリケーションで、現在の接続のロック・タイムアウト間隔を変更できるようにします。変更はただちに有効になり、現在のトランザクションでのすべての後続文および接続しているすべての後続トランザクションにも適用されます。
ロック待機時間は、ロックの競合が発生した際に待機する秒数です。秒の小数部も指定できます。
タイムアウトを検出するエージェントのスケジュールにより、ロック待機時間は不正確で、通常、最大100ミリ秒超過する場合があります。0(ゼロ)秒のタイムアウトの場合はこの不正確さは該当せず、タイムアウトはすぐにレポートされます。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
TimesTen Scaleoutアプリケーションでこの組込みプロシージャをコールできます。
TimesTen Scaleoutでは、このプロシージャは、グリッド内のすべての要素に対して実行されます。
パラメータ
ttLockWait
には、次の必須のパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
seconds |
NUMBER (8,1) NOT NULL |
競合が発生した際にロックを待機する時間(秒)。秒の小数部も指定できます。有効な値は0.0から1000000.0の範囲です。 |
例
ロック待機を6秒に指定するには、次のように実行します。
CALL ttLockWait (6);
ロック待機を10分の1秒に指定するには、次のように実行します。
CALL ttLockWait (0.1);
説明
このプロシージャは、トランザクション・ログの保持に関する情報を返し、これには増分バックアップ、レプリケーション・ピア、アクティブ・スタンバイ・ペア(およびサブスクライバ)、AWTキャッシュ・グループ、永続XLAサブスクライバ、XA、長時間実行トランザクションおよびチェックポイントのかわりに作成されたログも含まれます。このプロシージャは、チェックポイント処理ですべての不要なトランザクション・ログ・ファイルが消去されていない可能性がある状況を診断する場合に役立ちます。
アプリケーションではログの保持とログ・ファイルの蓄積を監視する必要があります。詳細は、『Oracle TimesTen In-Memory Databaseレプリケーション・ガイド』のレプリケートされたログ・レコードの表示に関する説明および『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のトランザクション・ログ・ファイルの蓄積の監視に関する説明を参照してください。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
TimesTen Scaleoutアプリケーションでこの組込みプロシージャをコールできます。
このプロシージャは、コール元の要素の行を返します。他の要素に関する情報を表示するには、SYS.GV$LOG_HOLDS
システム表を問い合せます。
結果セット
ttLogHolds
は次の結果セットを返します。
列 | データ型 | 説明 |
---|---|---|
HoldLFN |
TT_INTEGERNOT NULL |
保持されているトランザクション・ログ・ファイルの番号を返します。 |
HoldLFO |
TT_BIGINTNOT 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 >
次の例では、アクティブ・スタンバイ・ペアのレプリケーション・スキームに対するttLogHolds
組込みプロシージャの出力を示します(アクティブ・マスターはmaster1
、スタンバイ・マスターはmaster2
、単一サブスクライバはsubscriber1
です)。
Command> call ttLogHolds; < 0, 3569664, Checkpoint , master1.ds0 > < 0, 15742976, Checkpoint , master1.ds1 > < 0, 16351496, Replication , ADC6160529:SUBSCRIBER1 > < 0, 16351640, Replication , ADC6160529:MASTER2 > 4 rows found.
次の例では、Oracle DatabaseへのAWTキャッシュ・グループの非同期伝播の進行状況を示します。記述フィールドには、AWTキャッシュ・グループ伝播のトランザクション・ログの保持を識別するために「_ORACLE
」が含まれます。
Command> call ttLogHolds(); < 0, 18958336, Checkpoint , cachealone1.ds0 > < 0, 19048448, Checkpoint , cachealone1.ds1 > < 0, 19050904, Replication , ADC6160529:_ORACLE > 3 rows found.
説明
このプロシージャは、MONITOR
表のPERM_IN_USE_HIGH_WATER
列の値をPERM_IN_USE_SIZE
列の現在の値に設定し、MONITOR
表のTEMP_IN_USE_HIGH_WATER
列の値をTEMP_IN_USE_SIZE
列の現在の値に設定します。これらの列は、アプリケーションの開発時およびデプロイ時にデータベースのサイジングに役立ちます。
説明
このプロシージャは、指定した表の統計を消去します(これによって、TimesTen問合せオプティマイザで、表に関連する後続の問合せに対して、推測値またはデフォルト値が使用されるようになります)。このプロシージャは、統計が古い場合や、アプリケーションで組込みのデフォルト値を使用する場合に役立ちます。このプロシージャによって、指定した表に関連するシステム表TBL_STATS
およびCOL_STATS
から、すべての行が削除されます。詳細は、『Oracle TimesTen In-Memory Databaseシステム表およびビュー・リファレンス』の「SYS.TBL_STATS」および「SYS.COL_STATS」を参照してください。
必要な権限
このプロシージャには、表の所有者の権限は必要ありません。tblName
が指定されていない場合、このプロシージャに権限は必要ありません(これは、tblName
が指定されていない場合、このプロシージャは現在のユーザーの表に対して操作を行うためです)。
ユーザーが表の所有者でない場合、このプロシージャにはALTER ANY TABLE
権限が必要です。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
TimesTen Scaleoutアプリケーションでこの組込みプロシージャをコールできます。
TimesTen Scaleoutでは、このプロシージャは、コール元の要素に対してローカルに実行されます。
パラメータ
ttOptClearStats
には、次のパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
tblName |
TT_CHAR (61) |
アプリケーション表の名前。表の所有者を含めることができます。tblName が空の文字列であるか指定されていない場合、データベース内の現在のユーザーが所有するすべての表で統計が消去されます。
表名の指定にシノニムは使用できません。 |
invalidate |
TT_INTEGER |
0 (no)または1 (yes)。デフォルトは0 です。
|
説明
依存コマンドが再度呼び出された場合、この組込みプロシージャは、再コンパイルを強制するか、キャッシュからそのコマンドを削除します(ユーザーは再度それを準備する必要があります)。
このプロシージャは、次のような場合にコールします。
すべての必要な統計を収集した後。
表のカーディナリティが大幅に変更された場合。
コマンドは、プロシージャによって再コンパイルが必要または無効としてマークされます。
コマンドの実行を停止するオプションはありません。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
TimesTen Scaleoutアプリケーションでこの組込みプロシージャをコールできます。
TimesTen Scaleoutでは、このプロシージャは、コール元の要素に対してローカルに実行されます。
パラメータ
ttOptCmdCacheInvalidate
には、次のパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
tblname |
TT_CHAR(61) |
依存コマンドを無効化または再コンパイルする必要のある表の名前。 |
invalidate |
TT_INTEGER |
依存コマンドを強制的に再コンパイルまたは無効化します。
|
説明
ttOptEstimateStats
プロシージャは、指定した表の統計を更新します。このプロシージャは、指定した表内の行をランダムにサンプリングすることによって統計を推定します。サンプルのサイズは、指定した行の数(sampleStr
の形式がn
ROWS
の場合)または、行の総数の割合(sampleStr
の形式がp
PERCENT
の場合)です。
tblName
が指定されていない場合、このプロシージャは現在のユーザーが所有するすべての表に対して処理されます。ユーザーがインスタンス管理者である場合、インスタンス管理者が所有する表のみが更新されます。表がユーザーによって所有されていない場合、ユーザーは自分のユーザー名で表名を修飾して、現在のユーザーの統計を更新できます。
統計が更新されたかどうかを判断するには、この操作を実行する前と後で、システム表SYS.COL_STATS
およびSYS.TBL_STATS
を確認します。
必要な権限
ユーザーが表の所有者である場合、またはtblName
が指定されていない場合、このプロシージャに権限は必要ありません。ユーザーが表の所有者でない場合、このプロシージャにはALTER ANY TABLE
権限が必要です。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
TimesTen Scaleoutアプリケーションでこの組込みプロシージャをコールできます。
TimesTen Scaleoutでは、このプロシージャは、グリッド内のすべての要素に対して実行されます。
パラメータ
ttOptEstimateStats
には、次のパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
tblName |
TT_CHAR(61) |
アプリケーション表の名前。表の所有者を含めることができます。tblName が空の文字列の場合、データベース内の現在のユーザーが所有するすべての表で統計が推定されます。
表名の指定にシノニムは使用できません。 |
invalidate |
TT_INTEGER |
0(いいえ)または1(はい)。invalidate が1の場合、他のユーザーが準備したコマンドを含む、影響を受ける表を参照するすべてのコマンドは、再実行時に自動的に再準備されます。invalidate が0の場合、統計は変更されたとはみなされず、既存のコマンドは再準備されません。
|
sampleStr |
TT_VARCHAR (255) NOT NULL |
n ROWS という形式の文字列(n は0(ゼロ)より大きい整数 )、またはp PERCENT という形式の文字列(p は0.0から100.0の間の浮動小数点)。 |
例
CALL ttOptEstimateStats ( 'ACCTS', 1, '5 PERCENT' ); CALL ttOptEstimateStats ( 'ACCTS', 1, '75 ROWS' );
ノート
TimesTenの統計には、各表の行数、各列の一意の値の数、各列の最大値および最小値が含まれます。TimesTenでは、列の値の配分は均一であると想定しています。
このプロシージャは、表の行の50%より少ないサンプルで実行した場合にのみ、ttOptUpdateStats
よりも高速で実行されます。
2,048バイトを超える列の場合、推定は行われず、これらの列の統計は更新されません。2,048バイトを超える列の統計を更新するには、ttOptUpdateStats
組込みプロシージャを使用します。可変長列の場合、このプロシージャによって更新されるのは、列の最大長が2,048バイト以下である場合の統計のみです。
sampleStr
パラメータに非常に小さな値を選択した場合、このプロシージャは高速に実行されますが、実行計画は最適にはならない可能性があります。計画の正確性を低下させることなく、統計の計算を高速に実行し、適切なデータ分布を得るには、10%程度の選択が適しています。指定した行の数が大きいか、または対象となる表が小さい場合、TimesTenはパフォーマンスを向上させるために、長さが2,048バイト以下のすべての列に対して、正確な統計を計算します。たとえば、次の2つの相違点として、
ttOptEstimateStats ('ACCTS', 1, '100 PERCENT' )
と
ttOptUpdateStats( 'ACCTS', 1 )
前者が長い列の統計を計算しないということのみです。
統計は、システム表TBL_STATS
およびCOL_STATS
に格納されます。
パフォーマンス上の理由から、ttOptEstimateStats
では、統計が計算される際に表または行のロックは保持されません。統計の計算をそのように行った場合でも、パフォーマンスが低下する可能性があります。統計は、正確に計算するよりも推定した方が一般にパフォーマンスは向上します。
システム表を更新する権限がある場合、空の表リストを指定して統計を見積もり、または更新すると、システム表の統計も更新されます。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
TimesTen Scaleoutアプリケーションでこの組込みプロシージャをコールできます。
TimesTen Scaleoutでは、このプロシージャは、コール元の要素に対してローカルに実行されます。
パラメータ
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 |
テキスト形式の統計。 |
説明
このプロシージャは、現在のトランザクションのオプティマイザ・フラグの設定を返します。結果はSQL SELECT
文の結果と同様に、ODBC SQLFetch
関数またはJDBC ResultSet.get
XXX
()
メソッドを使用して取得できる結果セットとして返されます。アプリケーションはttOptGetFlag
にフラグ名を渡すことによって、特定のオプティマイザ・フラグの値をリクエストできます。また、NULL
を渡すことによって、すべてのオプティマイザ・フラグの値をリクエストすることもできます。オプティマイザ・フラグとそれらの意味については、ttOptSetFlag
組込みプロシージャで説明します。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
TimesTen Scaleoutアプリケーションでこの組込みプロシージャをコールできます。
TimesTen Scaleoutでは、このプロシージャは、コール元の要素に対してローカルに実行されます。
パラメータ
ttOptGetFlag
には、次のパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
flagName |
TT_CHAR (32) |
値が返されるフラグの名前です。NULL を渡した場合、すべてのフラグの値が返されます。 |
結果セット
ttOptGetFlag
は次の結果セットを返します。
列 | データ型 | 説明 |
---|---|---|
flagName |
TT_VARCHAR (32) NOT NULL |
フラグの名前。有効なフラグの値については、「ttOptSetFlag」を参照してください。 |
value |
TT_INTEGERNOT NULL |
現在のフラグ値(0 または1 )。 |
説明
このプロシージャは、コンパイル済SQLコマンド・キャッシュの空きリストのサイズを返します。キャッシュ・サイズをリセットするには、マテリアライズド・ビューについてはttOptSetMaxPriCmdFreeListCnt
を使用し、通常の表についてはttOptSetMaxCmdFreeListCnt
を使用します。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
TimesTen Scaleoutアプリケーションでこの組込みプロシージャをコールできます。
TimesTen Scaleoutでは、このプロシージャは、コール元の要素に対してローカルに実行されます。
説明
このプロシージャは、現在のトランザクションの結合順序を含む、単一行の結果セットを返します。この結果セットは、SQL SELECT
文の結果と同様に、ODBC SQLFetch
関数またはJDBC ResultSet.get
XXX
()
メソッドを使用して取得できます。結合順序については、ttOptSetOrder
組込みプロシージャで説明します。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutでサポートされます。
このプロシージャは、コール元の要素の行を返します。他の要素に関する情報を表示するには、SYS.GV$OPT_ORDER
システム表を問い合せます。
説明
このプロシージャは、時間隔情報を含む、指定した列の統計を変更します。このプロシージャを使用すると、TimesTenが自動的に統計を計算するのではなく、アプリケーションによって統計を手動で設定できます。この機能は、データが挿入される前にコマンドを準備したり、表の特性が実行計画の選択に与える影響を調べる場合に役立ちます。このプロシージャによって、COL_STATS
システム表の関連する行が変更されます。現在索引付けされていない列に対する時間隔統計の変更は無効です。
このプロシージャは表にデータが存在する前から使用できるため、基本的な妥当性チェックは実行されますが、指定する値は実際の値とは関係のないものでもかまいません。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
TimesTen Scaleoutアプリケーションでこの組込みプロシージャをコールできます。
TimesTen Scaleoutでは、このプロシージャは、グリッド内のすべての要素に対して実行されます。
パラメータ
ttOptSetColIntvlStats
には、次のパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
tblName |
TT_CHAR (61) NOT NULL |
アプリケーション表の名前。表の所有者を含めることができます。表名の指定にシノニムは使用できません。 |
colName |
TT_CHAR (30) NOT NULL |
その表内の列の名前。 |
invalidate |
TT_INTEGER |
0 (no)または1 (yes)。invalidate が1の場合、影響を受ける表を参照するすべてのコマンドは、再実行時に自動的に再準備されます。このようなコマンドには、他のユーザーが準備したコマンドが含まれます。invalidate が0 の場合、統計は変更されたとはみなされず、既存のコマンドは再準備されません。 |
stats |
VARBINARY (409600) NOT NULL |
次の形式を使用して、列のstatsを設定します。
モーダル値( このパラメータは複合構造であるため、ODBC関数を使用してパラメータ化することも、 |
例
列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)));
説明
このプロシージャは、指定した列の統計を変更します。このプロシージャを使用すると、TimesTenが自動的に統計を計算するのではなく、アプリケーションによって統計を手動で設定できます。この機能は、データが挿入される前にコマンドを準備したり、表の特性が実行計画の選択に与える影響を調べる場合に役立ちます。このプロシージャによって、COL_STATS
システム表の関連する行が変更されます。
このプロシージャは表にデータが移入される前から使用できるため、基本的な妥当性チェックは実行されますが、指定する値は実際の値とは関係のないものでもかまいません。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
TimesTen Scaleoutアプリケーションでこの組込みプロシージャをコールできます。
TimesTen Scaleoutでは、このプロシージャは、グリッド内のすべての要素に対して実行されます。
パラメータ
ttOptSetColStats
には、次のパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
tblName |
TT_CHAR (61) NOT NULL |
アプリケーション表の名前。表の所有者を含めることができます。
表名の指定にシノニムは使用できません。 |
colName |
TT_CHAR (30) NOT NULL |
その表内の列の名前。 |
num_Uniq |
TT_INTEGERNOT NULL |
列内の一意値の数。 |
minVal |
VARBINARY(1024) NOT NULL |
列内の最小値(切り捨てられる可能性あり)。 |
maxVal |
VARBINARY(1024) NOT NULL |
列内の最大値(切り捨てられる可能性あり)。 |
invalidate |
TT_INTEGER |
0 (no)または1 (yes)。invalidate が1 の場合、影響を受ける表を参照するすべてのコマンドは、再実行時に自動的に再準備されます。このようなコマンドには、他のユーザーが準備したコマンドが含まれます。invalidate が0 の場合、統計は変更されたとはみなされず、既存のコマンドは再準備されません。 |
num_Null |
TT_INTEGER |
列のNULL の総数を指定します。 |
説明
このプロシージャは、トランザクションがコミットまたはロールバックされたときに、すべてのオプティマイザ・フラグをそれぞれのデフォルト値にリセットします。これにより、TimesTen問合せオプティマイザによる実行計画の生成が変更されます。フラグを設定して、様々なアクセス方法の使用を有効または無効にします。このコールによって加えられた変更は、文を準備するときに有効になり、それ以降に現在のトランザクションで実行される、ODBC関数SQLPrepare
およびSQLExecDirect
へのすべてのコール、またはJDBCメソッドConnection.prepareCall
およびStatement.execute
へのすべてのコールが影響を受けます。AutoCommit
がオンのときにオプティマイザ・フラグセットされた場合、それらは無視されます。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
TimesTen Scaleoutアプリケーションでこの組込みプロシージャをコールできます。
TimesTen Scaleoutでは、このプロシージャは、コール元の要素に対してローカルに実行されます。
パラメータ
ttOptSetFlag
には、次のパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
optFlag |
TT_CHAR (32) NOT NULL |
オプティマイザ・フラグの名前。 |
optVal |
TT_INTEGERNOT NULL |
オプティマイザ・フラグの値。次の「オプティマイザ・フラグ」に記載されている場合を除き、通常、値は0 (無効/禁止)または1 (有効/許可)です。 |
オプティマイザ・フラグ
オプティマイザ・フラグを設定する場合は、次の文字列を使用します。大文字と小文字は区別されません。
さらに文字列AllFlags
をすべてのオプティマイザ・フラグを参照するために使用し、文字列Default
をデフォルトのフラグを参照するために使用できます。Default
には、GenPlan
フラグ以外のすべてのオプティマイザ・フラグが含まれます。
フラグの説明
各フラグの値は1または0です。
1の場合、処理は有効
0の場合、必要時以外、処理は無効
GenPlan
以外のすべての初期フラグ値は1です(すべての処理が許可されます)。
たとえば、アプリケーションで、中間結果を格納する計画をオプティマイザが選択できないようにできます。
ttOptSetFlag ( 'TmpTable', 0 )
同様に、アプリケーションでMergeJoin
のプリファレンスを指定できます。
ttOptSetFlag ( 'MergeJoin', 0 )
2つ目の例では、マージ結合が不可能な場合(たとえば、マージ結合条件がない場合)、オプティマイザはネステッド・ループ・ジョインを選択できます。同様に、オプティマイザが、表スキャンを回避するアプリケーション・リクエストを満たすことができない場合もあります(Scan
フラグが0
に設定されている場合)。
特定の処理が特定の計画ステップで禁止されると指定すること、または特定の2つの表では必ず特定の結合方法が使用されると指定することはできません。同様に、特定の索引が使用されると指定すること、または特定の条件を評価するためにハッシュ索引が使用されると指定することもできません。各処理は、完全に許可されているか、完全に制限されているかのいずれかです。
コマンドが準備されている場合は、現在のオプティマイザ・フラグ、索引ヒントおよび結合順序はコマンドのコンパイル済形式の構造で保持され、システムによってそのコマンドが再準備されるときに使用されます。再準備された文の例については、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のTimesTen問合せオプティマイザに関する説明を参照してください。
RowLock
およびTblLock
の両方が無効な場合、TimesTenでは行ロックが使用されます。RowLock
およびTblLock
の両方が有効な場合、TimesTenでは、パフォーマンスがより高い方のロック・スキームが使用されます。
TblLockの状態 | RowLockの状態 | オプティマイザへの影響 |
---|---|---|
無効 | 無効 | 行レベル・ロックの使用。 |
有効 | 無効 | 表レベル・ロックの使用。 |
無効 | 有効 | 行レベル・ロックの使用。 |
有効 | 有効 | 行レベル・ロックまたは表レベル・ロックをオプティマイザが選択します。 |
通常、問合せによって表の行の重要な部分がアクセスされる場合、またはその表に同時アクセスしているトランザクションの数が非常に少ない場合に、表レベル・ロックは有効です。
説明
このプロシージャは、通常の表に対するコンパイル済SQLコマンドの空きリストの最大カウントを設定します。現在の設定値を取得するには、ttOptGetMaxCmdFreeListCnt
プロシージャを使用します。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
TimesTen Scaleoutアプリケーションでこの組込みプロシージャをコールできます。
TimesTen Scaleoutでは、このプロシージャは、コール元の要素に対してローカルに実行されます。
説明
このプロシージャは、マテリアライズド・ビューのメンテナンスを実行するコンパイル済SQLコマンドの空きリストの最大カウントを設定します。
このコマンドを設定すると、解放可能なコンパイル済マテリアライズド・ビュー・コマンドは通常の表とは別にカウントされます。このコマンドを設定しない場合、コンパイル済マテリアライズド・ビュー・コマンドは通常のコマンドとしてカウントされます。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
TimesTen Scaleoutアプリケーションでこの組込みプロシージャをコールできます。
TimesTen Scaleoutでは、このプロシージャは、グリッド内のすべての要素に対して実行されます。
説明
このプロシージャは、オプティマイザが表を結合する順序を指定します。文字列は、カンマではなく空白で区切られた表名または表の相関名のリストで、問合せまたは副問合せで参照されます。最初にリストされている表が、計画によって最初にスキャンされます。たとえば、ネステッド・ループ結合では一番外側になります。相関名は、修飾された表名のショートカットまたは別名です。この組込みプロシージャの実行中は、AutoCommit
をOFF
に設定する必要があります。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
TimesTen Scaleoutアプリケーションでこの組込みプロシージャをコールできます。
TimesTen Scaleoutでは、このプロシージャは、コール元の要素に対してローカルに実行されます。
パラメータ
ttOptSetOrder
には、次の必須のパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
join_Order |
TT_VARCHAR(1024) |
空白で区切られた表名または表相関名のリスト。表名を区別するために所有者が必要な場合は、表相関名を使用します。joinOrder を指定しない場合、問合せオプティマイザの動作はデフォルトに戻ります。 |
例
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では、コマンドが準備される際、有効な結合順序が考慮され、指定した結合順序は無視されます。
ノート
結合順序では、導出された表の別名はサポートされていません。表の別名を指定すると、TimesTenによって、その順序は適用できないことを示す警告メッセージ965が返されます。
文字列の長さは1,024バイトに制限されています。文字列がこの長さを超えると、切り捨てられ、警告が発行されます。
副問合せで参照される相関名が結合順序に含まれていると、TimesTenでは、内部的に分離モードに切り替えられます。
コマンドが準備されている場合は、現在のオプティマイザ・フラグ、索引ヒントおよび結合順序はコマンドのコンパイル済形式の構造で保持され、システムによってそのコマンドが再準備されるときに使用されます。再準備された文の例については、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のTimesTen問合せオプティマイザに関する説明を参照してください。
このコールによって加えられた変更はただちに有効になり、現在のトランザクションでのODBC関数SQLPrepare
またはJDBCメソッドConnection.prepareCall
への後続のすべてのコールに影響します。後続のトランザクションに備えて、問合せオプティマイザの動作はデフォルトに戻ります。
結合順序を使用する場合、問合せによって参照される表の名前は、指定した名前と厳密に一致している必要があります(比較では大文字と小文字が区別されません)。部分的な順序を指定するメカニズムはないため、完全な順序を指定する必要があります。問合せに副問合せがある場合、結合順序は副問合せの中の相関名も参照する必要があります。つまり、結合順序は問合せの中のすべての相関名を参照する必要があります。TimesTenオプティマイザは、GROUP BY
を使用して、特別な種類の結合問合せとして副問合せを内部的に実装します。結合順序を適用可能にするには、すべての相関名を参照する必要があります。矛盾がある場合はTimesTenでは警告が発行され、指定した結合順序は完全に無視されます。
結合の順序は、特定のSQL文の中で文レベル・オプティマイザ・ヒントを使用して設定することもできます。詳細は、『Oracle TimesTen In-Memory Database SQLリファレンス・ガイド』の文レベル・オプティマイザ・ヒントに関する説明を参照してください。特にヒントの各スタイルの動作を理解するには、Oracle TimesTen In-Memory Database SQLリファレンスの文レベルとトランザクション・レベル、および接続レベルのオプティマイザ・ヒントの概要に関する項を参照してください。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
TimesTen Scaleoutアプリケーションでこの組込みプロシージャをコールできます。
TimesTen Scaleoutでは、このプロシージャは、グリッド内のすべての要素に対して実行されます。
パラメータ
ttOptSetTblStats
には、次のパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
tblName |
TT_CHAR (61) NOT NULL |
アプリケーション表の名前。表の所有者を含めることができます。
表名の指定にシノニムは使用できません。 |
num_Rows |
TT_INTEGERNOT NULL |
表の行数。 |
invalidate |
TT_INTEGER |
0 (no)または1 (yes)。invalidate が1の場合、他のユーザーが準備したコマンドを含む、影響を受ける表を参照するすべてのコマンドは、再実行時に自動的に再準備されます。invalidate が0 の場合、統計は変更されたとはみなされず、既存のコマンドは再準備されません。 |
説明
このプロシージャは、現在のトランザクションで最後に準備または実行されたSQL文(SELECT
、UPDATE
、DELETE
およびINSERT SELECT
)の結合順序を返します。結合順序を収集するには、同じトランザクションで、まずttOptSetFlag
('ShowJoinOrder', 1)
を使用するか、ttIsql
のShowJoinOrder
コマンドをON
(1)に設定します。これらのコマンドのいずれかを使用するときは、AUTOCOMMIT
をオフにしておいてください。結合順序は、表の名前の順序によって表されます。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
TimesTen Scaleoutアプリケーションでこの組込みプロシージャをコールできます。
TimesTen Scaleoutでは、このプロシージャは、コール元の要素に対してローカルに実行されます。
結果セット
ttOptShowJoinOrder
は次の結果を返します。
列 | データ型 | 説明 |
---|---|---|
joinOrder |
TT VARCHAR (4096) NOT NULL |
表名(指定されている場合は、所有者名の修飾子および各表の相関名が含まれます)。表名は、カッコで囲まれて返されます。
表名の指定にシノニムは使用できません。 |
例
Command> AUTOCOMMIT 0; CALL ttOptSetFlag ('ShowJoinOrder', 1); PREPARE SELECT * FROM t1; CALL ttOptShowJoinOrder(); ( T1 )
ノート
このプロシージャを使用する前に、ttOptSetFlag
('ShowJoinOrder', 1)
をコールするか、ttIsql
のShowJoinOrder
コマンドをON
(1
)に設定する必要があります。
このプロシージャは、1つのトランザクション内で正しく動作します。複数のトランザクション間では正しく動作しません。
説明
このプロシージャは、表の統計を現在の状態にリストアするために必要な一連の文を返します。表が指定されていない場合は、コールするユーザーがアクセス権を持つすべてのユーザー表の表統計をリストアするために必要な一連の文を返します。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
TimesTen Gridアプリケーションでは、この組込みプロシージャをコールできます。TimesTen Scaleoutでは、このプロシージャは、コール元の要素に対してローカルに実行されます。
パラメータ
ttOptStatsExport
には次のパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
tblName |
TT_CHAR(61) NOT NULL |
統計情報が返される表の名前です。NULL が渡された場合、すべての表の値が返されます。
表名の指定にシノニムは使用できません。 |
説明
このプロシージャは、指定した表の統計を更新します。TimesTenは表に格納されているデータを参照して、システム表TBL_STATS
およびCOL_STATS
を更新します。表が大きい場合、このプロセスには多少時間がかかる可能性があります。行が更新されても統計は自動的に計算されないため、このプロシージャをコールすることによって、アプリケーションで明示的に統計を計算する必要があります。
tblName
が指定されていない場合、このプロシージャは現在のユーザーが所有するすべての表に対して処理されます。ユーザーがインスタンス管理者である場合、インスタンス管理者が所有する表のみが更新されます。表がユーザーによって所有されていない場合、ユーザーは自分のユーザー名で表名を修飾して、現在のユーザーの統計を更新できます。
統計が更新されたかどうかを判断するには、この操作を実行する前と後で、システム表SYS.COL_STATS
およびSYS.TBL_STATS
を確認します。
必要な権限
ユーザーが表の所有者である場合またはtblName
が指定されていない場合、このプロシージャに権限は不要です。ユーザーが表の所有者でない場合、このプロシージャにはALTER ANY TABLE
権限が必要です。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
TimesTen Scaleoutアプリケーションでこの組込みプロシージャをコールできます。
TimesTen Scaleoutでは、このプロシージャは、グリッド内のすべての要素に対して実行されます。
パラメータ
ttOptUpdateStats
には、次のパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
tblName |
TT_CHAR(61) |
アプリケーション表の名前。表の所有者を含めることができます。NULL または空の文字列を値として指定すると、現在のユーザーのすべての表の統計が更新されます。
表名の指定にシノニムは使用できません。 |
invalidate |
TT_INTEGER |
0(いいえ)または1(はい)。invalidate が1の場合、ALTER TABLE DROP TABLE 文とALTER TABLE ADD COLUMN FOR SELECT * FROM TABLE 文以外のすべてのコマンドが、次の実行時に再準備するようにマークされます。これらの例外については、手動で再準備する必要があります。invalidate が0の場合、統計は変更されたとはみなされず、既存のコマンドは再準備されません。
|
option |
TT_INTEGER |
完全な時間隔の統計情報の収集をするかどうかを指定します。このオプションに有効な値は、次のとおりです。
1 - 完全な時間隔統計を収集しません。単一の時間隔統計のみが収集されます。
詳細は、次のノートを参照してください。 |
例
CALL ttOptUpdateStats ( 'ACCTS', 1 );
ACCTS
表を更新し、ACCTS
表を参照するすべてのコマンドを次回の実行時に再準備します。
CALL ttOptUpdateStats('', 1);
現在のユーザーのすべての表を更新し、その表に対するコマンドを次回の実行時に再準備します。
CALL ttOptUpdateStats('ACCTS', 0, 1);
単一の時間隔統計を収集します。
ノート
指定した表名が空の文字列である場合、統計は現在のユーザーのすべての表について更新されます。
完全な時間隔統計を収集する場合、表の列の総数は20以下の時間隔に分割され、各時間隔の配分が統計に記録されます。新しい統計には、次の情報が含まれます。
時間隔の数
列のNULL
値の総数
列のNON NULL UNIQUE
値の総数
表の行の総数
時間隔情報(各時間隔には次の情報が含まれます)
最小値
最大値
最大頻度の値
最大頻度の値の数
最大頻度の値と異なる値の行の数
最大頻度の値以外の一意値の数
完全な時間隔統計を収集するには、データをソートする必要があります。
完全な時間隔統計を選択しない場合、全体の配分を単一の時間隔として処理することにより、統計が収集されます。
TimesTenでは、パフォーマンス上の理由から、統計の計算時に表ロックおよび行ロックは保持されません。ただし、統計の計算をそのように行った場合でも、パフォーマンスが低下する可能性があります。統計は、正確に計算するよりも推定した方が一般にパフォーマンスは向上します。統計の推定については、「ttOptEstimateStats」を参照してください。
システム表を更新する権限がある場合、空の表リストを指定して統計を見積もり、または更新すると、システム表の統計も更新されます。
説明
このプロシージャは、アプリケーションで、TimesTen問合せオプティマイザによる実行計画の生成を変更できるようにします。アプリケーションはこのプロシージャをコールして、一連の索引の使用を無効にしたり、問合せで使用する各相関関係のために一連の索引のみの使用を有効にすることができます。索引の使用を有効にしても、生成された計画がその索引を使用するとはかぎりません。オプティマイザは、推定されたコストに応じて、指定した索引を使用する計画より優れた計画が得られる場合、シリアライズ・スキャンまたはマテリアライズ・スキャンを使用して、関連する相関関係にアクセスすることを選択する場合があります。
このコールによって加えられた変更はただちに有効になり、アプリケーションがこれを消去するコールを明示的に発行するまで、現在のトランザクションでのODBC関数SQLPrepare
およびSQLExecDirect
への後続のすべてのコール、JDBCメソッドConnection.prepareCall
およびStatement.execute
への後続のすべてのコールに影響します。新しいトランザクションが開始されるたびに、設定は消去されます。
この組込みプロシージャの実行中は、AutoCommit
をOFF
に設定する必要があります。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
TimesTen Scaleoutアプリケーションでこの組込みプロシージャをコールできます。
TimesTen Scaleoutでは、このプロシージャは、コール元の要素に対してローカルに実行されます。
パラメータ
ttOptUseIndex
には、次の構成要素を持つTT_VARCHAR(1024)
型の単一のカンマで区切られた文字列パラメータindOption
があります。
構成要素 | 説明 |
---|---|
IndexName |
ユーザー定義索引の名前(一時的な範囲索引の場合は「_TMPRANGE 」、一時的なハッシュ索引の場合は「_TMPHASH 」)。索引名を省略すると、指定した相関関係のすべての索引に設定が適用されます。 |
CorrelationName |
表の相関名。表がFROM 句の相関名によって定義されている場合、この表の索引ヒントを指定する際は、表名のかわりにこの相関名を使用します。相関名を省略すると、この設定は、指定した索引名を持つすべての表に影響します。 |
0 | 1 |
IndexName で指定した索引の使用を無効(0 )または有効(1 )にします。 |
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
TimesTen Scaleoutアプリケーションでこの組込みプロシージャをコールできます。
このプロシージャは、コール元の要素の行を返します。他の要素に関する情報を表示するには、SYS.GV$PLSQL_MEMORY_STATS
システム表を問い合せます。
結果セット
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;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にリロードされるかどうかを判断するために使用するRAM自動リロード・ポリシーを返します。ポリシーは、autoreload
またはnoautoreload
のいずれかです。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
パラメータ
ttRamPolicyAutoReloadSet
には、次のパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
flag |
TT_INTEGERNOT NULL |
無効化の後、データベースがRAMにリロードされるかどうかを判断するために使用するポリシー。有効な値は、次のとおりです。
|
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
結果セット
ttRamPolicyGet
は次の結果を返します。
列 | データ型 | 説明 |
---|---|---|
ramPolicy |
TT_VARCHAR (10) |
データベースをシステムRAMにロードするタイミングを決定するために使用するポリシーです。有効な値は、次のとおりです。
|
ramGrace |
TT_INTEGER |
このフィールドは、ramPolicy がinUse の場合に、最後のアプリケーションが切断されてから何秒後までデータベースがRAMに保持されるかをレポートします。これ以外の場合、このフィールドはNULL です。 |
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
パラメータ
ttRamPolicySet
には、次のパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
ramPolicy |
TT_VARCHAR (10) NOT NULL |
データベースをシステムRAMにロードするタイミングを決定するために使用するポリシーです。有効な値は、次のとおりです。
|
ramGrace |
TT_INTEGER |
最後のアプリケーションが切断されてから何秒後までデータベースをRAMに保持するかを設定します。この値は、ramPoliy がinUse の場合にのみ有効です。このパラメータはオプションであり、省略するか、NULL を設定した場合、既存のramGrace 期間は、変更されません。 |
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
TimesTen Scaleoutアプリケーションでこの組込みプロシージャをコールできます。
TimesTen Scaleoutでは、このプロシージャは、コール元の要素に対してローカルに実行されます。
パラメータ
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
に変更します。アクティブ・スタンバイ・ペアのマスター・データベースのロールを元に戻す場合に、このプロシージャを使用します。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
関連項目
ttRepTransmitGet
ttRepTransmitSet
ttReplicationStatus
ttRepPolicySet
ttRepStateSave
ttRepStateSet
ttRepStop
ttRepSubscriberStateSet
ttRepSubscriberWait
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
パラメータ
ttReplicationStatus
には、次のオプションのパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
subscriber |
TT_VARCHAR (200 ) |
関係するサブスクライバ(すべてのサブスクライバの場合はNULL )。パラメータを指定すると、情報を収集するレプリケーション・サブスクライバが指定されます。パラメータを指定しないと、現在のデータベースに定義されているレプリケーション・サブスクライバに関する情報が返されます。 |
hostname |
TT_VARCHAR (200) |
実行中のデータ・ストアから更新を受信するように構成された、1つ以上のデータ・ストアのホスト名(NULL の場合、受信側のデータ・ストアはサブスクライバのみによって識別されます)。レシーバおよびホスト名の両方がNULL の場合、受信側のすべてのデータ・ストアが選択されます。 |
結果セット
ttReplicationStatus
は次の結果セットを返します。
列 | データ型 | 説明 |
---|---|---|
subscriber |
TT_VARCHAR (200) NOT NULL |
サブスクライバ名。 |
hostName |
TT_VARCHAR (200) NOT NULL |
サブスクライバをホスティングするシステムの名前。 |
port |
TT_INTEGERNOT NULL |
マスターからの更新を受信するサブスクライバ・エージェントで使用されるTCP/IPポート。値が0(ゼロ)の場合は、レプリケーションでポートが自動的に割り当てられたことを示します。 |
pState |
TT_CHAR (10) NOT NULL |
マスター・データベースに対するサブスクライバの現在のレプリケーションの状態。結果列の値は次のとおりです。
|
logs |
TT_INTEGERNOT NULL |
マスター・データベースがサブスクライバのために保持しているトランザクション・ログ・ファイルの数。 |
lastMsg |
TT_INTEGER |
最後の対話以降の秒数またはNULL 。 |
replicationName |
TT_CHAR (30) NOT NULL |
レプリケーション・スキームの名前。 |
replicationOwner |
TT_CHAR (30) NOT NULL |
レプリケーション・スキームの所有者。 |
例
Command> call ttReplicationStatus(); < MASTER2, HOST1, 0, start , 1, 257142, \ _ACTIVESTANDBY , TTREP > 1 row found. Command> call ttReplicationStatus('master2', 'host1'); < MASTER2, HOST1, 0, start , 1, 266439, \ _ACTIVESTANDBY , TTREP > 1 row found.
ノート
receiver
パラメータがNULL
でない場合、指定されたレシーバの状態のみが返されます。receiver
パラメータがNULL
である場合、すべてのサブスクライバの状態が返されます。
このプロシージャはTimesTen Data Manager ODBCアプリケーションでのみサポートされています。TimesTen ClientまたはJDBCアプリケーションではサポートされていません。
関連項目
ttRepDeactivate
ttRepPolicySet
ttRepStop
ttRepSubscriberStateSet
ttRepSyncGet
ttRepSyncSet
ttRepTransmitSet
説明
このプロシージャは、接続されたデータベースに対してTimesTenを実行するタイミングを決定するレプリケーションの再起動ポリシーを返します。ポリシーは、always
、manual
、norestart
のいずれかです。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
結果セット
ttRepPolicyGet
は次の結果を返します。
列 | データ型 | 説明 |
---|---|---|
repPolicy |
TT_VARCHAR (10) |
データベースに対してTimesTenレプリケーション・エージェントを実行するタイミングを決定するために使用するポリシー。有効な値は、次のとおりです。
|
関連項目
ttRepDeactivate
ttRepTransmitSet
ttReplicationStatus
ttRepPolicySet
ttRepStart
ttRepStop
ttRepSubscriberStateSet
ttRepSubscriberWait
ttRepSyncGet
ttRepSyncSet
説明
このプロシージャは、接続されたデータベースに対してTimesTenを実行するタイミングを決定するレプリケーションの再起動ポリシーを定義します。ポリシーは、always
、manual
、norestart
のいずれかです。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
パラメータ
ttRepPolicySet
には、次のパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
repPolicy |
TT_VARCHAR (10) NOT NULL |
データベースに対してTimesTenレプリケーション・エージェントを実行するタイミングを決定するために使用するポリシーを指定します。有効な値は、次のとおりです。
|
関連項目
ttRepDeactivate
ttRepTransmitSet
ttReplicationStatus
ttRepPolicyGet
ttRepStart
ttRepStop
ttRepSubscriberStateSet
ttRepSubscriberWait
ttRepSyncGet
ttRepSyncSet
説明
このプロシージャは、レプリケーション・エージェントの問合せしきい値として最後に指定された秒数を返します。返された秒数は、有効な問合せしきい値と同じでない場合があります。問合せしきい値に新たに設定した値は、次回レプリケーション・エージェントが起動されたときに有効になります。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
結果セット
ttRepQueryThresholdGet
は次の結果を返します。
列 | データ型 | 説明 |
---|---|---|
repQueryThreshold |
TT_INTEGER |
レプリケーション問合せの最大実行秒数(この秒数を超えるとエラーが返されます)。 |
関連項目
ttRepDeactivate
ttReplicationStatus
ttRepPolicyGet
ttRepQueryThresholdSet
ttRepStart
ttRepStop
ttRepSubscriberStateSet
ttRepSubscriberWait
ttRepSyncGet
ttRepSyncSet
ttRepTransmitSet
説明
このプロシージャは、レプリケーション・エージェントが問合せを実行できる最大秒数を指定し、この秒数を超えると、警告がデーモン・ログに書き込まれます。指定された値は、レプリケーション・エージェントを次に起動したときに有効になります。レプリケーション・エージェントの問合せしきい値は、マテリアライズド・ビューのディテール表に対するSQL実行、ON DELETE CASCADE
処理、およびSQL文を実行する一部の内部処理に適用されます。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
パラメータ
ttRepQueryThresholdSet
には、次のパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
seconds |
TT_INTEGERNOT NULL |
レプリケーション・エージェントがSQL文を実行できる最大秒数(この秒数を超えると、警告がデーモン・ログに書き込まれます)。0以上の値を指定する必要があります。デフォルトは0 で、TimesTenが警告を書き込まないことを示します。 |
関連項目
ttRepDeactivate
ttReplicationStatus
ttRepPolicyGet
ttRepQueryThresholdGet
ttRepStart
ttRepStop
ttRepSubscriberStateSet
ttRepSubscriberWait
ttRepSyncGet
ttRepSyncSet
ttRepTransmitSet
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
ノート
いずれのレプリケーション・スキームにもデータベースが存在しない場合、レプリケーション・エージェントは起動しません。
このプロシージャを使用する場合、コールを実行するアプリケーションを含めたすべてのアプリケーションは、データベース・レベルのロック(LockLevel=1
)を指定する接続を保持することができません。
関連項目
ttRepDeactivate
ttRepTransmitGet
ttRepTransmitSet
ttReplicationStatus
ttRepPolicySet
ttRepStop
ttRepSubscriberStateSet
ttRepSubscriberWait
ttRepSyncSet
ttRepSyncGet
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
結果セット
ttRepStateGet
は次の結果を返します。
列 | データ型 | 説明 |
---|---|---|
state |
TT_VARCHAR (20) NOT NULL |
データベースの現在のレプリケーションの状態。次のいずれかです。
|
例
アクティブ・スタンバイ・ペアのレプリケーションの状態を判断するには、次のように実行します。
Call ttRepStateGet(); <STANDBY> Call ttRepStateGet(); <ACTIVE> Call ttRepStateGet(); <FAILED>
関連項目
ttRepDeactivate
ttRepTransmitSet
ttReplicationStatus
ttRepPolicySet
ttRepStateSave
ttRepStateSet
ttRepStop
ttRepSubscriberStateSet
ttRepSubscriberWait
説明
アクティブ・スタンバイ・ペアのリモート・ピア・データベースの状態を現在接続されているデータベースに保存します。現在、スタンバイ・データベース(hostName
上のstoreName
)で障害が発生したこと、およびアクティブ・データベースに対するすべての更新を読取り専用サブスクライバに直接レプリケートする必要があることをアクティブ・データベースに通知するためにのみ使用されます。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
パラメータ
ttRepStateSave
には、次のパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
state |
TT_VARCHAR (20) NOT NULL |
データベースのレプリケーションの状態。このリリースでは、FAILED としてのみ指定できます。スタンバイ・データベースで障害が発生したことを記録すると、レプリケートされたすべての更新が、アクティブ・データベースから読取り専用サブスクライバに直接送信されるように指定されます。 |
storeName |
TT_VARCHAR (200) NOT NULL |
状態が示されるデータベース名。 |
hostName |
TT_VARCHAR (200) |
データベースが存在するホスト名。 |
例
backup1
というホスト上のスタンバイ・データベースstandby
で障害が発生したことをアクティブ・データベースに通知するには、次のように実行します。
ttRepStateSave('FAILED', 'standby', 'backup1');
関連項目
ttRepDeactivate
ttRepTransmitSet
ttReplicationStatus
ttRepPolicySet
ttRepStateGet
ttRepStateSet
ttRepStop
ttRepSubscriberStateSet
ttRepSubscriberWait
ttRepSyncGet
ttRepSyncSet
説明
このプロシージャは、アクティブ・スタンバイ・ペアのデータベースのレプリケーション・スキームの状態を設定します。現在、ttRepStateSet
は、データベースの状態をACTIVE
にするためにのみ使用でき、ACTIVEは、データベースがアクティブ・スタンバイ・ペアでアクティブな役割を果たすことを示します。ttRepStateSet
は、次の状況でのみ使用できます。
データベースで、CREATE ACTIVE STANDBY PAIR
コマンドが実行され、それ以降、障害が発生していない場合。
データベースが現在STANDBY
状態で、アクティブ・スタンバイ・ペアの他のデータベースでttRepDeactivate
プロシージャが使用されてその状態がACTIVE
からIDLE
に変更された場合。
データベースがローカル・トランザクション・ログからリカバリした直後で、停止前はACTIVE
状態であった場合。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
パラメータ
ttRepStateSet
には、次のパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
state |
TT_VARCHAR (20) NOT NULL |
データベースのレプリケーションの状態。このリリースでは、ACTIVE と設定する必要があります。ストアをACTIVE に設定すると、アクティブ・スタンバイ・ペアのアクティブ・データベースとして指定されます。 |
関連項目
ttRepDeactivate
ttRepTransmitSet
ttReplicationStatus
ttRepPolicySet
ttRepStateGet
ttRepStateSave
ttRepStop
ttRepSubscriberStateSet
ttRepSubscriberWait
ttRepSyncGet
ttRepSyncSet
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
ノート
このプロシージャを使用する場合、コールを実行するアプリケーションを含めたすべてのアプリケーションは、データベース・レベルのロック(LockLevel=1
)を指定する接続を保持することができません。
関連項目
ttRepDeactivate
ttRepTransmitSet
ttReplicationStatus
ttRepPolicySet
ttRepStart
ttRepSubscriberStateSet
ttRepSubscriberWait
ttRepSyncGet
ttRepSyncSet
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
構文
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 |
指定されたサブスクライバの新しい状態を表す整数コードです。
その他のすべての状態コードは許可されません。(このプロシージャでは、サブスクライバの状態を「failed」に設定することはできません。)詳細は、『Oracle TimesTen In-Memory Databaseレプリケーション・ガイド』のサブスクライバのレプリケーション状態の設定に関する説明を参照してください。 |
例
次の例では、REPL.REPSCHEME
というレプリケーション・スキームについて、サブスクライバ・データベース(SUBSCRIBERDS ON SYSTEM1
)の状態を停止
(2
)に設定するようにマスター・データベースに指示します。
CALL ttRepSubscriberStateSet('REPSCHEME', 'REPL', 'SUBSCRIBERDS','SYSTEM1', 2);
すべてのサブスクライバの状態を一時停止
(1
)に設定するようマスター・データベースに指示するには、次のように実行します。
CALL ttRepSubscriberStateSet( , , , , 1 );
パラメータを指定しない場合の動作は、NULL
を使用した場合と同じです。
関連項目
ttRepDeactivate
ttRepTransmitSet
ttReplicationStatus
ttRepPolicySet
ttRepStart
ttRepStop
ttRepSubscriberWait
ttRepTransmitGet
ttRepTransmitSet
説明
このプロシージャでは、コール元は、コール前にコミットされたすべてのトランザクションがサブスクライバsubscriberStoreName
に送信されるまで待機します。さらに、サブスクライバ・データベースで更新が永続的にコミットされたことをこのサブスクライバが認識するまで待機します。
他に保留中のトランザクションがアクティブ・データベースにない場合は、別のトランザクションでこのプロシージャをコールします。アクティブ・データベース上で開かれているトランザクションがある場合、このコールはエラーを返します。
waitTime
パラメータを-1
に、subscriberStoreName
パラメータをNULL
に設定した場合、プロシージャのコール時点までにコミットされたすべての更新がすべてのサブスクライバに送信され、更新が永続的にコミットされたことをすべてのサブスクライバが認識するまで、ttRepSubscriberWait
プロシージャは結果を返しません。
緊急レスポンスが必要な場合は、ttRepSubscriberWait
プロシージャを使用しないでください。RETURN RECEIPTサービスを使用してください。
プロシージャは、一時的なエラー・シナリオで期待どおりに動作しています。
ノート: すべての書込みトランザクション・アクティビティがストアで静止された後にこのプロシージャがコールされた場合(アクティブなトランザクション、起動されているトランザクションがない状態)、すべての更新がサブスクライバで永続的にコミットされていることを示す応答をサブスクライバが送信するまでに60秒以上かかる可能性があります。プロシージャは、永続的なエラー・シナリオに対して障害出力( |
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
構文
ttRepSubscriberWait('replicationName', 'replicationOwner', 'subscriberStoreName', 'subscriberHostName', waitTime)
パラメータ
ttRepSubscriberWait
には、次のパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
replicationName |
TT_CHAR (30) |
処理対象のレプリケーション・スキーム名です。NULL は、すべてのレプリケーション・スキームを示します。 |
replicationOwner |
TT_CHAR (30) |
レプリケーション・スキームの所有者です。NULL は、すべてのレプリケーション・スキーム所有者を示します。 |
subscriberStoreName |
TT_VARCHAR (200) |
状態を設定するサブスクライバのデータベース名です。NULL は、subscriberHostName ホスト上のすべてのストアを示します。 |
subscriberHostName |
TT_VARCHAR(200) |
サブスクライバのホストです。NULL は、サブスクライバのピアのすべてのホストを示します。 |
waitTime |
TT_INTEGERNOT NULL |
指定したサブスクライバを待機する時間(秒)。-1 は永久に待機することを表します。このパラメータは必須で、NULL は使用できません。 |
結果セット
ttRepSubscriberWait
は次の結果セットを返します。
列 | データ型 | 説明 |
---|---|---|
timeOut |
BINARY(1) |
0x00 : 指定されたwaitTime 内で待機は成功し、指定されたサブスクライバは、このプロシージャがコールされた時点の最新状態になっています。十分な時間が割り当てられていない場合、TimesTenは0x01 を返します。 |
例
定義済レプリケーション・スキームREPOWNER.REPSCHEME
が1つある場合に、SERVER2
上のサブスクライバREP
2が追いつくまで送信側データ・ストアを10分待機させるには、次のように実行します。
CALL ttRepSubscriberWait('REPSCHEME','REPOWNER', 'REP2', 'SERVER2', 600);
関連項目
ttRepDeactivate
ttRepTransmitSet
ttReplicationStatus
ttRepPolicySet
ttRepStart
ttRepStop
ttRepSubscriberStateSet
ttRepSyncGet
ttRepSyncSet
説明
このプロシージャは、コール元でのレプリケーション・ベースのRETURNサービスの使用状況に関連付けられた静的属性を返します。このプロシージャは、RETURN RECEIPT
サービスまたはRETURN TWOSAFE
サービスのいずれかとともに動作します。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
結果セット
ttRepSyncGet
は次の結果セットを返します。
列 | データ型 | 説明 |
---|---|---|
requestReturn |
BINARY(1) |
0 (デフォルト): RETURN RECEIPT BY REQUEST またはRETURN TWOSAFE BY REQUEST オプションによって設定されるリターン通知を待機しません。
|
returnWait |
TT_INTEGER |
RETURNサービスの応答を待機する秒数を指定します。デフォルト値は10秒です。0は待機時間がないことを意味します。この属性はトランザクションをまたいで動作し、BY REQUEST オプションとは独立して、すべてのRETURN サービスに適用されます。 |
localAction |
TT_INTEGER |
RETURN サービスの現在のLOCAL ACTION 構成です。
|
例
コール元のrequestReturn
値を取得するには、次のように実行します。
SQLCHAR requestReturn[1]; SQLINTEGER len; rc = SQLExecDirect ( hstmt , (SQLCHAR *) "{CALL ttRepSyncGet( NULL )}" , SQL_NTS ) rc = SQLBindCol ( hstmt , /* ColumnNumber */ 1 , /* Tarype */ SQL_C_BINARY ) , /* TargetValuePtr */ requestReturn ,./* BufferLength */ sizeof requestReturn , /* StrLen_ */ &len ); rc = SQLFetch( hstmt ); if ( requestReturn[0] ) { ... }
ノート
スタンドアロンのトランザクション内でコールすると、ttRepSyncGet
は常に、requestReturn
のデフォルト値を返します。
アプリケーションはトランザクション内のどの時点でもttRepSyncGet
をコールすることができ、そのトランザクションに対するBY REQUEST
を指定したRETURNサービスをリクエストするために使用できます。
RETURN RECEIPT BY REQUEST
またはRETURN TWOSAFE BY REQUEST
レプリケーション要素の更新を行わないトランザクションでttRepSyncGet
をコールしても、外部的な影響はありません。
関連項目
ttRepDeactivate
ttRepTransmitSet
ttReplicationStatus
ttRepPolicySet
ttRepStart
ttRepStop
ttRepSubscriberStateSet
ttRepSubscriberWait
ttRepSyncSet
説明
このプロシージャは、コール元でのレプリケーション・ベースのRETURNサービスの使用状況に関連付けられた静的属性を設定します。このプロシージャは、RETURN RECEIPT
サービスまたはRETURN TWOSAFE
サービスのいずれかとともに動作します。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
パラメータ
ttRepSyncSet
には、次のオプションのパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
requestReturn |
BINARY(1) |
0x00 : 現在のトランザクションのRETURNサービスを無効にします。
レプリケーション・サブスクライバが |
returnWait |
TT_INTEGER |
RETURNサービスの応答を待機する秒数を指定します。デフォルト値は10 です。0 は待機時間がないことを意味します。
このタイムアウト値は、 このパラメータによって設定されたタイムアウトはトランザクションをまたいで動作し、 |
localAction |
TT_INTEGER |
returnWait によって指定されたタイムアウト時間内に、サブスクライバがトランザクションのコミットを認識できない場合に実行されるアクションです。このパラメータは、RETURN TWOSAFEトランザクションに対してのみ使用できます。RETURN サービスの使用時はNULL に設定します。
|
例
RETURN RECEIPT BY REQUEST
またはRETURN TWOSAFE BY REQUEST
で構成されたすべてのレプリケーション要素に対する現在のトランザクションでRETURN RECEIPTサービスを有効にするには、次のように実行します。
rc = SQLExecDirect ( hstmt, (SQLCHAR *)"{CALL ttRepSyncSet( 0x01 )}", SQL_NTS )
関連項目
ttRepDeactivate
ttRepTransmitSet
ttReplicationStatus
ttRepPolicySet
ttRepStart
ttRepStop
ttRepSubscriberStateSet
ttRepSubscriberWait
ttRepSyncGet
説明
このプロシージャは、RETURNサービス、およびサブスクライバに対するRETURNサービス・ブロッキングが障害ポリシーによって無効になっているかどうかを判断するRETURN DISABLE
障害ポリシーで構成されているレプリケーション・スキームのサブスクライバ・データベースへの問合せを行います。
ttRepSyncSubscriberStatus
プロシージャは、指定のホスト上にあり、指定した名前を持つサブスクライバ・データベースの障害状態を返します。storeName
のみを指定できます。ただし、レプリケーション・スキームで、異なるホスト上に同じ名前を持つサブスクライバが複数含まれる場合は、エラーが生成されます。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
パラメータ
ttRepSyncSubscriberStatus
には、次のパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
subscriber |
TT_VARCHAR (200) NOT NULL |
問合せを行うサブスクライバ・データベースの名前。 |
hostName |
TT_VARCHAR (200) |
実行中のデータ・ストアから更新を受信するように構成された、1つ以上のデータ・ストアのホスト名(NULL の場合、受信側のデータ・ストアはレシーバのみによって識別されます)。レシーバおよびホスト名の両方がNULL の場合、受信側のすべてのデータ・ストアが選択されます。 |
説明
このプロシージャは、現在のトランザクションについて、サブスクライバへの更新データの転送状態を返します。対応するttRepSyncSet
組込みプロシージャを使用すると、サブスクライバへの更新の転送をトランザクションが終わるまで停止できます。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
結果セット
ttRepTransmitGet
は次の結果を返します。
列 | データ型 | 説明 |
---|---|---|
transmit |
TT_INTEGER |
0 : 更新は、この接続のトランザクションが終了するまで、サブスクライバに転送されません。
|
関連項目
ttRepDeactivate
ttReplicationStatus
ttRepPolicySet
ttRepStateSave
ttRepStateSet
ttRepStop
ttRepSubscriberStateSet
ttRepSubscriberWait
ttRepTransmitSet
説明
このプロシージャは、実行されている接続に対する後続の更新データを、サブスクライバにレプリケートしないようにします。トランザクションを部分的にレプリケートした場合には、トランザクションの不整合がリモート・ストアで発生しやすくなるため、このプロシージャは、注意して使用してください。更新データのレプリケーションが許可されない場合、サブスクライバのストアはマスター・ストアから分岐します。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
パラメータ
ttRepTransmitSet
には、次のパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
transmit |
TT_INTEGERNOT NULL |
1に設定すると、この組込みプロシージャを実行した後で、更新が接続されているサブスクライバに転送されます。(これがデフォルトです。)
0 (ゼロ)に設定すると、このコールを発行した接続でコールが発行されたトランザクションが終了するまで、更新はどのサブスクライバにも転送されません。 |
例
アクティブ・スタンバイ・ペアのアクティブ・データベースを有効にするには、次のコマンドを使用します。
CALL ttRepTransmitSet(1);
アクティブ・スタンバイ・ペアのアクティブ・データベースを無効にするには、次のコマンドを使用します。
CALL ttRepTransmitSet(0);
関連項目
ttRepDeactivate
ttReplicationStatus
ttRepPolicySet
ttRepStateSave
ttRepStateSet
ttRepStop
ttRepSubscriberStateSet
ttRepSubscriberWait
ttRepTransmitGet
説明
このプロシージャは、RETURN RECEIPT
またはRETURN TWOSAFE
レプリケーション・トランザクションの状態を確認します。組込みプロシージャttRepXactTokenGet
を使用すると、RETURN RECEIPT
またはRETURN TWOSAFE
トランザクションのトークンを受信できます。このトークンは、その後、入力パラメータとして、この組込みプロシージャへ渡されます。ここで使用されるのは、ttRepXactTokenGet
から受信したトークンのみです。このプロシージャは、3つのパラメータ、サブスクライバ名、サブスクライバに関連するレプリケーション状態、およびRETURN TWOSAFE
レプリケーション・トランザクションがコミット処理を開始し、完了していない場合にのみ返されるエラー文字列が含まれる行のリストを返します。
ノート: errorパラメータはRETURN TWOSAFE トランザクションでのみ返されます。 |
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
パラメータ
ttRepXactStatus
には、次のパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
xactID |
VARBINARY (10000) |
パラメータが指定されていない場合、次のいずれかのステータスが返されます。
|
結果セット
ttRepXactStatus
は、次の結果セットを返します。
列 | データ型 | 説明 |
---|---|---|
subscriberName |
TT_CHAR (61) |
トランザクションで更新された表をサブスクライブするデータベース名。名前はstore_name @ host_name という形式で返されます。 |
state |
TT_CHAR (2) |
サブスクライバ・データベースに関連するトランザクションの状態。戻り値は、次のいずれかです。
|
errorString |
TT_VARCHAR (2000) |
TWOSAFEトランザクションの適用時に発生したエラーを説明するサブスクライバ・エージェントによって返されたエラー文字列。エラーが発生していない場合、このパラメータはNULL です。コミット処理を開始し、まだ完了していないTWOSAFEレプリケーション・トランザクション内でこのプロシージャがコールされた場合のみ、NULL以外の値が返されます。 |
関連項目
ttRepDeactivate
ttRepTransmitSet
ttReplicationStatus
ttRepPolicySet
ttRepStart
ttRepStop
ttRepSubscriberStateSet
ttRepSubscriberWait
ttRepSyncGet
ttRepSyncSet
ttRepXactTokenGet
説明
このプロシージャは、RETURN RECEIPT
またはRETURN TWOSAFE
レプリケーション・トランザクションにトークンを返します。入力パラメータtypeによって、次のいずれかが返されます。
トランザクションが呼び出された接続ハンドルで最後にコミットされたRETURN RECEIPT
トランザクションへのトークン。
トランザクションが呼び出された接続ハンドルにおける最新のトランザクションへのトークン。RETURN TWOSAFE
モードのトランザクションでコミット処理が開始されている。
このプロシージャは、RETURN TWOSAFE
レプリケーションのトランザクションに対してコミット処理が開始された後に、後続のトランザクションまたは同じトランザクションで実行できます。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
パラメータ
ttRepXactTokenGet
には、次のパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
typ |
TT_CHAR (2) NOT NULL |
希望するトランザクションのタイプ。
|
結果セット
ttRepXactTokenGet
は、次の結果セットを返します。
列 | データ型 | 説明 |
---|---|---|
token |
VARBINARY (10000) |
希望するトランザクションを表すVARBINARY トークン。 |
関連項目
ttRepDeactivate
ttRepTransmitSet
ttReplicationStatus
ttRepPolicySet
ttRepStart
ttRepStop
ttRepSubscriberStateSet
ttRepSubscriberWait
ttRepSyncGet
ttRepSyncSet
ttRepXactStatus
説明
このプロシージャは、ユーザー指定の列IDを明示的に設定します。トランザクション・ログAPIによってアプリケーションに渡された更新には、表の列に関する情報が含まれることがあります。この列情報には、システム指定の列番号とユーザー指定の列識別子が含まれます。ユーザー指定の列IDは、このコールによって明示的に設定されるまで、値は0です。
システムは、CREATE TABLE
処理またはALTER TABLE
処理で各列にIDを割り当てます。ユーザーによって割り当てられた値を列IDに設定すると、データベース全体にわたり一意の列番号セットを設定したり、指定された表に対して固有の列番号方式を設定することができます。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
説明
このプロシージャは、ユーザー表IDの値を明示的に設定します。各行が関連付けられている表は、アプリケーションが提供するユーザー表IDのコードと、システムが提供するシステム表IDのコードの、2つのコードによって表現されます。更新は、完全な行の形でトランザクション・ログAPIによってアプリケーションに渡されます。ユーザー表IDは、プロシージャttSetUserTableID
によって明示的に設定されるまで、値は0です。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
説明
このプロシージャは、表またはビューのサイズおよび索引のサイズを推定します。表の推定バイト数が単一のDOUBLE
列を持つ単一行として返されます。表は、表名または完全修飾された表名のいずれかとして指定できます。nrows
パラメータがNULL
以外の場合、現在の表の統計が指定した行数まで拡大したものと想定して表のサイズが推定されます。nrows
パラメータがNULL
の場合、表のサイズは現在の行数を使用して推定されます。
現在の表のコンテンツをスキャンして、VARBINARY
およびVARCHAR
列の平均サイズが判断されます。表が空の場合、VARBINARY
列とVARCHAR
列の平均サイズは、宣言されている最大サイズの半分になるように推定されます。ttSize
によって計算される推定値には、表、VARBINARY
列とVARCHAR
列、およびその表に定義された索引の記憶域が含まれます。
この組込みプロシージャをコールすると表がスキャンされます。NULL
以外のfrac
(0
と1
の間)を指定することによって、表のスキャンを回避できます。この値は、可変長列の平均サイズを推定します。frac
を各可変長列の最大サイズに掛けて、VARBINARY
列またはVARCHAR
列の推定平均サイズを計算します。frac
パラメータを指定しないと、表内の既存の行がスキャンされ、既存の行における可変長列の平均長が使用されます。frac
を省略した場合、表に行が存在しないと、frac
の値は0.5
であると想定されます。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
TimesTen Scaleoutアプリケーションでこの組込みプロシージャをコールできます。
このプロシージャは、コール元の要素の行を返します。他の要素に関する情報を表示するには、SYS.GV$TABLE_SIZES
システム表を問い合せます。
パラメータ
ttSize
には、次のパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
tblName |
TT_CHAR (61) NOT NULL |
アプリケーション表の名前。表の所有者を含めることができます。このパラメータはオプションです。指定しなかった場合、すべての表のサイズが返されます。
表名の指定にシノニムは使用できません。 |
nRows |
TT_INTEGER |
推定される表内の行数。このパラメータはオプションです。 |
frac |
BINARY_DOUBLE |
VARBINARY 列またはVARCHAR 列のサイズの推定される平均端数。このパラメータはオプションです。 |
例
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(); . . . . . .
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
TimesTen Scaleoutアプリケーションでこの組込みプロシージャをコールできます。
TimesTen Scaleoutでは、このプロシージャは、コール元の要素に対してローカルに実行されます。
パラメータ
ttSQLCmdCacheInfo
には、次のオプションのパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
sqlCmdID |
TT_BIGINT |
TimesTenコマンド・キャッシュでのSQLコマンドの一意の識別子。値が指定しない場合、すべてのコマンドに関する情報が表示されます。 |
結果セット
ttSQLCmdCacheInfo
は次の結果セットを返します。
列 | データ型 | 説明 |
---|---|---|
sqlCmdID |
TT_BIGINTNOT NULL |
コマンドの一意の識別子。 |
privateCommandConnectionID |
TT_INTEGER |
コマンドがプライベートの場合、これは準備された場所の接続の接続IDです。プライベート・コマンドでない場合、この値は-1 です。 |
executions |
TT_BIGINT
|
コマンドの実行回数をカウントします。 |
prepares |
TT_BIGINTNOT NULL |
コマンドの準備の数をカウントします。 |
reprepares |
TT_BIGINT NOT NULL |
コマンドの再準備の数をカウントします。 |
freeable |
TT_TINYINT NOT NULL |
このコマンドがサブデーモンによってガベージ収集可能かどうかを示します。
|
size |
TT_INTEGERNOT NULL |
コマンド・キャッシュでこのコマンドに割り当てられた領域の合計(バイト)。 |
owner |
TT_CHAR (31) NOT NULL |
コマンドを作成したユーザー。 |
queryText |
TT_VARCHAR (409600) NOT NULL |
現在のコマンドの完全なSQLテキスト。 |
fetchCount |
TT_BIGINTNOT NULL |
この文のために行われたフェッチ実行の合計数。フェッチ数はTT_PREFETCH_COUNT によって決まります。プリフェッチ数には、コミット読取り分離モードのデフォルト値5およびシリアライズ可能なモードのデフォルト値128があります。 |
startTime |
TT_TIMESTAMP |
文が最後に実行された時刻。値の形式はYYYY-MM-DD HH:MI:SS.FFF です。 |
maxExecuteTime |
NUMBER |
この文の最大ウォール・クロック実行時間が秒単位で表示されます。 |
lastExecuteTime |
NUMBER |
コマンドの最後に測定された実行時間が秒単位で表示されます。 |
minExecuteTime |
NUMBER |
SqlCmdSampleFactor > 0 の場合、秒単位の最小実行時間となり、それ以外は0.0 となります。 |
execloc |
TT_TINYINT NOT NULL |
|
gridCmdId |
TT_VARCHAR (64) |
|
tempSpaceUsage |
TT_BIGINT |
|
maxTempSpaceUsage |
TT_BIGINT |
例
現在有効なすべてのコマンドに関する情報をttIsql
に表示するには、次のように実行します。
Command> call ttsqlcmdcacheinfo; < 43428992, 2048, 5, 5, 0, 1, 2800, SYS , select sys. objectSequence.nextval from dual > < 51629120, 2048, 12, 12, 0, 1, 3040, SYS , delete fr om sys.idl_char$ where obj#=:1 and part=:2 > < 51641192, 2048, 2, 2, 0, 1, 2112, BWAF4EVR , create tabl e tab1 (c1 number not null, c2 number) > < 43442488, 2048, 5, 5, 0, 1, 4616, SYS , insert into sys.obj$(owner#,name,namespace,obj#,type#,ctime,mtime,stime,status,flags) value s(:1,:2,:3,:4,:5,:6,:7,:8,:9,:10) > < 51632072, 2048, 12, 12, 0, 1, 3040, SYS , delete fr om sys.idl_ub2$ where obj#=:1 and part=:2 > < 49375216, 2048, 0, 1, 0, 0, 4232, SYS , select 1 fr om sys.sysauth$ s where (s.grantee# = :userid or s.grantee# = 1) and (s.privileg e# = :priv or s.privilege# = 67) > < 51626304, 2048, 12, 12, 0, 1, 3040, SYS , delete fr om sys.idl_ub1$ where obj#=:1 and part=:2 > < 51645776, 2048, 1, 1, 0, 1, 2344, BWAF4EVR , create tabl e tab1 (c1 number primary key not null, col2 number) > < 51623232, 2048, 4, 4, 0, 1, 2704, SYS , delete from sys.source$ where obj#=:1 > 32 rows found.
ttIsql
で情報を垂直形式で表示するには、次のように実行します。
Command> vertical call ttSQLCmdCacheInfo; ...
sqlCmdID
51623232
の情報をttIsql
で垂直形式で表示するには、次のように実行します。
Command> vertical call ttsqlcmdcacheinfo(51623232); SQLCMDID: 51623232 PRIVATE_COMMAND_CONNECTION_ID: 2048 EXECUTIONS: 4 PREPARES: 4 REPREPARES: 0 FREEABLE: 1 SIZE: 2704 OWNER: SYS QUERYTEXT: delete from sys.source$ where obj#=: FETCHCOUNT: STARTTIME: MAXEXECUTETIME: LASTEXECUTETIME: MINEXECUTETIME: 1 row found.
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
TimesTen Scaleoutアプリケーションでこの組込みプロシージャをコールできます。
TimesTen Scaleoutでは、このプロシージャは、コール元の要素に対してローカルに実行されます。
結果セット
ttSQLCmdCacheInfoGet
は次の結果セットを返します。
列 | データ型 | 説明 |
---|---|---|
cmdCount |
TT_INTEGERNOT NULL |
キャッシュ内のコマンドの数。 |
freeableCount |
TT_INTEGERNOT NULL |
その時点でサブデーモンによってガベージ収集される解放可能なコマンドの数。この数は、コマンド情報を調べることによって取得されます。 |
size |
TT_BIGINTNOT NULL |
キャッシュされたすべてのコマンドを格納するために割り当てられた現在の領域の合計(バイト単位)。 |
説明
このプロシージャは、TimesTen SQLコマンド・キャッシュのSQL文のすべての詳細なランタイム問合せ計画を返します。引数を指定しないと、このプロシージャはTimesTenキャッシュのすべての有効なコマンドの問合せ計画を表示します。コマンドが無効である場合には、エラーが返され、問合せおよび構文の問題を指摘するテキストが表示されます。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
TimesTen Scaleoutアプリケーションでこの組込みプロシージャをコールできます。
TimesTen Scaleoutでは、このプロシージャは、コール元の要素に対してローカルに実行されます。
パラメータ
ttSQLCmdQueryPlan
には、次のオプションのパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
sqlCmdID |
TT_BIGINT |
TimesTenコマンド・キャッシュでのSQLコマンドの一意の識別子。値が指定されない場合、TimesTenキャッシュのすべての有効なコマンドの問合せ計画を表示します。 |
結果セット
ttSQLCmdQueryPlan
は次の結果セットを返します。
列 | データ型 | 説明 |
---|---|---|
sqlCmdID |
TT_BIGINTNOT NULL |
TimesTenコマンド・キャッシュでのコマンドの一意の識別子。 |
queryText |
TT_VARCHAR(409600) |
現在のコマンドのSQLテキストの最初の1024文字。 |
step |
TT_INTEGER |
このランタイム問合せ計画の現在の処理のステップ数。 |
level |
TT_INTEGER |
このランタイム問合せ計画の現在の処理のレベル数。 |
operation |
TT_CHAR(127) |
このランタイム問合せ計画の現在のステップの処理名。 |
tblName |
TT_CHAR(31) |
このステップに使用されている表の名前(存在する場合)。
表名の指定にシノニムは使用できません。 |
tblOwnerName |
TT_CHAR(31) |
このステップに使用されている表の所有者の名前(存在する場合)。 |
indexName |
TT_CHAR(31) |
このステップに使用されている索引の名前(存在する場合)。 |
indexedPred |
TTVARCHAR(1024) |
このステップでは、索引が使用される場合、索引付けされた条件が出力されます(使用可能な場合)。式をすべて出力できないため、出力が断片化および切り捨てられる可能性があります。"..." は、式の未終了の部分を表します。 |
nonIndexedPred |
TT_VARCHAR(1024) |
このステップでは、索引付けされていない条件が使用される場合、その索引付けされていない条件が出力されます(使用可能な場合)。式をすべて出力できないため、出力が断片化および切り捨てられる可能性があります。"..." は、式の未終了の部分を表します。 |
miscellaneous |
TT_VARCHAR (65536) |
制約のタイプおよび制約に関するその他の情報。制約タイプは次のいずれかになります。
|
例
SQLCmdID
528078576
の問合せ計画を表示するには、次のコマンドを実行します。
Command> call ttSqlCmdQueryPlan(528078576); < 528078576, select * from t1 where 1=2 or (x1 in (select x2 from t2, t5 where y2 in (select y3 from t3)) and y1 in (select x4 from t4)), <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL> > < 528078576, <NULL>, 0, 4, RowLkSerialScan , T1 , TTUSER , , , > < 528078576, <NULL>, 1, 7, RowLkRangeScan , T2 , TTUSER , I2 , , > < 528078576, <NULL>, 2, 7, RowLkRangeScan , T5 , TTUSER , I2 , , > < 528078576, <NULL>, 3, 6, NestedLoop , , , , , > < 528078576, <NULL>, 4, 6, RowLkRangeScan , T3 , TTUSER , I1 , ( (Y3=Y2; ) ) , > < 528078576, <NULL>, 5, 5, NestedLoop , , , , , > < 528078576, <NULL>, 6, 4, Filter , , , , , X1 = X2; > < 528078576, <NULL>, 7, 3, NestedLoop(Left OuterJoin) , , , , , > < 528078576, <NULL>, 8, 2, Filter , , , , , > < 528078576, <NULL>, 9, 2, RowLkRangeScan , T4 , TTUSER , I2 , , Y1 = X4; > < 528078576, <NULL>, 10, 1, NestedLoop(Left OuterJoin) , , , , , > < 528078576, <NULL>, 11, 0, Filter , , , , , > 13 rows found.
すべての有効な問合せの問合せ計画を表示するには、次のようにttSqlCmdQueryPlan
の引数を省略します。
< 528079360, select * from t7 where x7 is not null or exists (select 1 from t2,t3 where not 'tuf' like 'abc'), <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL> > < 528079360, <NULL>, 1, 3, RowLkRangeScan , T2 , TTUSER , I2 , , NOT(LIKE( tuf ,abc ,NULL )) > < 528079360, <NULL>, 2, 3, RowLkRangeScan , T3 , TTUSER , I2 , , > < 528079360, <NULL>, 3, 2, NestedLoop , , , , , > < 528079360, <NULL>, 4, 1, NestedLoop(Left OuterJoin) , , , , , > < 528079360, <NULL>, 5, 0, Filter , , , , , X7 > < 527576540, call ttSqlCmdQueryPlan(527973892), <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL> > < 527576540, <NULL>, 0, 0, Procedure Call , , , , , > < 528054656, create table t2(x2 int,y2 int, z2 int), <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL> > < 528066648, insert into t2 select * from t1, <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL> > < 528066648, <NULL>, 0, 0, Insert , T2 , TTUSER , , , > < 528013192, select * from t1 where exists ( select * from t2 where x1=x2) or y1=1, <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL> > < 528061248, create index i1 on t3(y3), <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL> > < 528070368, call ttOptSetOrder('t3 t4 t2 t1'), <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL> > < 528070368, <NULL>, 0, 0, Procedure Call , , , , , > < 528018856, insert into t2 select * from t1, <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL> > < 527573452, call ttsqlCmdCacheInfo(527973892), <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL> > < 527573452, <NULL>, 0, 0, Procedure Call , , , , , > ….. /* more rows here */
説明
ttSQLExecutionTimeHistogram
組込みプロシージャは、単一のSQLコマンド、またはコマンド・キャッシュでサンプリングを有効にしている場合はすべてのSQLコマンドのいずれかのSQL実行時間のヒストグラムを返します。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
TimesTen Scaleoutアプリケーションでこの組込みプロシージャをコールできます。
TimesTen Scaleoutでは、このプロシージャは、コール元の要素に対してローカルに実行されます。
パラメータ
ttSQLExecutionTimeHistogram
には、次のオプション・パラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
sqlCmdID |
TT_BIGINT |
TimesTenコマンド・キャッシュでのSQLコマンドの一意の識別子。値が指定されない場合、TimesTenコマンド・キャッシュの現在のすべてのコマンドに関する情報を表示します。 |
結果セット
ttSQLExecutionTimeHistogram
は、次の結果セットを返します。
列 | データ型 | 説明 |
---|---|---|
histogramSamples |
TT_BIGINT |
データベースが起動されてからまたはttStatsConfig 組込みプロシージャを使用して統計がリセットされてからの、SQLコマンド実行時間操作が測定された回数。 |
totalExecuteTime |
NUMBER |
サンプリング時の蓄積された実実行時間(秒)。 |
bucketUpperBound |
NUMBER |
実行時間の上限(秒)。 |
count |
TT_BIGINT |
ExecutionTimeLimit 以下であり、前の行または0からのExecutionTimeLimit を超える時間でのSQLコマンドの数。 |
例
次の例では、ttSQLExecutionTimeHistogram
組込みプロシージャの出力を示しています。
次のttSQLExecutionTimeHistogram
組込みプロシージャの例は、合計1919文が実行されていることを示しています。1919すべての文の実行にかかった合計時間は、1.090751秒でした。この例ではSQL文が次の時間枠で実行されたことを示しています。
278文が0.00001562秒以下の時間枠の間に実行された。
1484文が0.00001562秒を超え0.000125以下の時間枠の間に実行された。
35文が0.000125秒を超え0.001以下の時間枠の間に実行された。
62文が0.001秒を超え0.008以下の時間枠の間に実行された。
60文が0.008秒を超え0.064以下の時間枠の間に実行された。
Command> call ttSQLExecutionTimeHistogram; < 1919, 1.090751, .00001562, 278 > < 1919, 1.090751, .000125, 1484 > < 1919, 1.090751, .001, 35 > < 1919, 1.090751, .008, 62 > < 1919, 1.090751, .064, 60 > < 1919, 1.090751, .512, 0 > < 1919, 1.090751, 4.096, 0 > < 1919, 1.090751, 32.768, 0 > < 1919, 1.090751, 262.144, 0 > < 1919, 1.090751, 9.999999999E+125, 0 > 10 rows found.
説明
ttStatsConfig
組込みプロシージャは、ttStats
ユーティリティの統計収集およびパラメータを制御します。このプロシージャは、名前と値のペアを入力として取り、名前と値のペアのパラメータに対応する単一行の結果セットを出力します。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャは、TimesTen Scaleoutでサポートされますが、TimesTen Classicとは異なるパラメータ/値のペアをサポートします。
TimesTen Scaleoutでは、このプロシージャは、変更をすべての要素にブロードキャストします。
パラメータ
ttStatsConfig
には、次のパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
param |
VARCHAR2(50) NOT NULL |
構成するパラメータの名前。 |
value |
VARCHAR2(200) |
指定するパラメータの値。値を指定しなかった場合、組込みプロシージャは指定されたパラメータの現在の値を表示します。 |
option |
VARCHAR2 (200) |
パラメータ/値のペア
TimesTen ClassicとTimesTen Scaleoutでは、サポートされるパラメータ/値のペアが異なります。サポートされるパラメータ/値のペアは次のとおりです。
TimesTen Classic
TimesTen Classicでは次のパラメータ/値のペアを設定できます。
パラメータ | 値 | 説明 |
---|---|---|
ConnSampleFactor |
C,S
|
TimesTenコマンド・キャッシュでのSQLコマンドの一意の識別子。値を指定しない場合、TimesTenではコマンドの現在の値が表示されます。 |
LatchStats |
scope,level
|
ラッチ統計のための収集のスコープscope とレベルlevel を指定します。
スコープ値は、TimesTenでラッチ統計を収集するレベルを決定します。
レベル値は、TimesTenで統計を収集するレベルを決定します。
ラッチ統計が有効になっている場合、TimesTenではこれらの統計を格納するために、一時メモリーから約100KBを割り当てます。
|
SQLCmdHistogramReset |
0 または0以外 |
指定された値が0(ゼロ)以外の場合、既存のSQL実行時間統計がリセットされます。 |
SQLCmdSampleFactor |
0 <= value <= 60000 |
SQLコマンドのサンプルが取られる頻度。デフォルトは0 です。値0 は、サンプリングがオフになっていることを示します。0 を超える値は、SQL文の間隔でサンプルが取られることを示します。たとえば、値10 は、10番目のSQL文の実行ごとに実行の実時間が取得されます。 |
StatsLevel |
NONE
|
データベース統計の収集レベルを指定します。TimesTenではこれらの統計をシステム表に格納します。
デフォルト設定の
|
TimesTen Scaleout
TimesTen Scaleoutでは次のパラメータ/値のペアを設定できます。
パラメータ | 値 | 説明 |
---|---|---|
pollSec |
0
|
ttStats デーモンがTimesTen Scaleoutのスナップショットを取得する際のポーリング間隔(秒単位)。値0 はttStats デーモンによるメトリックの取得を無効にします。
ポーリング間隔の値は、TimesTen Scaleoutのパフォーマンスに影響しません。ただし、ポーリング間隔を60秒に設定すると、一般的に、10秒に設定した場合の6倍の領域が使用されます。必要なポーリング間隔をサポートできる十分な デフォルト値は |
retainMinutes |
15<= value <= 1440 |
ttStats デーモンがRAWメトリックを集計および消去するまでに待機する時間(分単位)。retainMinutes により大きい値を使用すると、ttStats デーモンはより多くのメトリックをシステム表に格納します。
デフォルト値は |
retentionDays |
1 < value < 730 |
ttStats デーモンによってTimesTen ScaleoutのttStats スナップショットが削除される前の保存時間間隔(日単位)。たとえば、保存時間間隔を62日にすると、ttStats デーモンによって、1日目のスナップショットが63日目に削除されます。
必要な保存時間間隔をサポートできる十分な デフォルト値は |
結果セット
ttStatsConfig
は、次の結果セットを返します。
列 | データ型 | 説明 |
---|---|---|
param |
VARCHAR2(50) NOT NULL |
構成されたパラメータの名前。 |
value |
VARCHAR2(200) |
指定するパラメータの値。値を指定しなかった場合、組込みプロシージャは指定されたパラメータの現在の値を表示します。 |
例
TimesTenとTimesTen Scaleoutではそれぞれ異なるパラメータ/値のペアがサポートされるため、例も異なります。サポートされる例は次のとおりです。
TimesTen Classic
各コマンドをサンプリングします。
Command> call ttStatsConfig('SqlCmdSampleFactor',1); < SQLCMDSAMPLEFACTOR, 1 > 1 row found.
サンプリングを確認します。
Command> call ttStatsConfig('SqlCmdSampleFactor'); < SQLCMDSAMPLEFACTOR, 1 > 1 row found.
接続1で5文ごとにサンプリングします。
Command> call ttStatsConfig('ConnSampleFactor', '1,5'); < CONNSAMPLEFACTOR, 1,5 > 1 row found.
接続1でのサンプリングをオフにします。
Command> call ttStatsConfig('ConnSampleFactor', '1,0'); < CONNSAMPLEFACTOR, 1,0 > 1 row found.
データ・ストア統計の収集レベルをチェックします。
Command> call ttstatsconfig('StatsLevel'); < STATSLEVEL, TYPICAL > 1 row found.
データ・ストア統計の収集をオフにします。
Command> call ttstatsconfig('StatsLevel','None'); < STATSLEVEL, NONE > 1 row found.
TimesTen Scaleout
統計のポーリング間隔を45秒に設定します。これにより、ttStats
デーモンは45秒ごとに統計を集計します。
Command> call ttStatsConfig('pollsec', 45); < POLLSEC, 45 > 1 row found.
ttStats
デーモンがRAWメトリックを消去する時間間隔を60分に設定します。
Command> call ttStatsConfig('retainMinutes', 60); < RETAINMINUTES, 60 > 1 row found.
統計の保存時間間隔を30日に設定します。
Command> call ttStatsConfig('retentionDays', 30); < RETENTIONDAYS, 30 > 1 row found.
説明
ttStatsConfigGet
組込みプロシージャは、ttStatsConfig
組込みプロシージャを使用して設定できるttStats
ユーティリティのパラメータを返します。このプロシージャは入力を取らず、名前と値のペアのパラメータを含む複数行の結果セットを出力します。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャは、TimesTen Scaleoutでサポートされますが、TimesTen Classicとは異なるパラメータ/値のペアをサポートします。
TimesTen Scaleoutでは、このプロシージャは、コール元の要素の行を返します。他の要素に関する情報を表示するには、SYS.GV$STATS_CONFIG
システム表を問い合せます。
結果セット
ttStatsConfigGet
は次の結果セットを返します。
列 | データ型 | 説明 |
---|---|---|
param |
VARCHAR2(50) |
パラメータの名前。 |
value |
VARCHAR2(200) |
パラメータの現在の値。 |
パラメータ/値のペア
TimesTenとTimesTen Scaleoutでは、サポートされる戻りパラメータ/値のペアが異なります。戻りパラメータ/値のペアは次のとおりです。
TimesTen Classic
TimesTen Classicでは次のパラメータ/値のペアが結果セットで返される可能性があります。
パラメータ | 説明 |
---|---|
SQLCmdSampleFactor |
SQLコマンドのサンプルが取られる頻度。デフォルトは0 です。値0 は、サンプリングがオフになっていることを示します。0 を超える値は、SQL文の間隔でサンプルが取られることを示します。たとえば、値10 は、10番目のSQL文の実行ごとに実行の実時間が取得されます。 |
ConnSampleFactor |
TimesTenコマンド・キャッシュでのSQLコマンドの一意の識別子。値を指定しない場合、TimesTenではコマンドの現在の値が表示されます。 |
StatsLevel |
指定された値が0(ゼロ)以外の場合、既存のSQL実行時間統計がリセットされます。 |
TimesTen Scaleout
TimesTen Scaleoutでは次のパラメータ/値のペアが結果セットで返される可能性があります。
パラメータ | 説明 |
---|---|
pollSec |
ttStats デーモンがTimesTen Scaleoutのスナップショットを取得する際のポーリング間隔(秒単位)。値0 はttStats デーモンによるメトリックの取得を無効にします。 |
retainMinutes |
ttStats デーモンがRAWメトリックを集計および消去するまでに待機する時間(分単位)。 |
retentionDays |
ttStats デーモンによってTimesTen ScaleoutのttStats スナップショットが削除される前の保存時間間隔(日単位)。たとえば、保存時間間隔を62日にすると、ttStats デーモンによって、1日目のスナップショットが63日目に削除されます。 |
説明
この組込みプロシージャはOracle Databaseの表に対するSELECT
問合せを評価し、実行を選択できるCREATE TABLE
SQL文を生成します。TimesTen CREATE TABLE
文は結果セットの列名とタイプを突き合せます。
このプロシージャはTimesTen表を作成しません。表スキーマを識別する文のみを返します。
詳細と使用法の情報については、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のOracle DatabaseからTimesTen表へのデータのロードに関する説明を参照してください。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
TimesTen Scaleoutアプリケーションでこの組込みプロシージャをコールできます。
TimesTen Scaleoutでは、このプロシージャは、コール元の要素に対してローカルに実行されます。
パラメータ
ttTableSchemaFromOraQueryGet
には、次のパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
tblOwner |
TT_CHAR (30) |
TimesTen表の所有者(オプション)。指定しない場合は、接続IDが使用されます。 |
tblName |
TT_CHAR(30) NOT NULL |
CREATE TABLE 文の表名。
指定するTimesTen表はシステム表、シノニム、ビュー、マテリアライズド・ビューまたはマテリアライズド・ビューの詳細表、グローバル一時表、キャッシュ・グループ表とすることはできません。 |
selectSQL |
TT_VARCHAR (409600) NOT NULL |
表の列定義を導出する、Oracle Databaseに対するSELECT 問合せ。
|
結果セット
ttTableSchemaFromOraQueryGet
は次の結果セットを返します。
列 | データ型 | 説明 |
---|---|---|
createSQL |
TT_VARCHAR (409600) NOT NULL |
Oracle DatabaseのSELECT 問合せの結果セットを突き合せるCREATE TABLE 文。 |
例
次の例ではCREATE TABLE
文が返され、TimesTen HR.EMPLOYEES
表が作成されます。この表のすべての列はOracle DatabaseのHR.EMPLOYEES
表にあります。
Command> call ttTableSchemaFromOraQueryGet('hr','employees', 'SELECT * FROM hr.employees'); < CREATE TABLE "HR"."EMPLOYEES" ( "EMPLOYEE_ID" number(6,0) NOT NULL, "FIRST_NAME" varchar2(20 byte), "LAST_NAME" varchar2(25 byte) NOT NULL, "EMAIL" varchar2(25 byte) NOT NULL, "PHONE_NUMBER" varchar2(20 byte), "HIRE_DATE" date NOT NULL, "JOB_ID" varchar2(10 byte) NOT NULL, "SALARY" number(8,2), "COMMISSION_PCT" number(2,2), "MANAGER_ID" number(6,0), "DEPARTMENT_ID" number(4,0) ) > 1 row found.
ノート
Oracle Databaseに対する問合せはパラメータ・バインディングを持つことができません。
問合せにOracle Databaseに関する記述がない場合(構文エラーなど)、TimesTenはエラーを返します。
出力列タイプにTimesTenの一致タイプがない場合、TimesTenは警告および列定義の次の行を出力します。>>>>
column_name column_type
/*
reason
*/
Oracle Databaseへの問合せでTimesTenでサポートされていないタイプが出力された場合、TimesTenがサポートするタイプに出力を明示的に変更するために、SELECT
リストでCAST
句を追加できます。SELECT
リストの式について、それぞれ列別名を指定できます。
Oracle Databaseに対する問合せにLOB出力がある場合、VAR
型にマップされます。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
TimesTen Scaleoutアプリケーションでこの組込みプロシージャをコールできます。
TimesTen Scaleoutでは、このプロシージャは、コール元の要素に対してローカルに実行されます。
結果セット
ttVersion
は次の結果セットを返します。
列 | データ型 | 説明 |
---|---|---|
major1 |
TT_INTEGERNOT NULL |
メジャー・リリースの年の最後の2桁を示す部品リリース番号の5つに分かれた最初の部分(リリース18.1.2.1.0の場合は18)。
|
major2 |
TT_INTEGERNOT NULL |
5つの部分からなるリリース番号の2番目の部分(リリース18.1.2.1.0の場合は1)。
同じ |
patchset |
TT_INTEGERNOT NULL |
5つの部分からなるリリース番号の3番目の部分(リリース18.1.2.1.0の場合は2)。
|
patch |
TT_INTEGERNOT NULL |
5つの部分からなるリリース番号の4番目の部分(リリース18.1.2.1.0の場合は1)。
|
reserved |
TT_INTEGERNOT NULL |
5つの部分からなるリリース番号の5番目の部分(リリース18.1.2.1.0の場合は0)。今後使用する目的で確保されていいます。 |
説明
このプロシージャを使用すると、現在の接続で実行された処理で割り当てられたメモリーが少ない場合に警告が返されるようにアプリケーションで指定できます。値を設定した場合、メモリーが割り当てられる処理で、総メモリーの使用量が接続のしきい値(接続属性PermWarnThreshold
およびTempWarnThreshold
で指定)を超えると、警告が返されます。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
TimesTen Scaleoutアプリケーションでは、この組込みプロシージャをコールできます。TimesTen Scaleoutでは、このプロシージャは、コール元の要素に対してローカルに実行されます。
説明
このプロシージャは、ロック・メッセージを解釈するためのトランザクションID情報を返します。ttXactIdGet
の2つの結果列を組み合せて使用すると、データベースのトランザクションを一意に識別できます。個々に使用される列は対象になりません。結果は、トランザクション情報の他のソースと相関させる目的にのみ使用します。数値に厳密なパターンはありません。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
TimesTen Scaleoutアプリケーションでこの組込みプロシージャをコールできます。
TimesTen Scaleoutでは、このプロシージャは、コール元の要素に対してローカルに実行されます。
結果セット
ttXactIdGet
は次の結果セットを返します。
列 | データ型 | 説明 |
---|---|---|
xactID |
TT_INTEGER |
接続ID。 |
counter |
TT_BIGINT |
同じトランザクションIDの連続するトランザクションを区別するために使用される、累増する数値。 |
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
パラメータ
ttXlaBookmarkCreate
には、次のパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
bookmark |
TT_CHAR(31) NOT NULL |
作成するブックマークの名前。 |
replicated |
BINARY(1) |
レプリケートされないブックマークの場合は0x00 またはNULL (同等の値)(デフォルト設定)。
レプリケートされるブックマークの場合は
|
または
Command> call ttxlabookmarkcreate('mybkmk2',0x00);
レプリケートされるブックマークの場合は、次のコマンドを実行します。
Command > call ttXlaBookmarkCreate('mybookmark', 0x01);
レプリケートされるXLAブックマークなどXLAブックマークの詳細は、『Oracle TimesTen In-Memory Database C開発者ガイド』のXLAブックマークに関する説明を参照してください。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen Classicでサポートされています。
このプロシージャはTimesTen Scaleoutではサポートされません。
パラメータ
ttXlaSubscribe
には、次のパラメータがあります。
パラメータ | データ型 | 説明 |
---|---|---|
tblName |
TT_CHAR(61) NOT NULL |
追跡する表の名前。
表名の指定にシノニムは使用できません。 |
bookmark |
TT_CHAR(31) NOT NULL |
アプリケーションがこの表を追跡するために使用するブックマークの名前。 |