ttCacheConfig
同じOracleインスタンスのデータをキャッシュするすべてのキャッシュ・グループに対し、このプロシージャは、Oracle Databaseサーバーが使用不可になっており、キャッシュ・エージェントまたはデータベースが停止しているとみなされる場合の、タイムアウト値とリカバリ・ポリシーを指定します。
データベースとキャッシュ・グループの自動リフレッシュの状態は、プロシージャttCacheDbCgStatusで確認できます。
必要な権限
このプロシージャには、CACHE_MANAGER
権限が必要です。
TimesTen ScaleoutおよびTimesTen Classicでの使用
このプロシージャは、TimesTen ClassicとTimesTen Scaleoutの両方でサポートされています。関連ビュー
このプロシージャには関連ビューはありません。
構文
ttCacheConfig(Param, tblOwner, tblName, Value)
パラメータ
ttCacheConfig
には、次のパラメータがあります。
パラメータ | 型 | 説明 |
---|---|---|
|
VARCHAR2(50) NOT NULL |
|
|
|
キャッシュされたOracle Database表の所有者を指定します。 このパラメータは、 表名の指定にシノニムは使用できません。 |
|
|
キャッシュされたOracle Database表の名前を指定します。 このパラメータは、 表名の指定にシノニムは使用できません。 |
|
|
あるいは、
|
結果セット
ttCacheConfig
は、アプリケーションによりパラメータ値の設定に使用される場合、結果を返しません。パラメータ設定を返す目的で使用される場合、ttCacheConfig
は次の結果を返します。
列 | 型 | 値 |
---|---|---|
|
|
パラメータ名:
|
|
|
キャッシュされたOracle Database表の所有者。 |
|
|
キャッシュされたOracle Database表の名前。 表名の指定にシノニムは使用できません。 |
|
|
|
例
キャッシュ・エージェントのタイムアウトを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
です。詳細は、『Oracle TimesTen In-Memory Databaseキャッシュ・ガイド』の「TimesTenデータベースでの自動リフレッシュ処理の失敗による影響」を参照してください。
CALL ttCacheConfig('TblSpaceFullRecovery','terry','customer','None');
キャッシュされたOracle Database表terry.customer
のTblSpaceFullRecovery
について現在の設定を確認するには、次のように入力します。
Command> CALL ttCacheConfig('TblSpaceFullRecovery','terry','customer'); < TblSpaceFullRecovery, TERRY, CUSTOMER, none > 1 row found.
キャッシュ管理ユーザーの表領域が85%使用されているときに、キャッシュされたOracle Database表に対する更新処理が発生した場合に警告を受け取るようにするには、次のように入力します。
Command> 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.
ノート
-
このプロシージャは、キャッシュ操作でのみ使用可能です。
-
ttCacheConfig
組込みプロシージャは、アクティブ・スタンバイ・ペアの各ノードからコールする必要があります。
関連項目
- ttCacheDbCgStatus
- ttCachePolicyGet
- ttCachePolicySet
- ttCacheStart
- ttCacheStop
- ttCacheUidGet
- ttCacheUidPwdSet
- ttAdmin
- 『Oracle TimesTen In-Memory Databaseキャッシュ・ガイド』の「キャッシュ環境の管理」、「AWTキャッシュ・グループでのOracle Database永続エラーのレポート」および「Oracle RAC環境でのキャッシュの設定」(エージェント・フェイルオーバーに関して)。