查询临时表空间大小及压缩空间大小

--查询临时表空间
select f.tablespace_name,
d.file_name "tempfile name",
round((f.bytes_free + f.bytes_used) / 1024 /1024, 2) "total mb",
round(((f.bytes_free + f.bytes_used) -nvl(p.bytes_used, 0)) / 1024 / 1024, 2) "free mb" ,
round(nvl(p.bytes_used, 0)/ 1024 / 1024, 2)"used mb",
round((round(nvl(p.bytes_used, 0)/ 1024 /1024, 2)/round((f.bytes_free + f.bytes_used) / 1024 / 1024, 2))*100,2) as"used_rate(%)"
from sys.v_$temp_space_header f,dba_temp_files d, sys.v_$temp_extent_pool p
where f.tablespace_name(+) = d.tablespace_name
and f.file_id(+) = d.file_id
and p.file_id(+) =d.file_id;

执行temp 表空间的online shrink 操作:

--将临时表空间 temp_data 压缩到 100m 如果不指定 keep 会压缩到最小2m 建议加上 keep
alter tablespace temp_data shrink space keep 100m;

也可以对某个 表空间中的数据文件进行压缩
select * from dba_temp_files; --查数据文件

alter tablespace temp_ha_wxzj_data shrink tempfile ‘c:\app\administrator\oradata\orcl\temp_ha_wxzj_data.dbf‘ keep 50m

---------------------------------------------------------------------------------------------------------------------------------

时间: 2024-08-30 13:17:53

查询临时表空间大小及压缩空间大小的相关文章

Oracle查询临时表空间

1.查看临时表分区 SELECT * FROM (SELECT USERNAME, SESSION_ADDR, SQL_ID, CONTENTS, SEGTYPE, BLOCKS * 8 / 1024 / 1024 GB FROM V$SORT_USAGE ORDER BY BLOCKS DESC) WHERE ROWNUM <= 200; 2.查看临时表空间 select * from (Select a.tablespace_name, to_char(a.bytes / 1024 / 10

临时表空间的查询与压缩

--查询临时表空间select f.tablespace_name,d.file_name "tempfile name",round((f.bytes_free + f.bytes_used) / 1024 /1024, 2) "total mb",round(((f.bytes_free + f.bytes_used) -nvl(p.bytes_used, 0)) / 1024 / 1024, 2) "free mb" ,round(nvl(

解决临时表空间的报错

报错信息:[HY000](1652) [Oracle][ODBC][Ora]ORA-01652: 无法通过 128 (在表空间 TEMP 中) 扩展 temp 段 原因分析:oracle临时表空间不足,事务执行一般将会报ora-01652无法扩展临时段的错误.因为oracle总是尽量分配连续空间,一旦没有足够的可分配空间或者分配不连续就会出现上述的现象. 回忆下临时表空间的作用: 临时表空间主要用途是在数据库进行排序运算[如创建索引.order by及group by.distinct.unio

创建表空间和临时表空间

  查看数据文件存放路径select FILE_ID,FILE_NAME,TABLESPACE_NAME,AUTOEXTENSIBLE from dba_data_files order by file_id;   create tablespace 表名 datafile '绝对路径' size 大小(M/G)AUTOEXTEND ON NEXT 100M; alter temporary tablespace temp add tempfile '/oracle/smp/sapdata1/s

临时表空间

1.查看临时表空间 (dba_temp_files视图)(v_$tempfile视图) select tablespace_name,file_name,bytes/1024/1024 file_size,autoextensible from dba_temp_files; select status,enabled, name, bytes/1024/1024 file_size from v_$tempfile;--sys用户查看   2.缩小临时表空间大小 alter database

临时表空间作用

临时表空间主要用途是在数据库进行排序运算[如创建索引.order by及group by.distinct.union/intersect/minus/.sort-merge及join.analyze命令].管理索引[如创建索 引.IMP进行数据导入].访问视图等操作时提供临时的运算空间,当运算完成之后系统会自动清理. 当临时表空间不足时,表现为运算速度异常的慢,并且临时表空间迅速增长到最大空间(扩展的极限),并且一般不会自动清理了. 如果临时表空间没有设置为自动扩展,则临时表空间不够时事务执行

临时表空间的增删改查

1.查看临时表空间 (dba_temp_files视图)(v_$tempfile视图)select tablespace_name,file_name,bytes/1024/1024 file_size,autoextensible from dba_temp_files;select status,enabled, name, bytes/1024/1024 file_size from v_$tempfile;--sys用户查看 2.缩小临时表空间大小alter database tempf

ORACLE 临时表空间清理

Oracle临时表空间主要用来做查询和存放一些缓冲区数据.临时表空间消耗的主要原因是需要对查询的中间结果进行排序.临时表空间的主要作用: 索引create或rebuildOrder by 或 group byDistinct 操作Union 或 intersect 或 minusSort-merge joinsanalyze 重启数据库可以释放临时表空间,如果不能重启实例,而一直保持问题sql语句的执行,temp表空间会一直增长.即使重建了临时表空间,过一段时间后,临时表空间的使用率就达到99%

oracle临时表空间 ORA-01652:无法通过16(在表空间XXX中)扩展 temp 字段

今天在查数据的时候报错  ORA-01652:无法通过16(在表空间temp1中)扩展 temp 字段 查看表空间使用明细 SELECT b.tablespace, b.segfile#, b.segblk#, b.blocks, b.blocks * 32 / 1024 / 1024, a.sid, a.serial#, a.username, a.osuser, a.status, c.sql_text, b.contents FROM v$session a, v$sort_usage b