① 查看所有表空间大小
group by tablespace_name;
from dba_free_space
select a.tablespace_name,total,free,total-free used from
total from dba_data_files
group by tablespace_name) a,
group by tablespace_name) b
where a.tablespace_name=b.tablespace_name;
SQL spool out.txt
SQL select * from v$database;
SQL spool off
现有数据量的大小,可以通过
dba_segments表内的bytes字段,这个不是完全正确, 不过基本来说还比较靠谱.
这个数据量是以字节为单位的.如果要查条数,那么就真的没有什么办法了,但是如果你每天都分析表,那么还可以在统计信息的表内查到,如果不是每天统计,那么基本就没有办法了.
查看的方法和详细的操作步骤如下:
①.、首先,因为oracle在Linux系统下运行,所以必须连接到Linux系统,如下图所示,然后进入下一步.
输入命令"sqlplus / as sysdba",如下图所示,然后进入下一步.
对于Oracle数据库而言磁盘空间主要体现在表空间上,可使用sql语句进行查看Oracle 表空间的大小及使用情况:
①.、查看表空间的名称及大小
FROM dba_tablespaces t, dba_data_files d
WHERE t.tablespace_name = d.tablespace_name
GROUP BY t.tablespace_name;
SELECT tablespace_name,
file_id,
file_name,
FROM dba_data_files
ORDER BY tablespace_name;
SELECT segment_name,
tablespace_name,
r.status,
max_extents,
v.curext curextent
FROM dba_rollback_segs r, v$rollstat v
WHERE r.segment_id = v.usn(+)
ORDER BY segment_name;
SELECT NAME FROM v$controlfile;
SELECT MEMBER FROM v$logfile;
FROM dba_free_space
GROUP BY tablespace_name;
SELECT a.tablespace_name,
a.bytes total,
b.bytes used,
c.bytes free,
(b.bytes * 100) / a.bytes "% USED ",
(c.bytes * 100) / a.bytes "% FREE "
FROM sys.sm$ts_avail a, sys.sm$ts_used b, sys.sm$ts_free c
WHERE a.tablespace_name = b.tablespace_name
AND a.tablespace_name = c.tablespace_name;
SELECT owner, object_type, status, COUNT(*) count#
FROM all_objects
GROUP BY owner, object_type, status;
SELECT version
FROM product_component_version
SELECT created, log_mode, log_mode FROM v$database;
SELECT a.tablespace_name "表空间名",
total "表空间大小",
free "表空间剩余大小",
(total - free) "表空间使用大小",
FROM (SELECT tablespace_name, SUM(bytes) free
GROUP BY tablespace_name) a,
(SELECT tablespace_name, SUM(bytes) total
GROUP BY tablespace_name) b
在Oracle中查看各表及表空间占用空间大小可用sql语句执行查看.
Oracle版本:Oracle 10g
第一段:查看表占用空间大小语句:
from?dba_segments?t
where?t.segment_type='TABLE'
group?by?OWNER,?t.segment_name,?t.segment_type;
查询结果:
第二段:查看表空间占用空间大小语句:
from?
(select?tablespace_name,sum(bytes)?bytes?from?dba_data_files?group?by?tablespace_name)?a,?
(select?tablespace_name,sum(bytes)?bytes,max(bytes)?largest?from?dba_free_space?group?by?tablespace_name)?b?
where?a.tablespace_name=b.tablespace_name?
order?by?((a.bytes-b.bytes)/a.bytes)?desc
你说的是查看表空间的使用情况吧
--查询表空间的总容量
from?dba_data_files
group?by?tablespace_name;
一般表空间都设置了自动增长.内存不够会自动递增
以上就是土嘎嘎小编为大家整理的如何知道oracle容量相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!