资源描述:
《查看表、表空间实际大小》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、查看指定表空间下最大的前10个表Select*from(selectSEGMENT_NAME,SEGMENT_TYPE,bytes/1024/1024totalfromdba_segmentswhereTABLESPACE_NAME='SMS_DATA'orderbybytes/1024/1024desc)whererownum<20;查看自动增长SELECTFILE_NAME,TABLESPACE_NAME,AUTOEXTENSIBLEFROMDBA_DATA_FILESwhereTABLESPACE_NAME='
2、SYSTEM';查看所有表空间大小Selecttablespace_name,sum(bytes)/1024/1024fromdba_data_filesgroupbytablespace_name;未使用的表空间大小Selecttablespace_name,sum(bytes)/1024/1024fromdba_free_spacegroupbytablespace_name;查看所有表空间对应的文件selectfile_name,tablespace_name,bytesfromdba_data_fileswh
3、eretablespace_name='SMS_DATA';selectfile_name,tablespace_name
4、
5、','
6、
7、bytesfromdba_data_filesOracle中有两种含义的表大小一种是分配给一个表的物理空间数量,而不管空间是否被使用。可以这样查询获得字节数:selectsegment_name,bytesfromuser_segmentswheresegment_type=TABLE;效果如下:或者 SelectSegment_Name,Sum(bytes)/1024/1024f
8、romUser_ExtentsGroupBySegment_Name;效果如下:【这个查询速度慢】 上两图结果所示,查询均为10896M分配给表的大小下图查询出该表当前占用的实际空间大小另一种表实际使用的空间。这样查询:analyzetableempcomputestatistics;selectnum_rows*avg_row_lenfromuser_tableswheretable_name=EMP;--EMP为表名(表名大写查询)效果如下: 该表实际占用空间大小为9506M左右。 附:查看每个表空间的大小S
9、electTablespace_Name,Sum(bytes)/1024/1024fromDba_SegmentsGroupByTablespace_Name1.查看剩余表空间大小 SELECTtablespace_name表空间,sum(blocks*8192/1000000)剩余空间Mfromdba_free_spaceGROUPBYtablespace_name; 2.检查系统中所有表空间总体空间selectb.name,sum(a.bytes/1000000)总空间fromv$datafilea,v$tabl
10、espacebwherea.ts#=b.ts#groupbyb.name; 3.查询整个数据库剩余和使用的表空间大小使用情况:selectdf.tablespace_name"表空间名",totalspace"总空间M",freespace"剩余空间M",round((1-freespace/totalspace)*100,2)"使用率%"from(selecttablespace_name,round(sum(bytes)/1024/1024)totalspacefromdba_data_filesgroupbyt
11、ablespace_name)df,(selecttablespace_name,round(sum(bytes)/1024/1024)freespacefromdba_free_spacegroupbytablespace_name)fswheredf.tablespace_name=fs.tablespace_name;效果如下: 【临时表空间大小查询】1、使用如下语句查看一下认谁在用临时段SELECTs.username,s.sid,s.serial#,s.sql_address,s.machine,s.pro
12、gram,su.tablespace,su.segtype,su.contentsFROMv$sessions,v$sort_usagesuWHEREs.saddr=su.session_addr;2、那些正在使用临时段的进程SQL>Altersystemkillsession'sid,serial#';3、把TEMP表空间回缩一下SQL>Al