Question & Answer
Question
データベースの中で利用されていない表や索引を調べる方法はありますか。
Answer
データベースの中で、実際に参照されている表や索引を判別するには以下の 2 つの方法があります。
最終参照日は、db2sysc プロセス内の EDU (エンジン・ディスパッチ可能単位) である db2lused (LASTUSED デーモン) により収集されます。
V9.7 FP2 以前では、DPF 環境の db2lused でメモリー・リークが発生する以下の障害が報告されていますので、DPF 環境でご利用いただく場合はご注意ください。
IC69430: MEMORY LEAK IN APPLICATION HEAP FOR THE DB2LUSED SYSTEM APPLICATION IN DPF SYSTEMS
関連情報
db2pd - DB2 データベースのモニターおよびトラブルシューティング・コマンド
データベース・オブジェクトが最後に使用された日付の特定
- 表/索引統計による確認
db2pd -tcbstats を利用すると、データベースが活動化されてから表や索引がスキャンされた回数を確認できます。
注:データベースを活動化してから一度もアクセスされていないオブジェクトは表示されません。$ db2pd -db sample -tcbstats all Database Partition 0 -- Database SAMPLE -- Active -- Up 0 days 00:11:09 ... TCB Table Stats: Address TableName Scans UDI RTSUDI PgReorgs NoChgUpdts Reads 0x0700000042DF61B8 EMPLOYEE 21841 42 42 0 0 615357 0x0700000042DF78B8 DEPARTMENT 39 14 14 0 0 52 0x0700000042E5C538 ORG 6 8 8 0 0 48 ... TCB Index Stats: Address TableName IID EmpPgDel RootSplits BndrySplts PseuEmptPg Scans 0x0700000042DF72C0 EMPLOYEE 2 0 0 0 0 0 0x0700000042DF72C0 EMPLOYEE 1 0 0 0 0 12 0x0700000042E5BF40 DEPARTMENT 3 0 0 0 0 0 0x0700000042E5BF40 DEPARTMENT 2 0 0 0 0 0 0x0700000042E5BF40 DEPARTMENT 1 0 0 0 0 22392
- 最終参照日による確認
V9.7 FP1 以降、上記の表/索引統計に加えて、データベース・オブジェクトの最終参照日が 15 分毎に収集されています。
各オブジェクトのカタログ・ビューの LASTUSED 列を参照することで、オブジェクトが最後に参照された日付を確認できます。$ db2 "SELECT TABSCHEMA,TABNAME,LASTUSED FROM SYSCAT.TABLES WHERE TABSCHEMA NOT LIKE 'SYS%'" TABSCHEMA TABNAME LASTUSED ---------- -------------------- ---------- V97FP4 EMPLOYEE 2012-04-16 V97FP4 EMP_PHOTO 2012-01-20 V97FP4 ACT 2012-01-30 V97FP4 ORG 2012-04-16 V97FP4 STAFF 2012-01-20 $ db2 "SELECT INDSCHEMA,INDNAME,LASTUSED FROM SYSCAT.INDEXES WHERE INDSCHEMA NOT LIKE 'SYS%'" INDSCHEMA INDNAME LASTUSED ---------- -------------------- ---------- V97FP4 PK_DEPARTMENT 2012-04-16 V97FP4 PK_EMPLOYEE 2012-04-16 V97FP4 I_STAFF2_ID 2011-12-08
select tabschema, tabname, lastused from SYSCAT.TABLES where tabschema not like 'SYS%' and lastused < current_date-3 month
最終参照日は、db2sysc プロセス内の EDU (エンジン・ディスパッチ可能単位) である db2lused (LASTUSED デーモン) により収集されます。
V9.7 FP2 以前では、DPF 環境の db2lused でメモリー・リークが発生する以下の障害が報告されていますので、DPF 環境でご利用いただく場合はご注意ください。
IC69430: MEMORY LEAK IN APPLICATION HEAP FOR THE DB2LUSED SYSTEM APPLICATION IN DPF SYSTEMS
関連情報
db2pd - DB2 データベースのモニターおよびトラブルシューティング・コマンド
データベース・オブジェクトが最後に使用された日付の特定
[{"Type":"MASTER","Line of Business":{"code":"LOB10","label":"Data and AI"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSEPGG","label":"Db2 for Linux, UNIX and Windows"},"ARM Category":[{"code":"a8m500000008PlTAAU","label":"Database Objects-\u003EIndexes"},{"code":"a8m500000008PlYAAU","label":"Database Objects-\u003ETables"}],"ARM Case Number":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All Versions"}]
Was this topic helpful?
Document Information
Modified date:
25 August 2023
UID
swg21594729