Oracle:没有dba privs时如何检查表空间使用的空间

rubylouvre 阅读:77 2025-06-02 22:19:02 评论:0

我需要检查表空间使用的空间,但没有dba privs。有没有办法做到这一点?

请您参考如下方法:

不幸的是,如果没有对dba_free_spacedba_segments View 的明确许可,您将无法使用用户的默认表空间:

SELECT 
  ts.tablespace_name, 
  TO_CHAR(SUM(NVL(fs.bytes,0))/1024/1024, '99,999,990.99') AS MB_FREE 
FROM 
  user_free_space fs, 
  user_tablespaces ts, 
  user_users us 
WHERE 
  fs.tablespace_name(+)   = ts.tablespace_name 
AND ts.tablespace_name(+) = us.default_tablespace 
GROUP BY 
  ts.tablespace_name; 

如果您需要检查没有用户的表空间的大小,将其作为默认表空间,那么您就不得不回到DBA。
默认使用系统表空间进行测试:

使用应用程序表空间作为默认表空间进行测试:

此架构在dba View 上没有查询:
select * from dba_free_space; 
ORA-00942: table or view does not exist 
00942. 00000 -  "table or view does not exist" 
*Cause:     
*Action: 
Error at Line: 13 Column: 15 


标签:oracle
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号