无DBA权限查看oracle表空间大小

2024-12-21 11:33:33
推荐回答(3个)
回答1:

没有dba权限是没办法查询系统表的,也就没法查询所有的表空间大小。

如果是dba权限的话,或者授权给某个用户以下表的查看权限的话,可以通过以下语句查看:

  • 查看当前用户每个表占用空间的大小:

 Select Segment_Name,Sum(bytes)/1024/1024 From User_Extents Group By Segment_Name 

  •  查看每个表空间占用空间的大小: 

 Select Tablespace_Name,Sum(bytes)/1024/1024 From Dba_Segments Group By Tablespace_Name 查看O

  • 查看当前用户每个表占用空间的大小:

Select Segment_Name,Sum(bytes)/1024/1024 From User_Extents Group By Segment_Name 

  • 查看每个表空间占用空间的大小:

Select Tablespace_Name,Sum(bytes)/1024/1024 From Dba_Segments Group By Tablespace_Name

回答2:

没有DBA的权限,只能查看你自己的表空间的大小等.
只能查看v$以user开头的视图,也就是你自己用户下的一些相关的表空间,角色,对象等.
例如楼上列举的哪些

我给你解释一下他的哪些意思吧
select * from USER_TABLESPACES;就是查看你自己能访问的表空间
select * from USER_TAB_PARTITIONS;查看你自己用户下表分区
select * from USER_EXTENTS;查看你自己用户下的区
select * from USER_INDEXES;查看你自己用户所能访问的索引
select * from USER_IND_PARTITIONS; 查看自己用户下的索引分区

回答3:

select * from USER_TABLESPACES;
select * from USER_TAB_PARTITIONS;
select * from USER_EXTENTS;
select * from USER_INDEXES;
select * from USER_IND_PARTITIONS;