分享

减少临时表使用空间的几种方法

 丑的不明显 2010-10-28
减少临时表使用空间的几种方法
1、 第一种方式,直接resize tempfile , 虽然简单,但是很容易无效 


sys@mescp> select tablespace_name,file_name ,2 file_id,bytes/1024/1024 as "size(M)"3 from dba_temp_files4 /TABLESPACE_NAME FILE_NAME FILE_ID size(M)
-------------------- ---------------------------------- ---------- ----------TEMP /orabin/oradata/mescp/temp01.dbf 1 1024TEMP /orabin/oradata/mescp
/tmp1_01.dbf 2 40962 rows selected.sys@mescp> alter database tempfile
 1 resize 16M;alter database tempfile 1 resize 16M*ERROR at line 1:ORA-03297: file contains used data beyond requested RESIZE value-- 失败了 

  2、第二种,建立另一个临时表空间,并把它设为default temporary tablespace,再删除原来的temporary tablespace以及tempfile。  

     
  需要切换,复杂了点…… 

  3、我提供的方式 

sys@mescp> alter database tempfile 1 drop ;Database altered.sys@mescp> 
alter tablespace temp add tempfile2 ’/orabin/oradata/mescp/temp01.dbf’3 size 16M reuse autoextend on next 16M maxsize 4096M;Tablespace 
altered.sys@mescp> alter database tempfile 2 drop ;Database altered.sys@mescp
> alter tablespace temp add tempfile2 ’/orabin/oradata/mescp/tmp1_01.dbf’3sys@mescp> 3 size 16M reuse autoextend on next 16M maxsize 4096M;sys@mescp
> /Tablespace altered.sys@mescp> select tablespace_name,file_name ,2 file_id,
bytes/1024/1024 as "size(M)"3 from dba_temp_files4 /TABLESPACE_NAME FILE_NAME FILE_ID size(M)
-------------------- ---------------------------------- ---------- ----------TEMP /orabin/oradata/mescp/temp01.dbf 1 16TEMP /orabin/oradata/mescp/
tmp1_01.dbf 2 162 rows selected. 

  无需重新建立temporary tablespace,无需修改database的default temporary tablespace
减少临时表使用空间的几种方法


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多