イメージ、オーディオ、およびビデオ・エクステンダー 管理およびプログラミングの手引き

管理サポート表のクリーンアップ

DB2 エクステンダーを使用していると、古い項目が次第に管理サポート表にたまります。 また、メディア・ファイルが削除されたのに、その参照がデータベースから削除されない場合もあります。 古いメタデータを削除すれば、パフォーマンスを改善し、記憶スペースを再利用することができます。

API の使用: 次の例の のサンプル・コードは、ANITAS によって所有されている全ユーザー表の画像メタデータをクリーンアップします。 この例には、エラー検査コードが組み込まれています。 このサンプル・プログラム全体は、SAMPLES サブディレクトリーの API.C ファイルにあります。

図 16. 管理サポート表のクリーンアップを行うサンプル・コード

/*---- query database using DBiAdminReorgMetadata API ----*/
step="DBiAdminReorgMetadata API";
rc = DBiAdminReorgMetadata("anitas");
if (rc < 0) {
        printf("%s: %s FAILED!\n", argv[0], step);
        printMsg(rc);
        DBiGetError(&sqlcode, errorMsgText);
        printf("sqlcode=%i, errorMsgText=%s\n", sqlcode, errorMsgText);
        fail = TRUE;
} else if (rc > 0) {
        printf("%s: %s, warning detected.\n", argv[0], step);
        printMsg(rc);
        DBiGetError(&sqlcode, errorMsgText);
        printf("sqlcode=%i, errorMsgText=%s\n", sqlcode, errorMsgText);
} else
        printf("%s: %s PASSED\n\n", argv[0], step);
 
/*---- end of query using DBiAdminReorgMetadata API ----*/

db2ext コマンド行の使用:

reorg database user anitas for db2image

DBA でなくても、CONTROL 権限があれば、DBxReorgMetadata API か REORG コマンドを使って、所有する表に対しメタデータのクリーンアップを行うことができます。


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]