同じ名前の複数のTimesTenデータベースのメタデータのクリーン・アップ
致命的な障害の後でグリッド内のTimesTenデータベースをリカバリする必要があった場合、元のデータベースで完全なメタデータ・クリーン・アップが完了していない可能性があります(これはttGridAdmin dbDestroy
コマンドの実行時に発生します)。
したがって、scaleoutCacheCleanup.sql
スクリプトを使用してクリーン・アップしようとすると、次のエラーが表示されることがあります。
Metadata found for more than one database with database name
database_name and grid name grid_name
これは、同じデータベースおよびグリッド名を持つ複数のTimesTenデータベースについて、Oracleデータベースに複数のキャッシュ・エントリがあることを示しています。
(同じ名前の)TimesTenデータベースの1つのキャッシュ・エントリをクリーン・アップするには、次を実行します。
-
cacheInfo.sql
スクリプトを使用してキャッシュ・エントリをクリーン・アップする必要があるTimesTenデータベースのGUIDを検出します。次の例では、GUIDは、グリッド名の後のAutorefresh Objects Information
セクションに用意されています:F2537B21-D31D-4027-ADA2-04E131E7887E
。% cd timesten_home/install/oraclescripts % sqlplus cacheadmin/orapwd SQL> @cacheInfo.sql … *************Autorefresh Objects Information *************** Grid name: grid1 (F2537B21-D31D-4027-ADA2-04E131E7887E) Timesten database name: database1 Cache table name: ORATT.READTAB Has after insert trigger: YES Change log table name: tt_07_96977_L Number of rows in change log table: 4 Maximum logseq on the change log table: 1 Timesten has autorefreshed updates upto logseq: 1 Number of updates waiting to be autorefreshed: 0 Number of updates that has not been marked with a valid logseq: 0 …
-
GUIDをホスト名として指定する
cacheCleanup.sql
スクリプトを使用します。% cd timesten_home/install/oraclescripts % sqlplus cacheadmin/orapwd SQL> @cacheCleanUp "F2537B21-D31D-4027-ADA2-04E131E7887E" “database1” *****************************OUTPUT************************************** Performing cleanup for object_id: 69959 which belongs to table : CUSTOMER Executing: delete from tt_07_agent_status where host = F2537B21-D31D-4027-ADA2-04E131E7887E and datastore = database1 and object_id = 69959 Executing: drop table tt_07_69959_L Executing: drop trigger tt_07_69959_T Executing: delete from tt_07_user_count where object_id = object_id1 Performing cleanup for object_id: 69966 which belongs to table : ORDERS Executing: delete from tt_07_agent_status where host = F2537B21-D31D-4027-ADA2-04E131E7887E and datastore = database1 and object_id = 69966 Executing: drop table tt_07_69966_L Executing: drop trigger tt_07_69966_T Executing: delete from tt_07_user_count where object_id = object_id1 **********************************************************************