Oracle 表空间

Oracle表空间是Oracle数据库的一个逻辑划分

  • 表空间是数据库中最大的逻辑单位
  • 一个数据库可以有一个或多个表空间
  • 一个表空间对应一个或多个数据文件

dba_tablespaces
dba_data_files
问题:user_tablespaces和dba_tablespaces结果集的区别

创建表空间

create tablespace BSDATA
datafile '/data/oracle/oradata/orcl/bsdata01.dbf'
size 256M
autoextend on
next 64M
maxsize 20400M
extent management local;

删除表空间

drop tablespace BSDATA including contents and datafiles;

表空间大小统计

表空间的大小是它所对应的数据文件大小的总和

select
    tablespace_name,
    sum(bytes)/1024/1024/1024 as GB 
from dba_data_files group by tablespace_name;

表空间使用率统计

select
    tablespace_name,
    used_space,
    tablespace_size,
    round(used_percent,2) as "USED_PERCENT(%)"
from dba_tablespace_usage_metrics;

表空间使用率监控

oracle提供了相关的视图dba_hist_tbspc_space_usage

SQL> desc dba_hist_tbspc_space_usage;
 Name                Null?    Type         
------------------- -------- ------------ 
SNAP_ID                      NUMBER       
DBID                NOT NULL NUMBER       
TABLESPACE_ID                NUMBER       
TABLESPACE_SIZE              NUMBER       
TABLESPACE_MAXSIZE           NUMBER       
TABLESPACE_USEDSIZE          NUMBER       
RTIME                        VARCHAR2(25)

SQL>

说明:TABLESPACE_USEDSIZE为 普通数据占用空间+回收站数据占用空间 总和

你可能感兴趣的:(Oracle 表空间)