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

来源:互联网 发布:好听的淘宝会员名女 编辑:程序博客网 时间:2024/06/10 03:00

当前实例以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
 
0 0
原创粉丝点击