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为 普通数据占用空间+回收站数据占用空间 总和

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容