データベースファイル毎のアクセス調査
0.更新履歴
- 2001.03.05 新規作成
- 2001.03.06 追加
1.はじめに
このドキュメントは,どのデータベースファイルのアクセスが多いかチェックする方法について記述するものである.
2.ファイルIDを取得
テーブルスペース名と,実際のファイル名の関係と,それらをOracleが認識するFILE_IDを次のSQL文で表示させる.
SVRMGR> select file_id,tablespace_name,file_name from dba_data_files; FILE_ID TABLESPACE_NAME FILE_NAME ---------- ------------------------------ ------------------------------------------ 1 SYSTEM D:\ORANT\DATABASE\SYS1TAKA.ORA 2 RBS D:\ORANT\DATABASE\RBS1TAKA.ORA 3 USR D:\ORANT\DATABASE\USR1TAKA.ORA 4 TEMPORARY D:\ORANT\DATABASE\TMP1TAKA.ORA 5 INDX D:\ORANT\DATABASE\INDX1TAKA.ORA 5 行選択されました。 SVRMGR> |
3.物理アクセス数を表示する
ファイル毎の物理Read,Write回数,ブロックのRead,Writeを次の様に表示する.
SVRMGR> select file#,phyrds,phywrts,phyblkrd,phyblkwrt from v$filestat; FILE# PHYRDS PHYWRTS PHYBLKRD PHYBLKWRT ---------- ---------- ---------- ---------- ---------- 1 1513 52 1864 52 2 16 556 16 556 3 283157 1476 1635495 1476 4 367 589 367 589 5 5 3 5 3 5 行選択されました。 SVRMGR> |
v$filestat表のFILE#が,dba_data_files表のFILE_IDと一致する.
よってこの場合,USRテーブルスペースのReadアクセスが多いとなる.
4.一括で表示する
それらを一括で表示するには,以下のSQL文をかます.
select file#, dba_data_files.tablespace_name, phyrds,phywrts,phyblkrd,phyblkwrt from v$filestat,dba_data_files where dba_data_files.file_id = v$filestat.file# |
ハ十個すると,次の様な結果が表示される.
FILE# TABLESPACE_NAME PHYRDS PHYWRTS PHYBLKRD PHYBLKWRT ---------- ------------------------ ---------- ---------- ---------- ---------- 1 SYSTEM 495173 11653 1044900 11653 2 RBS 5882 1476871 5882 1476871 3 USR 1429 1310 1429 1310 4 TEMP 1209 5513 1691 61392 5 OEM_REPOSITORY 1164 1162 1164 1162 5 rows selected. SQL> l |