天天看点

如何查看oracle的表空间使用情况

查询当前数据库有哪些表

oracle 查询表的大小,表空间的使用情况,默认表空间

–查看某张表占用磁盘空间大小 ( 表名大写 )

查看用户默认表空是那个

–表空间空闲

select  tablespace_name, sum(bytes)/(*)   as   free_space  
from   dba_free_space  
group   by   tablespace_name;
           

–查看数据库表空间的使用情况

select b.file_name 物理文件名,
       b.tablespace_name 表空间,
       b.bytes /  /  大小M,
       (b.bytes - sum(nvl(a.bytes, ))) /  /  已使用M,
       substr((b.bytes - sum(nvl(a.bytes, ))) / (b.bytes) * , , ) 利用率
  from dba_free_space a, dba_data_files b
 where a.file_id = b.file_id
 group by b.tablespace_name, b.file_name, b.bytes
 order by b.tablespace_name
           

–编辑扩大表空间,将表空间扩大到2M

若不知道 ‘/oradata/rszpdb/TEST1.dbf’ 这个地址,

可使用一下语句查询:

select b.file_name 物理文件名 from dba_free_space a, dba_data_files b
 where a.file_id = b.file_id and b.tablespace_name = '表空间名'
 group by b.tablespace_name, b.file_name, b.bytes
           

–通过扩大数据文件来增大表空间,将表空间 RCMT_TEST 扩大1G (实际用)

alter tablespace RCMT_TEST add datafile '/oradata/rszpdb/RCMT_TEST2.dbf' size G;
/oradata/rszpdb/RCMT_TEST2.dbf:不能跟原来的数据文件名称一样
           

(原来:/oradata/rszpdb/RCMT_TEST1.dbf)

RCMT_TEST:表空间

1G:扩大1G

在原来数据文件 RCMT_TEST1.dbf 所拥有的空间使用完之后,会自动使用 RCMT_TEST2.dbf 的空间。