自動リフレッシュ時に指定した間隔でキャッシュがリフレッシュされない

自動リフレッシュの問題について、考えられる原因を次の表に示します。

考えられる原因 対処

キャッシュ・エージェントがキャッシュ管理ユーザーによって起動されていない。

『Oracle TimesTen In-Memory Databaseキャッシュ・ガイド』「キャッシュ・エージェントの起動」を参照して、キャッシュ・エージェントの起動時に、キャッシュ管理ユーザーIDおよびパスワードを指定する。『Oracle TimesTen In-Memory Databaseリファレンス』「ttCacheStart」および『Oracle TimesTen In-Memory Databaseキャッシュ・ガイド』「キャッシュ管理ユーザーの名前およびパスワードの登録」も参照。

実表のオブジェクトIDが変更された

詳細は、「自動リフレッシュOracle Databaseオブジェクトをリカバリしてリセットする」を参照。

自動リフレッシュ・トリガーが有効でない。

詳細は、「自動リフレッシュOracle Databaseオブジェクトをリカバリしてリセットする」を参照。

TT_version_USER_COUNT表に記録されている現在のログ順序番号が、自動リフレッシュ・ログ表の最大ログ順序番号より小さい。

詳細は、「自動リフレッシュOracle Databaseオブジェクトをリカバリしてリセットする」を参照。

TT_version_USER_COUNT表に、すべてのアクティブな自動リフレッシュ表に対してusercount > 0である行がない。

「自動リフレッシュOracle Databaseオブジェクトをリカバリしてリセットする」を参照。

変更ログ表が空である

「自動リフレッシュOracle Databaseオブジェクトをリカバリしてリセットする」を参照。

ユーザー・カウントが0(ゼロ)未満か、またはTT_version_USER_COUNTログ順序が異常である。

「自動リフレッシュOracle Databaseオブジェクトをリカバリしてリセットする」を参照。

キャッシュされた表に関連付けられている自動リフレッシュ・ログ表、トリガーまたは順序が存在しないか、有効でない

キャッシュ・エージェントが、正しいキャッシュ管理ユーザーIDで起動されたかどうかを確認する。キャッシュ管理ユーザーIDが正しい場合は、「自動リフレッシュOracle Databaseオブジェクトをリカバリしてリセットする」の手順に従う。

ユーザー・エラー・ログで、致命的な異常についてのメッセージを確認する。これには、Oracle Databaseオブジェクトの破損または欠落が示されている。

TT_version_USER_COUNT表がない

キャッシュ・エージェントが、正しいキャッシュ管理ユーザーIDで起動されたかどうかを確認する。キャッシュ管理ユーザーIDが正しい場合は、「自動リフレッシュOracle Databaseオブジェクトをリカバリしてリセットする」の手順に従う。

ユーザー・エラー・ログで、致命的な異常についてのメッセージを確認する。これには、Oracle Databaseオブジェクトの破損または欠落が示されている。

TT_version_USER_COUNT表に記録されている現在のログ順序番号が変更され、ブックマークと異なり、関連付けられているキャッシュ表が次にコミットされる自動リフレッシュでリフレッシュされない。

キャッシュ・エージェントを再起動する。問題が解決されない場合は、「自動リフレッシュOracle Databaseオブジェクトをリカバリしてリセットする」の手順に従う。

自動リフレッシュのモード、状態または間隔を変更した時に、自動リフレッシュが同時に実行された場合、同一の表がそれぞれのアクションにより変更されるため、ロック・タイムアウトが発生する可能性がある。

自動リフレッシュのモード、状態または間隔を変更する前に、キャッシュ・エージェントを停止する。「自動リフレッシュの変更時にロック・タイムアウト状態を回避する」を参照してください。

リソースに問題がある。

キャッシュ・エージェントを再起動する。