Oracle查看表空间使用情况以及创建(修改)表空间

本文总结了Oracle数据库表空间使用情况查询,以及创建表空间、表空间扩容、设置表空间自增长、删除表空间的实现方式,可以处理表空间空间不足时提供处理方案。

查看表空间使用情况

select upper(f.tablespace_name) "表空间名",
           d.tot_grootte_mb "表空间大小(M)",
           d.tot_grootte_mb - f.total_bytes "已使用空间(M)",
           to_char(round((d.tot_grootte_mb - f.total_bytes) / d.tot_grootte_mb * 100,
                        2),
                  '990.99') "使用比",
           f.total_bytes "空闲空间(M)",
           f.max_bytes "最大块(M)"
      from (select tablespace_name,
                  round(sum(bytes) / (1024 * 1024), 2) total_bytes,
                  round(max(bytes) / (1024 * 1024), 2) max_bytes
             from sys.dba_free_space
            group by tablespace_name) f,
          (select dd.tablespace_name,
                  round(sum(dd.bytes) / (1024 * 1024), 2) tot_grootte_mb
             from sys.dba_data_files dd
            group by dd.tablespace_name) d
    where d.tablespace_name = f.tablespace_name
    order by 4 desc;

Oracle查看表空间使用情况以及创建(修改)表空间_第1张图片

创建表空间

创建表空间名称为:test_tablespace,文件路径存放在:D:\ORACLE\ORADATA\ORCL\test_space.DBF,初始化大小512MB,自增长单次扩容50MB,表空间最大空间1G。

create tablespace test_tablespace
datafile 'D:\ORACLE\ORADATA\ORCL\test_space.DBF' 
		size 512M autoextend on next 50M maxsize 1024M;	

执行SQL查询创建表空间的结果。

select t.FILE_ID,t.TABLESPACE_NAME,t.FILE_NAME from sys.dba_data_files t ;

Oracle查看表空间使用情况以及创建(修改)表空间_第2张图片

修改表空间

  1. 新增表空间文件为表空间扩容
    为 test_tablespace表空间新增文件D:\ORACLE\ORADATA\ORCL\test_space02.DBF,初始化大小为:512MB,自增长单次扩容20MB,表空间不限大小。
alter tablespace test_tablespace add datafile 'D:\ORACLE\ORADATA\ORCL\test_space02.DBF' 
size 512m autoextend on next 20m maxsize unlimited;	
  1. 修改数据文件为表空间扩容
    修改为自增长模式,单次扩容20MB,表空间最大5G。
alter database datafile 'D:\ORACLE\ORADATA\ORCL\test_space.DBF'
 autoextend on next 50m maxsize 5120m;

执行SQL查询创建表空间的结果,以及查看文件路径下生成的文件。

select t.FILE_ID,t.TABLESPACE_NAME,t.FILE_NAME from sys.dba_data_files t ;

Oracle查看表空间使用情况以及创建(修改)表空间_第3张图片
Oracle查看表空间使用情况以及创建(修改)表空间_第4张图片

删除表空间

  1. 只删除表空间
drop tablespace test_tablespace;
  1. 删除表空间以及表空间文件
drop tablespace test_tablespace including contents and datafiles cascade constraint;

你可能感兴趣的:(Oracle,SQL,Oracle,tablespace,表空间,扩容,自增长)