oracle数据库中,查询素有表空间的名称只需要一条sql语句即可:
select tablespace_name from user_tablespaces;
结果输出如下图:
在上式的sql中,“user_tablespaces”即为表空间信息所在表,所需的表空间信息需要从该表中获取,“tablespace_name”即为表空间名称,
如果希望查询所有表空间名称和其他相关信息,可以将使用如下sql语句:
select * from user_tablespaces;
结果输出如下:
扩展资料:
针对表空间,还有其他的查询可供参考:
1、查看表空间的名称及对应大小
SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ts_size FROM
dba_tablespaces t, dba_data_files d WHERE t.tablespace_name =
d.tablespace_name GROUP BY t.tablespace_name;
输出结果如下:
2、查看表空间物理文件的名称及大小
SELECT tablespace_name, file_id, file_name, round(bytes / (1024 * 1024), 0) total_space
FROM dba_data_files ORDER BY tablespace_name;
输出结果为:
3、查询当前用户所有表名及其所属表空间
select table_name 表名 ,tablespace_name 所使用表空间 from user_tables;
输出结果为:
只查询名字的话用如下语句:
select tablespace_name from dba_tablespaces;
表空间含义:
表空间是数据库的逻辑划分,一个表空间只能属于一个数据库。所有的数据库对象都存放在指定的表空间中。但主要存放的是表, 所以称作表空间。
Oracle数据库中至少存在一个表空间,即SYSTEM的表空间。
select tablespace_name from dba_tablespaces;
select distinct tablespace_name from dba_temp_files;
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