oracle 数据库怎么查看temp表空间使用情况

oracle 数据库怎么查看temp表空间使用情况,第1张

查看临时表空间的使用情况(GV_$TEMP_SPACE_HEADER视图必须在sys用户下才能查询)

GV_$TEMP_SPACE_HEADER视图记录了临时表空间的使用大小与未使用的大小

dba_temp_files视图的bytes字段记录的是临时表空间的总大小:

SELECT temp_used.tablespace_name,

      total - used as "Free",

      total as "Total",

      round(nvl(total - used, 0) * 100 / total, 3) "Free percent"

 FROM (SELECT tablespace_name, SUM(bytes_used) / 1024 / 1024 used

         FROM GV_$TEMP_SPACE_HEADER

        GROUP BY tablespace_name) temp_used,

      (SELECT tablespace_name, SUM(bytes) / 1024 / 1024 total

         FROM dba_temp_files

        GROUP BY tablespace_name) temp_total

WHERE temp_used.tablespace_name = temp_total.tablespace_name

ORDER BY B.TABLESPACE, B.SEGFILE#, B.SEGBLK#, B.BLOCKS

temp表空间过大时,可通过如下方法重建

SQL>create temporary tablespace temp2 tempfile '/opt/oracle/oradata/conner/temp1.dbf' size 200M autoextend off

SQL>alter database default temporary tablespace temp2

SQL>drop tablespace temp

或者SQL>drop tablespace temp including contents and datafiles cascade constraints(彻底删除包括 *** 作系统中的临时表空间的数据文件)

最后在 *** 作系统上把temp的文件删除,就可以释放空间。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10867197.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存