Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在没有dba_*元表的oracle上查找表空间大小_Oracle_Oracle10g - Fatal编程技术网

在没有dba_*元表的oracle上查找表空间大小

在没有dba_*元表的oracle上查找表空间大小,oracle,oracle10g,Oracle,Oracle10g,我需要找到Oracle 10g中db的当前表空间大小。环顾四周,我发现许多脚本使用诸如dba_扩展数据块之类的表来确定大小,但我使用的数据库没有这些dba_*表 (我使用它作为查找表大小的代理,这很复杂,因为大多数表大小都是BLOB。)dba视图是数据字典的一部分,存在于每个Oracle数据库中。它们在sys模式中,如果您无法查询它们,可能只是意味着您没有对它们的SELECT访问权限 如果要检查的表在架构中,则可以使用用户扩展数据块替换dba扩展数据块,这样查询就可以正常工作 下面是我的建议,让

我需要找到Oracle 10g中db的当前表空间大小。环顾四周,我发现许多脚本使用诸如dba_扩展数据块之类的表来确定大小,但我使用的数据库没有这些dba_*表


(我使用它作为查找表大小的代理,这很复杂,因为大多数表大小都是BLOB。)

dba视图是数据字典的一部分,存在于每个Oracle数据库中。它们在sys模式中,如果您无法查询它们,可能只是意味着您没有对它们的SELECT访问权限

如果要检查的表在架构中,则可以使用用户扩展数据块替换dba扩展数据块,这样查询就可以正常工作

下面是我的建议,让脚本告诉您的模式中表的大小(包括索引):


DBA.*
视图是视图的一部分,通常每个视图都有三个版本,
DBA.
显示所有内容,
ALL.
显示您可以访问的内容,
USER.
将显示您拥有的内容,而不会有
OWNER

例如,
DBA\u TABLES
拥有所有表,
all\u TABLES
是您可以从中选择的表,
USER\u TABLES
是您拥有的表

视图记录在中。如果您需要从
DBA\uu
转换为
ALL\u
USER\u
,这是一个很好的资源

不幸的是,
\u区段
只有DBA和用户版本。因此,如果您需要有关您可以访问但不拥有的对象的信息,则需要向常驻DBA寻求帮助

select segment_name, segment_type, bytes/1024/1024 as size_in_mb
from user_segments
where segment_name = :YOUR_TABLE
  or segment_name in (select segment_name from user_lobs where table_name = :YOUR_TABLE)
  or segment_name in (select index_name from user_indexes where table_name = :YOUR_TABLE);