キャッシュ管理ユーザーの表領域が一杯になった場合の診断

キャッシュ管理ユーザーの表領域が一杯になった場合は、次の状態を確認します。

  • 自動リフレッシュの状態がPAUSEDに設定されていないかどうか。状態がPAUSEDの場合、変更ログ・レコードは蓄積されます。

  • 作成したキャッシュ・グループをロードしているかどうか。キャッシュ・グループ作成のデフォルトの自動リフレッシュの状態はPAUSEDです。

  • キャッシュ・グループを作成中かどうか、またはデータベースをレプリケート中かどうか。これらの両方の処理は、変更ログ表のクリーンアップ処理を一時的に停止します。

  • TimesTenデータベース上のすべてのキャッシュ・エージェントが稼働中かどうか。キャッシュ・エージェントが稼働していない場合、変更ログ・レコードは蓄積されます。

  • データベース内の自動リフレッシュされるキャッシュ・グループを削除せずにデータベースを破棄していないかどうか。このようなデータベースは、次のような場合に発生します。

    • ttDestroy -forceでデータベースを破棄した場合。

    • アプリケーションが、1に設定されたOverwrite接続属性を持つデータベースに接続されているが、古いデータベースにあったキャッシュ・グルーブが再生成されていない場合。

    データベースがまだ存在している場合は、破棄されたデータベースに接続してキャッシュ・グループを削除してください。

それぞれのキャッシュされたOracle Database表に対してcacheInfo.sqlスクリプトを使用して、変更ログ表の大きさを特定します。出力を調べて、データベースがまだ使用中かどうかを確認します。「変更ログ表の情報の表示」を参照してください。

データベースがまだ使用中である場合は、キャッシュ・エージェントが稼働していることを確認します。

TimesTenでの自動リフレッシュの処理状況を、変更ログ表の最大ログ順序番号と比較します。TimesTenの方が遅れている場合は、ttCacheAutorefreshStatsGetプロシージャをコールして、自動リフレッシュ操作が正常に行われているかどうかを確認します。「自動リフレッシュ操作に関する情報の取得」を参照してください。

ステータスが通常より長い時間InProgressであるように思われる場合は、「自動リフレッシュのパフォーマンスが悪い」を参照してください

場合によっては、自動リフレッシュ間隔を減らすか、キャッシュ管理ユーザーの表領域のサイズを大きくする必要があります。

キャッシュ管理ユーザーの表領域が一杯になった場合に発生する状況を管理するオプションがあります。「表領域が一杯になった場合の考慮事項」を参照してください。