oracle 查询表的大小,表空间的使用情况,默认表空间
oracle 查询表的大小,表空间的使用情况,默认表空间
--查看某张表占用磁盘空间大小 ( 表名大写 )
Select Segment_Name,Sum(bytes)/1024/1024 From User_Extents Group By Segment_Name having Segment_Name='表名';
查看用户默认表空是那个
select username,default_tablespace from dba_users where username='SCOTT';
--表空间空闲
select tablespace_name, sum(bytes)/(1024*1024) as free_space
from dba_free_space
group by tablespace_name;
--查看数据库表空间的使用情况
select b.file_name 物理文件名,
b.tablespace_name 表空间,
b.bytes / 1024 / 1024 大小M,
(b.bytes - sum(nvl(a.bytes, 0))) / 1024 / 1024 已使用M,
substr((b.bytes - sum(nvl(a.bytes, 0))) / (b.bytes) * 100, 1, 5) 利用率
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
alter database datafile '/oradata/rszpdb/TEST1.dbf' resize 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 1G;
/oradata/rszpdb/RCMT_TEST2.dbf:不能跟原来的数据文件名称一样(原来:/oradata/rszpdb/RCMT_TEST1.dbf)
RCMT_TEST:表空间
1G:扩大1G
在原来数据文件 RCMT_TEST1.dbf 所拥有的空间使用完之后,会自动使用 RCMT_TEST2.dbf 的空间。