在Oracle中查询表的大小和表空间的大小

本文介绍如何在Oracle数据库中查询表空间及表的实际占用大小,包括分配给表的物理空间数量及其实际使用情况。提供了具体的SQL语句示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当前实例以scott用户登录,并创建dept表的副本dept_copy2为例。

有两种含义的表大小:

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


SQL> select segment_name, bytes
  2  from user_segments
  3  where segment_type = 'TABLE';
 
SEGMENT_NAME                                                                          BYTES
-------------------------------------------------------------------------------- ----------
DEPT_COPY2                                                                            65536
DEPT_COPY                                                                             65536
BIN$7Sa/taXJEKHgQ2kFqMCxMQ==$0                                                        65536
ITEMS                                                                                 65536
SALGRADE                                                                              65536
EMP                                                                                   65536
DEPT                                                                                  65536
 
7 rows selected


或者
SQL> Select Segment_Name,Sum(bytes)/1024/1024 From User_Extents Group By Segment_Name;
 
SEGMENT_NAME                                                                     SUM(BYTES)/1024/1024
-------------------------------------------------------------------------------- --------------------
DEPT                                                                                           0.0625
PK_DEPT                                                                                        0.0625
EMP                                                                                            0.0625
DEPT_COPY                                                                                      0.0625
DEPT_COPY2                                                                                     0.0625
ITEMS                                                                                          0.0625
PK_EMP                                                                                         0.0625
SALGRADE                                                                                       0.0625
 
8 rows selected


另一种表实际使用的空间。这样查询:
SQL> select table_name from user_tables;
 
TABLE_NAME
------------------------------
DEPT
EMP
BONUS
SALGRADEanalyze table emp compute statistics; 
ITEMS
DEPT_COPY
DEPT_COPY2


SQL> analyze table DEPT_COPY2 compute statistics;


SQL> desc dept_copy2;
Name   Type         Nullable Default Comments 
------ ------------ -------- ------- -------- 
DEPTNO NUMBER(2)    Y                         
DNAME  VARCHAR2(14) Y                         
LOC    VARCHAR2(13) Y  


查看每个表空间的大小
SQL> Select Tablespace_Name,Sum(bytes)/1024/1024 From Dba_Segments Group By Tablespace_Name;
 
TABLESPACE_NAME                SUM(BYTES)/1024/1024
------------------------------ --------------------
UNDOTBS1                                      15.25
SYSAUX                                     723.5625
USERS                                        3.8125
SYSTEM                                     733.4375
EXAMPLE                                     309.625
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值