4

我的 oracle 数据库中只有物化视图(行数很少),除了我的数据库之外什么都没有:

Error report:
SQL Error: ORA-12953: The request exceeds the maximum allowed database size of 11 GB

select sum(size_in_mb) from 
(
SELECT owner,
       segment_name,
       segment_type,
       sum(bytes)/1024/1024 size_in_mb
  FROM dba_segments
 WHERE owner NOT IN ('SYS','SYSTEM')
 GROUP BY owner, 
          segment_name,
          segment_type
 ORDER BY SUM(bytes)/1024/1024
 );

我如何找到在 oracle 中使用了多少空间?

4

2 回答 2

5

我从错误中假设您使用的是数据库的快速版本。

SELECT owner,
       segment_name,
       segment_type,
       sum(bytes)/1024/1024 size_in_mb
  FROM dba_segments
 WHERE owner NOT IN ('SYS','SYSTEM')
 GROUP BY owner, 
          segment_name,
          segment_type
 ORDER BY SUM(bytes)/1024/1024

将向您显示用户拥有的对象的大小,而不是SYS按其SYSTEM大小(以 MB 为单位)排序。

于 2012-05-31T05:33:16.503 回答
3

有几个 DBA 视图,它们着眼于“空间”的几个不同方面:

* dba_free_space

* dba_data_files

* dba_tablespaces

以下是几个简单且有用的脚本:

我肯定会看看这些脚本:

于 2012-05-31T05:32:59.610 回答