当前位置:首页>开发>正文

Oracle怎么查看表的大小 如何查看oracle表空间已使用大小

2023-06-08 23:23:27 互联网 未知 开发

 Oracle怎么查看表的大小 如何查看oracle表空间已使用大小

Oracle怎么查看表的大小?

有两种含义的表大小。一种是分配给一个表的物理空间数量,而不管空间是否被使用。可以这样查询获得字节数:

select segment_name, bytes 
from user_segments 
where segment_type = TABLE 
或者
Select Segment_Name,Sum(bytes)/1024/1024 From User_Extents Group By Segment_Name

另一种表实际使用的空间。这样查询:

analyze table emp compute statistics 
select num_rows * avg_row_len 
from user_tables 
where table_name = EMP

查看每个表空间的大小
Select Tablespace_Name,Sum(bytes)/1024/1024 From Dba_Segments Group By Tablespace_Name

如何查看oracle表空间已使用大小

1.查看所有表空间大小:
Sql代码 select tablespace_name,sum(bytes)/1024/1024 from dba_data_files group by tablespace_name 2.已经使用的表空间大小: Sql代码 select tablespace_name,sum(bytes)/1024/1024 from dba_free_space group by tablespace_name 3. 所以使用空间可以这样计算: Sql代码 select a.tablespace_name,total,free,total-free used from ( select tablespace_name,sum(bytes)/1024/1024 total from dba_data_files group by tablespace_name) a, ( select tablespace_name,sum(bytes)/1024/1024 free from dba_free_space group by tablespace_name) b where a.tablespace_name=b.tablespace_name

oracle怎样计算一个表占用的空间的大小?有没有查询语句?

语句的话用
select owner,table_name,
NUM_ROWS,
BLOCKS*AAA/1024/1024 "Size M",
EMPTY_BLOCKS,
LAST_ANALYZED
from dba_tables
where table_name=XXX

表名处要大写
AAA is the value of db_block_size

oracle表空间查询语句。

查询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.file_id=b.file_id
  group by b.tablespace_name,b.file_name,b.file_id,b.bytes
  order by b.tablespace_name

如何查看oracle中某个用户占用表空间大小情况

可以通过以下语句查看所有的表空间大小:
sql:SELECT C.TABLESPACE_NAME,A.BYTES/1048576 MEGS_TOTAL,(A.BYTES-B.BYTES)/1048576 MEGS_USED,
B.BYTES/1048576 MEGS_FREE,(A.BYTES-B.BYTES)/A.BYTES * 100 PCT_USED, B.BYTES/A.BYTES * 100 PCT_FREE
FROM (SELECT TABLESPACE_NAME,SUM(A.BYTES) BYTES,MIN(A.BYTES) MINBYTES,MAX(A.BYTES) MAXBYTES FROM SYS.DBA_DATA_FILES A
GROUP BY TABLESPACE_NAME) A,(SELECT A.TABLESPACE_NAME,NVL(SUM(B.BYTES),0) BYTES
FROM SYS.DBA_DATA_FILES A,SYS.DBA_FREE_SPACE B WHERE A.TABLESPACE_NAME = B.TABLESPACE_NAME ( ) AND A.FILE_ID = B.FILE_ID ( )
GROUP BY A.TABLESPACE_NAME) B,SYS.DBA_TABLESPACES C
WHERE A.TABLESPACE_NAME = B.TABLESPACE_NAME( ) AND A.TABLESPACE_NAME = C.TABLESPACE_NAME ORDER BY 6
备注:如果是查询特定的可以在外面在嵌套一层select * from(sql)t1 where t1.TABLESPACE_NAME=表空间名称的形式即可。

如何查看oracle表空间大小的使用情况

1、查看临时表空间 (dba_temp_files视图)(v_$tempfile视图) select tablespace_name,file_name,bytes/1024/1024 file_size,autoextensible from dba_temp_files select status,enabled, name, bytes/1024/1024 file_size from v_$tempfile...

如何在oracle数据库里的所有表大小

是要统计所有表的大小?
select sum(bytes)/1024/1024/1024 GB
from dba_segments
where segment_type=TABLE

最新文章