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;


SELECT T.TABLESPACE_NAME,D.FILE_NAME,
D.AUTOEXTENSIBLE,D.BYTES,D.MAXBYTES,D.STATUS
FROM DBA_TABLESPACES T,DBA_DATA_FILES D
WHERE T.TABLESPACE_NAME =D.TABLESPACE_NAME
ORDER BY TABLESPACE_NAME,FILE_NAME;

### Oracle 数据库 查看 表空间 文件 绝对路径 方法 为了获取Oracle数据库中表空间文件的绝对路径,可以通过查询`dba_data_files`视图来实现。此视图包含了有关数据文件的信息,包括它们所在的物理位置。 ```sql SELECT tablespace_name, file_name, bytes/1024/1024 AS size_mb FROM dba_data_files; ``` 上述SQL语句不仅返回了表空间名称(`tablespace_name`)和对应的文件名全路径(`file_name`),还计算并显示了每个文件大小(单位转换成MB)。这有助于确认文件确实存在于指定的位置并且具有预期尺寸[^2]。 对于更详细的检查,如果需要验证特定用户的对象是否存放在某个表空间内,还可以进一步利用如下查询: ```sql SELECT segment_type, segment_name, tablespace_name FROM dba_segments WHERE owner = 'SCOTT'; ``` 这里通过`dba_segments`视图过滤出了属于用户`SCOTT`的所有段及其所处的表空间信息。这对于排查是否存在未被注意到的对象(比如CLOB字段)留在原表空间中有很大帮助[^3]。 另外一种方式是从`v$datafile`动态性能视图获得当前实例正在使用的数据文件列表,这种方法适用于想要了解整个实例的数据文件分布情况而不局限于某几个固定的表空间时使用: ```sql SELECT name "File Name", status, checkpoint_change#,.tablespace_name FROM v$datafile; ``` 这条命令同样提供了关于各个数据文件的状态以及所属表空间的关键细节[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值