如何查看oracle中某个用户占用表空间大小情况
发布网友
发布时间:2022-04-22 21:45
我来回答
共4个回答
热心网友
时间:2022-04-07 21:26
可以通过以下语句查看所有的表空间大小:
sql:SELECT C.TABLESPACE_NAME,A.BYTES/1048576 MEGS_TOTAL,(A.BYTES-B.BYTES)/1048576 MEGS_USED,
B.BYTES/1048576 MEGS_FREE,(A.BYTES-B.BYTES)/A.BYTES * 100 PCT_USED, B.BYTES/A.BYTES * 100 PCT_FREE
FROM (SELECT TABLESPACE_NAME,SUM(A.BYTES) BYTES,MIN(A.BYTES) MINBYTES,MAX(A.BYTES) MAXBYTES FROM SYS.DBA_DATA_FILES A
GROUP BY TABLESPACE_NAME) A,(SELECT A.TABLESPACE_NAME,NVL(SUM(B.BYTES),0) BYTES
FROM SYS.DBA_DATA_FILES A,SYS.DBA_FREE_SPACE B WHERE A.TABLESPACE_NAME = B.TABLESPACE_NAME (+) AND A.FILE_ID = B.FILE_ID (+)
GROUP BY A.TABLESPACE_NAME) B,SYS.DBA_TABLESPACES C
WHERE A.TABLESPACE_NAME = B.TABLESPACE_NAME(+) AND A.TABLESPACE_NAME = C.TABLESPACE_NAME ORDER BY 6;
备注:如果是查询特定的可以在外面在嵌套一层select * from(sql)t1 where t1.TABLESPACE_NAME='表空间名称'的形式即可。
热心网友
时间:2022-04-07 22:44
不好意思。。失误
应该加SUM
select sum(bytes)/1024/1024 from user_extents;
要是用户有多个表空间数据的话可以在最后加个where tablespace_name=xxx;来限定某个表空间
热心网友
时间:2022-04-08 00:19
(1)以DBA权限登录数据库执行,查询全部表空间使用情况。
SELECT c.tablespace_name,a.bytes/1048576 Megs_Total,(a.bytes-b.bytes)/1048576 Megs_Used,
b.bytes/1048576 Megs_Free,(a.bytes-b.bytes)/a.bytes * 100 Pct_Used, b.bytes/a.bytes * 100 Pct_Free
FROM (SELECT tablespace_name,SUM(a.bytes) bytes,MIN(a.bytes) minbytes,MAX(a.bytes) maxbytes
FROM sys.DBA_DATA_FILES a
GROUP BY tablespace_name) a,(SELECT a.tablespace_name,NVL(SUM(b.bytes),0) bytes
FROM sys.DBA_DATA_FILES a,sys.DBA_FREE_SPACE b
WHERE a.tablespace_name = b.tablespace_name (+)
AND a.file_id = b.file_id (+)
GROUP BY a.tablespace_name) b,sys.DBA_TABLESPACES c
WHERE a.tablespace_name = b.tablespace_name(+)
AND a.tablespace_name = c.tablespace_name
ORDER BY 6;
(2)确认一下关心的用户所属表空间与上述全部表空间使用情况比对,即可知道结果
(3)DMP文件本身经过压缩,基本可按照4倍的比例考虑表空间已使用的容量,即:179M*4
热心网友
时间:2022-04-08 02:10
select sum(bytes)/1024/1024 from user_extents;
如何查看oracle中某个用户占用表空间大小情况
可以通过以下语句查看所有的表空间大小:sql:SELECT C.TABLESPACE_NAME,A.BYTES/1048576 MEGS_TOTAL,(A.BYTES-B.BYTES)/1048576 MEGS_USED,B.BYTES/1048576 MEGS_FREE,(A.BYTES-B.BYTES)/A.BYTES * 100 PCT_USED, B.BYTES/A.BYTES * 100 PCT_FREE FROM (SELECT TABLESPACE_NAME,SUM(A....
oracle 怎么查指定用户(例如scott)用到的表空间
1、首先我们开启Oracle管理工具,找到Tablespaces。2、首先要看的是表空间的总大小和使用状况以及当前状态。3、Free Space 里面是各个表中的相关大小信息(一个表空间可能有多个表在使用)。4、Objects 就如第三步中所提到的使用这个表空间的表明细。5、Script 是创建表空间的PL/SQL,我们可以去了解它的...
oracle查询序号最大的表空间的已经使用空间大小的sql语句
SELECT UPPER(F.TABLESPACE_NAME) "表空间名",D.TOT_GROOTTE_MB "表空间大小(M)",D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,2),'990.99') "使用比",F.TOTAL_BYTES "空闲空间(M)",F.M...
oracle中怎么查看一个用户所占的空间。用pl/sql能看嘛?还有怎么看表空...
查看一个用户所占的空间 用该用户登录 select sum(bytes)/1024/1024 MB from user_extents u 查看表空间还剩多少,用这个,还能看每个文件情况 select b.file_id文件ID,b.tablespace_name表空间,b.file_name 物理文件名,b.bytes 总字节数,(b.bytes-sum(nvl(a.bytes,0))) 已使用,sum(nvl(...
Oracle查询表空间大小及每个表所占空间的大小
Oracle数据库提供了强大的查询功能,可以轻松获取表空间及其内表的占用情况。首先,要查询所有表空间的大小、已用空间、剩余空间以及使用率和空闲率,只需运行相应的SQL语句即可。对于特定表的占用空间,只需将"TABLE_NAME"替换为需要查询的表名。创建数据库实例通常是通过Database Configuration Assistant这样...
如何在Oracle中查看各个表,表空间占用空间的大小
Oracle版本:Oracle 10g 一、查看表占用空间大小语句:select t.segment_name, t.segment_type, sum(t.bytes / 1024 / 1024) "占用空间(M)"from dba_segments twhere t.segment_type='TABLE'group by OWNER, t.segment_name, t.segment_type;查询结果:二、查看表空间占用空间大小语句:select ...
oralce数据库我想知道某个表空间分配的最大值该怎么查询
1.查询oracle表空间的使用情况 select b.file_id文件ID,b.tablespace_name表空间,b.file_name 物理文件名,b.bytes 总字节数,(b.bytes-sum(nvl(a.bytes,0))) 已使用,sum(nvl(a.bytes,0))剩余,sum(nvl(a.bytes,0))/(b.bytes)*100 剩余百分比 from dba_free_space a,dba_data_files...
如何查看oracle表空间大小的使用情况
如果非要查询使用情况,比如用了多少,那么就查询sys.sm$ts_used。不过也查询剩余空间,这样好查一些dba_free_space。
如何查看oracle表空间已使用大小
1. 查看所有表空间大小 SQL> select tablespace_name,sum(bytes)/1024/1024 from dba_data_files 2 group by tablespace_name;2. 已经使用的表空间大小 SQL> select tablespace_name,sum(bytes)/1024/1024 from dba_free_space 2 group by tablespace_name;3. 所以使用空间可以这样计算 select ...
怎么查看数据库用户使用的是那个表空间(oracle如何查看用户的表...
SQL:方法一:select dbf.tablespace_name,dbf.totalspace "总量(M)",dbf.totalblocks as 总块数,dfs.freespace "剩余总量(M)",dfs.freeblocks "剩余块数",(dfs.freespace / dbf.totalspace)100 "空闲比例"from (select t.tablespace_name,sum(t.bytes)/ 1024 / 1024 totalspace,sum(t....