データソース・キャッシュの管理

データソース・キャッシュを有効にした後で、個々のキャッシュ・エントリまたはキャッシュ全体の削除が必要になることがあります。

データソース・キャッシュ・エントリの削除

Oracle BIサーバーには、キャッシュ・エントリをパージするためのODBC拡張関数があります。ストアド・プロシージャの書式は、次のとおりです。
call SAPurgeXSACache('<XSA_PATH>', '<XSA_TABLE>');

<XSA_PATH>は、データソース定義へのパスです。これは、論理SQL内のXSA()句で使用される値です。このパラメータではワイルドカード文字%もサポートされており、これを使用してシステム内のすべてのデータソース・キャッシュ・エントリをパージできます。

<XSA_TABLE>は、データソース内の表の名前です。これは、論理SQL内のXSA()句の後に続く値です。このパラメータではワイルドカード文字%もサポートされており、これを使用してデータソース定義内のすべての表のキャッシュ・エントリをパージできます。

たとえば、データソース・キャッシュ・エントリが、SELECT XSA('weblogic'.'Sample Order Lines')."Columns"."Product Category" FROM XSA('weblogic'.'Sample Order Lines')という問合せを使用して生成されているとします。
  • データソース・キャッシュ・エントリをパージするには、call SAPurgeXSACache('''weblogic''.''Sample Order Lines''', 'Columns');を使用します

  • システム内のすべてのデータソース・キャッシュ・エントリをパージするには、call SAPurgeXSACache('%', '%');を使用します

ファイル・システムでのキャッシュの手動クリーン・アップ

データソース・キャッシュ・エントリを手動で削除するには、次のステップを使用します。
  1. BIサーバーを停止します。

  2. NQSConfig.INIXSA_CACHEセクションにあるDESCRIPTOR_STORAGE_PATHおよびSTORAGE_DIRECTORYパラメータで指定されているディレクトリ内のファイルを削除します。

データベース内のキャッシュの手動クリーンアップ

次の理由により、データソース・キャッシュ・スキーマにあるすべての表の削除が必要になることがあります。
  • 古いインストールを置き換える新しいBIサーバーのインストールで使用される既存スキーマをクリーンアップするため。

  • メンテナンスによるダウンタイム中に、白紙の状態でのデータソース・キャッシュを開始するため。

キャッシュを消去するには:

  1. このスキーマを使用するBIサーバーが実行されていないことを確認します。表を削除するときにこのようなサーバーが実行されていると、これらのサーバーが不整合な状態で残り、結果として、これらのサーバーが再起動されるまで、表が見つからないというエラーによりデータソースの問合せが失敗します。

  2. SQLクライアントから、データソース・キャッシュ・スキーマのユーザーとしてデータベースにログインします。

  3. 次のPL/SQLを実行します。
    BEGIN  
    FOR i IN (SELECT table_name FROM user_tables where table_name like 'XC%')  
    LOOP  
    EXECUTE IMMEDIATE('DROP TABLE ' || user || '.' || i.table_name || ' CASCADE CONSTRAINTS PURGE');  
    END LOOP;  
    END;
    データソース・キャッシュの表の名前は、先頭にXCが付くことに注意してください。
  4. NQSConfig.INIXSA_CACHEセクションにあるDESCRIPTOR_STORAGE_PATHパラメータで指定されているディレクトリ内のファイルを削除します。