Scripts:查询数据文件IO使用率的脚本 perf_file_io.sql
2014-05-30 09:03
806 查看
-- +----------------------------------------------------------------------------+
-- | Jeffrey M. Hunter |
-- | jhunter@idevelopment.info |
-- | www.idevelopment.info |
-- |----------------------------------------------------------------------------|
-- | Copyright (c) 1998-2011 Jeffrey M. Hunter. All rights reserved. |
-- |----------------------------------------------------------------------------|
-- | DATABASE : Oracle |
-- | FILE : perf_file_io.sql |
-- | CLASS : Tuning |
-- | PURPOSE : Reports on Read/Write datafile activity. This script was |
-- | designed to work with Oracle8i or higher. It will include all |
-- | tablespaces using any type of extent management as well as true |
-- | TEMPORARY tablespaces. (i.e. use of "tempfiles") |
-- | NOTE : As with any code, ensure to test this script in a development |
-- | environment before attempting to run it in production. |
-- +----------------------------------------------------------------------------+
SET LINESIZE 145
SET PAGESIZE 9999
SET VERIFY off
COLUMN ts_name FORMAT a15 HEAD 'Tablespace'
COLUMN fname FORMAT a45 HEAD 'File Name'
COLUMN phyrds FORMAT 999,999,999 HEAD 'Physical Reads'
COLUMN phywrts FORMAT 999,999,999 HEAD 'Physical Writes'
COLUMN read_pct FORMAT 999.99 HEAD 'Read Pct.'
COLUMN write_pct FORMAT 999.99 HEAD 'Write Pct.'
BREAK ON report
COMPUTE SUM OF phyrds ON report
COMPUTE SUM OF phywrts ON report
COMPUTE AVG OF read_pct ON report
COMPUTE AVG OF write_pct ON report
SELECT
df.tablespace_name ts_name
, df.file_name fname
, fs.phyrds phyrds
, (fs.phyrds * 100) / (fst.pr + tst.pr) read_pct
, fs.phywrts phywrts
, (fs.phywrts * 100) / (fst.pw + tst.pw) write_pct
FROM
sys.dba_data_files df
, v$filestat fs
, (select sum(f.phyrds) pr, sum(f.phywrts) pw from v$filestat f) fst
, (select sum(t.phyrds) pr, sum(t.phywrts) pw from v$tempstat t) tst
WHERE
df.file_id = fs.file#
UNION
SELECT
tf.tablespace_name ts_name
, tf.file_name fname
, ts.phyrds phyrds
, (ts.phyrds * 100) / (fst.pr + tst.pr) read_pct
, ts.phywrts phywrts
, (ts.phywrts * 100) / (fst.pw + tst.pw) write_pct
FROM
sys.dba_temp_files tf
, v$tempstat ts
, (select sum(f.phyrds) pr, sum(f.phywrts) pw from v$filestat f) fst
, (select sum(t.phyrds) pr, sum(t.phywrts) pw from v$tempstat t) tst
WHERE
tf.file_id = ts.file#
ORDER BY phyrds DESC
/
-- | Jeffrey M. Hunter |
-- | jhunter@idevelopment.info |
-- | www.idevelopment.info |
-- |----------------------------------------------------------------------------|
-- | Copyright (c) 1998-2011 Jeffrey M. Hunter. All rights reserved. |
-- |----------------------------------------------------------------------------|
-- | DATABASE : Oracle |
-- | FILE : perf_file_io.sql |
-- | CLASS : Tuning |
-- | PURPOSE : Reports on Read/Write datafile activity. This script was |
-- | designed to work with Oracle8i or higher. It will include all |
-- | tablespaces using any type of extent management as well as true |
-- | TEMPORARY tablespaces. (i.e. use of "tempfiles") |
-- | NOTE : As with any code, ensure to test this script in a development |
-- | environment before attempting to run it in production. |
-- +----------------------------------------------------------------------------+
SET LINESIZE 145
SET PAGESIZE 9999
SET VERIFY off
COLUMN ts_name FORMAT a15 HEAD 'Tablespace'
COLUMN fname FORMAT a45 HEAD 'File Name'
COLUMN phyrds FORMAT 999,999,999 HEAD 'Physical Reads'
COLUMN phywrts FORMAT 999,999,999 HEAD 'Physical Writes'
COLUMN read_pct FORMAT 999.99 HEAD 'Read Pct.'
COLUMN write_pct FORMAT 999.99 HEAD 'Write Pct.'
BREAK ON report
COMPUTE SUM OF phyrds ON report
COMPUTE SUM OF phywrts ON report
COMPUTE AVG OF read_pct ON report
COMPUTE AVG OF write_pct ON report
SELECT
df.tablespace_name ts_name
, df.file_name fname
, fs.phyrds phyrds
, (fs.phyrds * 100) / (fst.pr + tst.pr) read_pct
, fs.phywrts phywrts
, (fs.phywrts * 100) / (fst.pw + tst.pw) write_pct
FROM
sys.dba_data_files df
, v$filestat fs
, (select sum(f.phyrds) pr, sum(f.phywrts) pw from v$filestat f) fst
, (select sum(t.phyrds) pr, sum(t.phywrts) pw from v$tempstat t) tst
WHERE
df.file_id = fs.file#
UNION
SELECT
tf.tablespace_name ts_name
, tf.file_name fname
, ts.phyrds phyrds
, (ts.phyrds * 100) / (fst.pr + tst.pr) read_pct
, ts.phywrts phywrts
, (ts.phywrts * 100) / (fst.pw + tst.pw) write_pct
FROM
sys.dba_temp_files tf
, v$tempstat ts
, (select sum(f.phyrds) pr, sum(f.phywrts) pw from v$filestat f) fst
, (select sum(t.phyrds) pr, sum(t.phywrts) pw from v$tempstat t) tst
WHERE
tf.file_id = ts.file#
ORDER BY phyrds DESC
/
相关文章推荐
- Scripts:查询每个数据文件使用效率的脚本perf_file_io_efficiency.sql
- Scripts:查询每个数据文件等待时间的脚本perf_file_waits.sql
- Scripts:查看数据文件使用率的脚本(包括临时表空间的文件哦)dba_file_space_usage.sql
- Scripts:查询sga中各组件使用率的脚本perf_sga_usage.sql
- Scripts:查询每个session命中率的脚本perf_hit_ratio_by_session.sql
- Scripts:报告物理数据库增长情况(注意脚本是看你数据库添加数据文件的时间哦)dba_db_growth.sql
- Scripts:查询db_block_buffer使用率的脚本perf_db_block_buffer_usage.sql
- Scripts:报告数据库中数据文件控制文件临时文件redo文件的使用情况dba_file_use.sql
- Scripts:查询log file sync 等待的脚本lfsdiag.sql
- Scripts:找出后台trace文件的脚本sess_user_trace_file_location.sql
- SQLServer2008R2导出包含数据的SQL脚本文件
- SQL Server 2008将数据导出到SQL脚本文件
- Sql存储查询数据导出Excel文件(注意:有几百万条数据)
- SQL 备份数据 脚本 -添加到作业 步骤里面 可删除历史天文件
- sql脚本查询数据库表,数据,结构,约束等操作的方法
- SQLserver 2008将数据导出到Sql脚本文件的方法
- Scripts:查询数据库中参数文件的信息(在重新建库或者克隆数据库时经常使用)dba_cr_init.sql
- SQLserver 2008将数据导出到Sql脚本文件的方法
- sql脚本从文件中导入数据
- redmine执行sql脚本、数据库查询等文件安装