查看所有表的使用空间

create table #tb(表名 sysname,记录数 int,保留空间 varchar(100),使用空间 varchar(100),索引使用空间 varchar(100),未用空间 varchar(100))
insert into #tb exec sp_MSForEachTable 'EXEC sp_spaceused ''?'''
--select * from #tb
go
SELECT
表名,
记录数,
cast(ltrim(rtrim(replace(保留空间,'KB',''))) as int)/1024/1024.00 共保留空间GB,
cast(ltrim(rtrim(replace(使用空间,'KB',''))) as int)/1024/1024.00 其中使用空间GB,
cast(ltrim(rtrim(replace(索引使用空间,'KB',''))) as int)/1024/1024.00 其中索引使用空间GB,
cast(ltrim(rtrim(replace(未用空间,'KB',''))) as int)/1024 未用空间MB
FROM #tb
WHERE cast(ltrim(rtrim(replace(保留空间,'KB',''))) as int)/1024 > 0 
--order by 记录数 desc
ORDER BY 共保留空间GB DESC
DROP TABLE #tb

### 查询 Oracle 数据库中所有空间的方法 在 Oracle 数据库中,可以使用以下 SQL 查询来获取数据库中的所有空间信息。这些查询利用了 Oracle 的数据字典视图 `dba_tablespaces` 和其他相关视图。 #### 查询所有空间的命令 以下是查询所有空间的 SQL 命令: ```sql SELECT tablespace_name, block_size, initial_extent, next_extent, min_extlen, status, contents, extent_management, allocation_type, segment_space_management FROM dba_tablespaces; ``` 此查询返回数据库中所有空间的详细信息,包括空间名称、块大小、初始扩展段、下一个扩展段、最小扩展长度、状态、内容类型、扩展管理方式、分配类型以及段空间管理方式[^1]。 #### 查询每个空间大小使用情况 如果需要查看每个空间的总大小和已使用空间,可以使用以下查询: ```sql SELECT tablespace_name, ROUND(SUM(bytes) / 1024 / 1024, 2) AS total_mb FROM dba_data_files GROUP BY tablespace_name; ``` 此查询通过汇总 `dba_data_files` 视图中的数据文件大小,计算每个空间的总大小(以 MB 为单位)[^3]。 同时,可以结合 `dba_free_space` 视图查询每个空间的剩余空间: ```sql SELECT tablespace_name, ROUND(SUM(bytes) / 1024 / 1024, 2) AS free_mb FROM dba_free_space GROUP BY tablespace_name; ``` 此查询返回每个空间的剩余空间(以 MB 为单位)[^3]。 #### 查询临时空间的信息 对于临时空间,可以使用以下查询获取相关信息: ```sql SELECT tablespace_name, extent_management, allocation_type, segment_space_management FROM dba_tablespaces WHERE contents = 'TEMPORARY'; ``` 此查询专门针对临时空间,返回其扩展管理方式、分配类型和段空间管理方式等信息[^2]。 #### 注意事项 - 如果当前用户没有访问 `DBA` 视图的权限,可以尝试使用 `USER_` 或 `ALL_` 系列视图,例如 `USER_TABLESPACES` 或 `ALL_TABLESPACES`。 - 在执行上述查询时,请确保数据库版本与查询兼容。例如,Oracle 10g 可能不支持某些较新的视图或字段[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值