Oracleスキーマの変更
Cache Connect to Oracleには、CREATE、DROP、ALTERなどのアクションが原因で発生したOracleデータベースでのスキーマの変更を検出するメカニズムがありません。Oracleスキーマに対して変更を行う必要がある場合は、次の手順を実行します。
- DROP CACHE GROUPを使用して、変更対象のOracle表をキャッシュするすべてのキャッシュ・グループを削除します。
- キャッシュ・エージェントを停止します。
- 必要な変更をOracleスキーマに対して行います。
- CREATE CACHE GROUPを使用してキャッシュ・グループを再度作成します。
Oracleデータベースでスキーマを変更する前にキャッシュ・グループを削除しなかった場合、元のキャッシュ・グループでの処理(AUTOREFRESHなど)が失敗するか、または誤ったセマンティクスで成功する場合があります。
増分AUTOREFRESHで、Oracle表のトランザクションは検出できません。Oracle実表を切り捨てる場合は、次の手順を実行します。
- ALTER CACHE GROUP文を使用してAUTOREFRESH STATEをPAUSEDに設定します。
- Oracle実表を切り捨てます。
- WHEREまたはWITH ID句を指定せずにREFRESH CACHE GROUP文を使用してキャッシュ・グループをリフレッシュします。
キャッシュ・グループをリフレッシュすると、自動リフレッシュ処理が再開されます。
注意: キャッシュ・グループ内のTimesTen表を切り捨てることはできません。
注意: キャッシュ・グループがAWTの場合は、そのキャッシュ・グループを削除する前に、すべての保留中の更新がOracleに適用されていることを確認します。ttRepSubscriberWaitプロシージャを使用してください。