Oracle ----数据文件---- 查询

这篇博客主要展示了如何通过SQL查询来获取Oracle数据库的数据文件数量、状态、临时段使用、物理IO信息以及热点数据文件等关键性能指标。内容涵盖了数据文件、临时段、I/O情况的详细统计,并提供了创建表空间的示例。通过对这些信息的分析,可以有效地监控和优化数据库性能。
摘要由CSDN通过智能技术生成

--各种文件数量
select count(*) from v$tempfile;                       
select count(*) from v$datafile;

--数据文件状态
select  t.online_status,count(*)
from dba_data_files  t
group by  t.online_status ;


--临时段使用情况
COL username FORMAT a10;
COL segtype FORMAT a10;
SELECT username,
       segtype,
       extents "Extents Allocated",
       blocks "Blocks Allocated"
  FROM v$tempseg_usage;

---查看数据文件物理IO信息
SELECT fs.phyrds   "Reads",
       fs.phywrts  "Writes",
       fs.avgiotim "Average I/O Time",
       df.name     "Datafile"
  FROM v$datafile df, v$filestat fs
WHERE df.file# = fs.file#
/

--查看所有数据文件i/o情况

SELECT ts.name      AS ts,
       fs.phyrds    "Reads",
       fs.phywrts   "Writes",
       fs.phyblkrd  AS br,
       fs.phyblkwrt AS bw,
       fs.readtim/100   "RTime*s",
       fs.writetim/100  "WTime*s"
  FROM v$tablespace ts, v$datafile df, v$filestat fs
WHERE ts.ts# = df.ts#
   AND df.file# = fs.file#
UNION
SELECT ts.name      AS ts,
       ts.phyrds    "Reads",
       ts.phywrts   "Writes",
       ts.phyblkrd  AS br,
       ts.phyblkwrt AS bw,
       ts.readtim /100  "RTime*s",
       ts.writetim/100  "WTime*s"
  FROM v$tablespace ts, v$tempfile tf, v$tempstat ts
WHERE ts.ts# = tf.ts#
   AND tf.file# = ts.file#
ORDER BY 1;

---查看热点数据文件(从单块读取时间判断)
COL FILE_NAME FOR A30
COL TABLESPACE_NAME FOR A20
SELECT T.FILE_NAME,
       T.TABLESPACE_NAME,
       ROUND(S.SINGLEBLKRDTIM / S.SINGLEBLKRDS, 2) AS CS,
       S.READTIM/100 READTIME_S,
       S.WRITETIM/100 WIRTETIME_S
  FROM V$FILESTAT S, DBA_DATA_FILES T
WHERE S.FILE# = T.FILE_ID
   AND ROWNUM <= 10
ORDER BY CS DESC
/


select 'CREATE TABLESPACE ' || t.tablespace_name || ' datafile ''' ||
       t1.path || t.tablespace_name || '01.dbf' ||
       ''' SIZE 500M  autoextend on  next 50m ;'
  from dba_tablespaces t,
       (select substr(tt.file_name, 1, instr(tt.file_name, '/', '-1')) path
          from dba_data_files tt
         where rownum = 1) t1
where t.tablespace_name not in ( 'SYSTEM', 'SYSAUX')
   AND T.contents = 'PERMANENT';

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

芦诗轩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值