没有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
没有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; 查看自己用户下的索引分区
select * from USER_TABLESPACES;
select * from USER_TAB_PARTITIONS;
select * from USER_EXTENTS;
select * from USER_INDEXES;
select * from USER_IND_PARTITIONS;