Oracle表空间容量的计算

-- 数据表空间容量使用情况

SELECT a.tablespace_name as "表空间名称",

to_char(b.total/1024/1024,999999.99)||'M'  as "总容量",

to_char((b.total-a.free)/1024/1024,'9999990D99')||'M'  as "已使用容量",

to_char(a.free/1024/1024,'9999990D99')||'M' as "剩余容量",

to_char(round((total-free)/total,4)*100,'9999990D99')||'%' as "已使用百分比"

FROM (SELECT tablespace_name, sum(bytes) free FROM DBA_FREE_SPACE GROUP BY tablespace_name) a,

(SELECT tablespace_name, sum(bytes) total FROM DBA_DATA_FILES GROUP BY tablespace_name ) b

WHERE a.tablespace_name=b.tablespace_name

ORDER BY round((total-free)/total,4) DESC;

--查看临时表空间容量使用情况

select d.tablespace_name "表空间名称",space "总容量(M)",

used_space "已使用容量(M)",round(nvl(used_space,0)/space*100,2) "已使用百分比(%)",

nvl(free_space,0) "剩余容量(M)"

from

(select tablespace_name,round(sum(bytes)/(1024*1024),2) space,sum(blocks) blocks

from dba_temp_files

group by tablespace_name) d,

(select tablespace_name,round(sum(bytes_used)/(1024*1024),2) used_space,

round(sum(bytes_free)/(1024*1024),2) free_space

from v$temp_space_header

group by tablespace_name) f

where  d.tablespace_name = f.tablespace_name(+)

--UNDO表空间

SELECT

seg.tablespace_name "Tablespace Name",

ts.bytes/1024/1024 "TS Size(MB)",

ue.status "UNDO Status",

count(*)  "Used Extents",

round(sum(ue.bytes)/1024/1024, 2) "Used Size(MB)",

round(sum(ue.bytes)/ts.bytes*100, 2) "Used Rate(%)"

FROM dba_segments seg, DBA_UNDO_EXTENTS ue,

(SELECT tablespace_name, sum(bytes) bytes

FROM dba_data_files GROUP BY tablespace_name) ts

WHERE ue.segment_NAME=seg.segment_NAME and seg.tablespace_name=ts.tablespace_name

GROUP BY seg.tablespace_name, ts.bytes, ue.status ORDER BY seg.tablespace_name;

--表空间需要的存储估算

计算公式:评估存储合计=在网用户数*平均每用户每天话单数*每话单长度(K)*数据库内保留天数/1024/1024/0.75

本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/database/Oracle/

时间: 2024-09-11 05:35:18

Oracle表空间容量的计算的相关文章

Oracle 表空间与数据文件

--============================== --Oracle 表空间与数据文件 --============================== /* 一.概念     表空间:是一个或多个数据文件的逻辑集合     表空间逻辑存储对象:永久段-->如表与索引                         临时段-->如临时表数据与排序段                      回滚段-->用于事物回滚或闪回内存的撤销数据     表空间分类:系统表空间(sys

Oracle表空间传输

Oracle表空间传输是8i 新增加的一种快速在数据库间移动数据的一种办法,是把一个数 据库上的格式数据文件附加到另外一个数据库中,而不是把数据导出成dmp 文件,这 在有些时候是非常管用的,因为传输表空间移动数据就象复制文件一样快. 1.关于传输表空间有一些规则(10g前): · 源数据库和目标数据库必须运行在相同的硬件平台上. [ Oracle备份与恢复总结] E-Mail / MSN : db.dw.dm@gmail.com [ Oracle备份与恢复总结] E-Mail / MSN :

Oracle表空间名称是区分大小写

今天在通过imp导入数据时,日志提示TS_W5_D表空间不存在.感觉很奇怪,导入用户的表空间是ts_w5_d,并且这个表空间也存在啊. 为什么还是提报表空间不存在呢? 并且,当时试图通过>drop tablespace ts_w5_d 时,提示ts_w5_d 表空间不存在,明明有啊,怎么说不存在? 排查了半天,最终得知,oracle表空间名称分大小写的:TS_W5_D.ts_w5_d 是两个表不同的表空间. Oracle数据库内部是对大小写不敏感的,默认全是大写.如果需要小写需要使用双引号强制(

数据库-oracle表空间修改后导出,然后导入修改好的表空间,导入失败,显示导入的表空间还是不存在!

问题描述 oracle表空间修改后导出,然后导入修改好的表空间,导入失败,显示导入的表空间还是不存在! 我原先的数据库的表空间是XMGL,然后我修改了一张表,将其表空间修改为了 WGP,然后导出,然后通过一台服务器,这台服务器的表空间就是 WGP,然后导入就报错 报错说是 XMGL不存在,问题是我原先导出前已经修改了表空间,导出还是原先的表空间,求解,数据库我也重启了,还是不行,求大神! 解决方案 参考Import: Tablespace does not exist tips 你的表里面有CL

Oracle 表空间时点恢复(TSPITR)

表空间时点恢复,是Oracle在基于冷备,热备恢复以外的一种以表空间为粒度的,不完全恢复的形式来将表空间恢复到过去某个特定的时间点的一种恢复方式.它整合了RMAN以及DataPump这2个备份恢复工具来实现时点恢复.那它具体的过程和逻辑是怎样的?下文是其具体的描述. 一.什么是表空间时点恢复 Oracle表空间时点恢复有2个需要理解的概念. 恢复粒度   表空间级别,也就是说恢复的粒度是以表空间为单位 时点恢复   时点恢复意味着是一个不完全恢复.也就是说可以把某个或几个表空间恢复到过去的特定时

Oracle 表空间查询与操作方法_oracle

一.查询篇 1.查询oracle表空间的使用情况 select b.file_id 文件ID, b.tablespace_name 表空间, b.file_name 物理文件名, b.bytes 总字节数, (b.bytes-sum(nvl(a.bytes,0))) 已使用, sum(nvl(a.bytes,0)) 剩余, sum(nvl(a.bytes,0))/(b.bytes)*100 剩余百分比 from dba_free_space a,dba_data_files b where a.

六分钟学会创建Oracle表空间的实现步骤_oracle

经过长时间学习创建Oracle表空间,于是和大家分享一下,看完本文你肯定有不少收获,希望本文能教会你更多东西. 1.先查询空闲空间 复制代码 代码如下: select tablespace_name,file_id,block_id,bytes,blocks from dba_free_space; 2.增加Oracle表空间 先查询数据文件名称.大小和路径的信息,语句如下: 复制代码 代码如下: select tablespace_name,file_id,bytes,file_name fr

Oracle表空间查看sql使用情况_oracle

DBA在日常工作中,最重要的一点就是查看表空间的使用情况,去了解是否有表空间满了的情况出现. 具体方法和步骤如下所示: 第一步:打开PLSQL 第二步:新建一个SQL窗口 第三步:输入代码: select a.tablespace_name tablespace_name ,nvl(ceil((1 - b.free / a.total) * 100), 100) "usage_of_tablespace%" ,nvl(b.free, 0) "left_space(M)&quo

Oracle 数据库表空间容量调整脚本

  (表空间缩容脚本)] --1.获取需要释放空间的表空间信息(包含oracle database自有表空间) --drop table system.tbs_detail; create table system.tbs_detail as select a.tablespace_name, a.bytes/1024/1024 "Sum_MB", (a.bytes-b.bytes)/1024/1024 "used_MB", b.bytes/1024/1024 &q