数据库partition:ORACLE-获取每个分区的数据库大小

关于数据库partition的问题,在oracle partitions中经常遇到, 我正在寻找一个 SQL 查询给我这样的输出:

我正在寻找一个 SQL 查询给我这样的输出:

table_owner  table_name  partition_name  data (bytes)  indexes (bytes)
MY_OWNER     MY_TABLE    P01             12345678      23456789
MY_OWNER     MY_TABLE    P02             34567890      45678901
MY_OWNER     MY_TABLE    P03             56789012      67890123
...

我访问了How do I calculate tables size in Oracle,但没有找到我想要的,因为它总是每个表,每个所有者 / 模式,但从来没有每个分区。

我知道以字节为单位的数量可能并不能真正代表现实,因为它可能是“磁盘中的真实字节”和 / 或“预分配的字节”(实际数据只能使用此预分配空间的 1 %),但我开放这个值,即使它是预分配的或实际使用的字节量。

UsingOracle 18c Enterprise

我们做关心系统表,ORACLE 表,维护表等,只关注自己为数据创建的表

表空间名称ALWAYS对于同一架构中所有表中的所有分区都是相同的,当然每个表空间名称对于每个架构都是不同的

不需要舍入KbMbGb甚至Tb,如果可能的话,我更喜欢它在bytes

不需要 pourcentage,不需要可用的最大空间

I only usepartitions,NOTanysubpartitions

如果我们需要循环每个模式,表和分区,我可以使用 PL / SQL 块

猜测我可以由任何用户运行此查询

有什么想法吗?

1

嗨,像这样的东西?我们使用我修改过的类似查询。您将不得不根据需要更改您的 ORDER BY 子句,并且可能将其限制为一个所有者,因为它可能需要很长时间在整个数据库中。出于这个原因,我们不加入大小的段,而只查看行和块。

select "OWNER", "OBJECT", "TYPE", "PARTITION_NAME", "NUM_ROWS", "GB", "PARTITION_POSITION", "DUMMY"
from ((select tp.table_owner owner, tp.TABLE_NAME object, 'TABLE' type, tp.PARTITION_NAME,ROUND(s.bytes/1024/1024/1024, 2) GB, tp.NUM_ROWS,tp.PARTITION_POSITION, 1 dummy
  from dba_tab_partitions tp, dba_tables t, dba_segments s
  where t.table_name=tp.table_name and t.table_name=s.segment_name )
union 
 (select ip.index_owner owner,ip.INDEX_NAME object, 'INDEX' type, ip.PARTITION_NAME,ROUND(s.bytes/1024/1024/1024, 2) GB,ip.NUM_ROWS, ip.PARTITION_POSITION, 2 dummy
  from dba_ind_partitions ip, dba_indexes i, dba_tables t, dba_segments s
   where i.index_name=ip.index_name and i.table_name=t.table_name and i.index_name=s.segment_name )
union 
(select lp.table_owner owner,lp.LOB_NAME object, 'LOB' type, lp.PARTITION_NAME, 0, ROUND(s.bytes/1024/1024/1024, 2) GB,lp.PARTITION_POSITION, 3 dummy 
from dba_lob_partitions lp, dba_tables t, dba_segments s
  where t.table_name=lp.table_name and t.table_name=s.segment_name ))
order by 8,1,2,7;

本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处

(923)
Cineman渲染器:Gamebryo渲染器未重置
上一篇
Cost的三次方求导:解析求解三次方程的函数(depressed cubic formula)
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(6条)